Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
*.kdev4

Makefile.in
Makefile.vex.in
Makefile
.deps
.libs
Expand Down
31 changes: 15 additions & 16 deletions COPYING
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991

Copyright (C) 1989, 1991 Free Software Foundation, Inc.
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.

Preamble
Preamble

The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
Expand All @@ -15,7 +15,7 @@ software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Library General Public License instead.) You can apply it to
the GNU Lesser General Public License instead.) You can apply it to
your programs, too.

When we speak of free software, we are referring to freedom, not
Expand Down Expand Up @@ -56,7 +56,7 @@ patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.

GNU GENERAL PUBLIC LICENSE
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION

0. This License applies to any program or other work which contains
Expand Down Expand Up @@ -255,7 +255,7 @@ make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.

NO WARRANTY
NO WARRANTY

11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
Expand All @@ -277,9 +277,9 @@ YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.

END OF TERMS AND CONDITIONS
END OF TERMS AND CONDITIONS

How to Apply These Terms to Your New Programs
How to Apply These Terms to Your New Programs

If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
Expand All @@ -303,17 +303,16 @@ the "copyright" line and a pointer to where the full notice is found.
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA

You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.

Also add information on how to contact you by electronic and paper mail.

If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:

Gnomovision version 69, Copyright (C) year name of author
Gnomovision version 69, Copyright (C) year name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
Expand All @@ -336,5 +335,5 @@ necessary. Here is a sample; alter the names:
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Library General
library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License.
7 changes: 3 additions & 4 deletions COPYING.DOCS
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
GNU Free Documentation License
Version 1.2, November 2002
GNU Free Documentation License
Version 1.2, November 2002


Copyright (C) 2000,2001,2002 Free Software Foundation, Inc.
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.

Expand Down Expand Up @@ -395,4 +395,3 @@ If your document contains nontrivial examples of program code, we
recommend releasing these examples in parallel under your choice of
free software license, such as the GNU General Public License,
to permit their use in free software.

2 changes: 1 addition & 1 deletion FAQ.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@


Valgrind FAQ
Release 3.10.0 10 September 2014
Release 3.11.0 22 September 2015
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Table of Contents
Expand Down
46 changes: 42 additions & 4 deletions Makefile.all.am
Original file line number Diff line number Diff line change
Expand Up @@ -98,17 +98,33 @@ clean-noinst_DSYMS:
# that somehow causes VG_(memset) to get into infinite recursion.
AM_CFLAGS_BASE = \
-O2 -g \
-std=gnu99 \
-Wall \
-Wmissing-prototypes \
-Wshadow \
-Wpointer-arith \
-Wstrict-prototypes \
-Wmissing-declarations \
@FLAG_W_NO_FORMAT_ZERO_LENGTH@ \
@FLAG_W_NO_TAUTOLOGICAL_COMPARE@ \
@FLAG_W_CAST_ALIGN@ \
@FLAG_W_CAST_QUAL@ \
@FLAG_W_WRITE_STRINGS@ \
@FLAG_W_EMPTY_BODY@ \
@FLAG_W_FORMAT@ \
@FLAG_W_FORMAT_SIGNEDNESS@ \
@FLAG_W_FORMAT_SECURITY@ \
@FLAG_W_IGNORED_QUALIFIERS@ \
@FLAG_W_MISSING_PARAMETER_TYPE@ \
@FLAG_W_OLD_STYLE_DECLARATION@ \
@FLAG_FNO_STACK_PROTECTOR@ \
@FLAG_FSANITIZE@ \
-fno-strict-aliasing \
-fno-builtin

if COMPILER_IS_CLANG
AM_CFLAGS_BASE += -Wno-cast-align -Wno-self-assign \
-Wno-tautological-compare
endif

# These flags are used for building the preload shared objects (PSOs).
# The aim is to give reasonable performance but also to have good
# stack traces, since users often see stack traces extending
Expand All @@ -119,10 +135,10 @@ AM_CFLAGS_BASE = \
if VGCONF_OS_IS_DARWIN
AM_CFLAGS_PSO_BASE = -dynamic \
-O -g -fno-omit-frame-pointer -fno-strict-aliasing \
-fpic -fPIC -fno-builtin
-fpic -fPIC -fno-builtin @FLAG_FNO_IPA_ICF@
else
AM_CFLAGS_PSO_BASE = -O -g -fno-omit-frame-pointer -fno-strict-aliasing \
-fpic -fno-builtin
-fpic -fno-builtin @FLAG_FNO_IPA_ICF@
endif


Expand Down Expand Up @@ -223,6 +239,21 @@ AM_CFLAGS_PSO_MIPS64_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE) @FLAG_MIPS64@ \
$(AM_CFLAGS_PSO_BASE)
AM_CCASFLAGS_MIPS64_LINUX = @FLAG_M64@ -g @FLAG_MIPS64@

AM_CFLAGS_TILEGX_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE)
AM_CFLAGS_PSO_TILEGX_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)

AM_FLAG_M3264_X86_SOLARIS = @FLAG_M32@
AM_CFLAGS_X86_SOLARIS = @FLAG_M32@ @PREFERRED_STACK_BOUNDARY_2@ \
$(AM_CFLAGS_BASE) -fomit-frame-pointer
AM_CFLAGS_PSO_X86_SOLARIS = @FLAG_M32@ $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
AM_CCASFLAGS_X86_SOLARIS = @FLAG_M32@ -g -D_ASM

AM_FLAG_M3264_AMD64_SOLARIS = @FLAG_M64@
AM_CFLAGS_AMD64_SOLARIS = @FLAG_M64@ \
$(AM_CFLAGS_BASE) -fomit-frame-pointer
AM_CFLAGS_PSO_AMD64_SOLARIS = @FLAG_M64@ $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
AM_CCASFLAGS_AMD64_SOLARIS = @FLAG_M64@ -g -D_ASM

# Flags for the primary target. These must be used to build the
# regtests and performance tests. In fact, these must be used to
# build anything which is built only once on a dual-arch build.
Expand All @@ -243,6 +274,10 @@ endif
#
PRELOAD_LDFLAGS_COMMON_LINUX = -nodefaultlibs -shared -Wl,-z,interpose,-z,initfirst
PRELOAD_LDFLAGS_COMMON_DARWIN = -dynamic -dynamiclib -all_load
PRELOAD_LDFLAGS_COMMON_SOLARIS = -nodefaultlibs -shared -Wl,-z,interpose,-z,initfirst
if SOLARIS_XPG_SYMBOLS_PRESENT
PRELOAD_LDFLAGS_COMMON_SOLARIS += -Wl,-M,$(top_srcdir)/solaris/vgpreload-solaris.mapfile
endif

if VGCONF_PLATVARIANT_IS_ANDROID
# The Android toolchain includes all kinds of stdlib helpers present in
Expand All @@ -263,4 +298,7 @@ PRELOAD_LDFLAGS_AMD64_DARWIN = $(PRELOAD_LDFLAGS_COMMON_DARWIN) -arch x86_64
PRELOAD_LDFLAGS_S390X_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M64@
PRELOAD_LDFLAGS_MIPS32_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M32@
PRELOAD_LDFLAGS_MIPS64_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M64@
PRELOAD_LDFLAGS_TILEGX_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M64@
PRELOAD_LDFLAGS_X86_SOLARIS = $(PRELOAD_LDFLAGS_COMMON_SOLARIS) @FLAG_M32@
PRELOAD_LDFLAGS_AMD64_SOLARIS = $(PRELOAD_LDFLAGS_COMMON_SOLARIS) @FLAG_M64@

7 changes: 5 additions & 2 deletions Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ SUBDIRS = \
memcheck/tests/vbit-test \
auxprogs \
mpi \
solaris \
docs
DIST_SUBDIRS = $(SUBDIRS)

Expand All @@ -45,8 +46,9 @@ SUPP_FILES = \
exp-sgcheck.supp \
darwin9.supp darwin9-drd.supp \
darwin10.supp darwin10-drd.supp \
darwin11.supp darwin12.supp darwin13.supp \
bionic.supp
darwin11.supp darwin12.supp darwin13.supp darwin14.supp darwin15.supp \
bionic.supp \
solaris11.supp solaris12.supp
DEFAULT_SUPP_FILES = @DEFAULT_SUPP@

# We include all the base .supp files in the distribution, but not
Expand Down Expand Up @@ -106,6 +108,7 @@ EXTRA_DIST = \
README.android_emulator \
README.mips \
README.aarch64 \
README.solaris \
NEWS.old \
valgrind.pc.in \
valgrind.spec.in \
Expand Down
27 changes: 17 additions & 10 deletions Makefile.tool-tests.am
Original file line number Diff line number Diff line change
Expand Up @@ -18,25 +18,32 @@ endif

# Nb: Tools need to augment these flags with an arch-selection option, such
# as $(AM_FLAG_M3264_PRI).
AM_CFLAGS = -Winline -Wall -Wshadow -g
AM_CXXFLAGS = -Winline -Wall -Wshadow -g
AM_CFLAGS = -Winline -Wall -Wshadow -Wno-long-long -g \
@FLAG_FNO_STACK_PROTECTOR@
AM_CXXFLAGS = -Winline -Wall -Wshadow -Wno-long-long -g \
@FLAG_FNO_STACK_PROTECTOR@
# Include AM_CPPFLAGS in AM_CCASFLAGS to allow for older versions of
# automake; see comments in Makefile.all.am for more detail.
AM_CCASFLAGS = $(AM_CPPFLAGS)

if VGCONF_OS_IS_DARWIN
noinst_DSYMS = $(check_PROGRAMS)
if VGCONF_OS_IS_SOLARIS
# Make sure that all test programs have threaded errno.
AM_CFLAGS += -D_REENTRANT
endif

if HAS_WRITE_STRINGS_WARNING
CFLAGS += -Wno-write-strings
if VGCONF_OS_IS_DARWIN
noinst_DSYMS = $(check_PROGRAMS)
endif

if COMPILER_IS_CLANG
CFLAGS += -Wno-format-extra-args # perf/tinycc.c
CFLAGS += -Wno-literal-range # none/tests/amd64/fxtract.c
CFLAGS += -Wno-string-plus-int # drd/tests/annotate_ignore_rw.c
CXXFLAGS += -Wno-unused-private-field # drd/tests/tsan_unittest.cpp
AM_CFLAGS += -Wno-format-extra-args # perf/tinycc.c
AM_CFLAGS += -Wno-literal-range # none/tests/amd64/fxtract.c
AM_CFLAGS += -Wno-tautological-constant-out-of-range-compare # ...../aes.c
AM_CFLAGS += -Wno-self-assign # memcheck/tests/unit_libcbase.c
AM_CFLAGS += -Wno-string-plus-int # drd/tests/annotate_ignore_rw.c
AM_CFLAGS += -Wno-uninitialized # clang 3.4.2 and earlier
AM_CFLAGS += -Wno-unused-value # clang 3.0.0
AM_CXXFLAGS += -Wno-unused-private-field # drd/tests/tsan_unittest.cpp
endif

check-local: build-noinst_DSYMS
Expand Down
35 changes: 35 additions & 0 deletions Makefile.tool.am
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,8 @@ TOOL_LDFLAGS_COMMON_LINUX = \
-static -nodefaultlibs -nostartfiles -u _start @FLAG_NO_BUILD_ID@
TOOL_LDFLAGS_COMMON_DARWIN = \
-nodefaultlibs -nostartfiles -Wl,-u,__start -Wl,-e,__start
TOOL_LDFLAGS_COMMON_SOLARIS = \
-static -nodefaultlibs -nostartfiles -u _start

TOOL_LDFLAGS_X86_LINUX = \
$(TOOL_LDFLAGS_COMMON_LINUX) @FLAG_M32@
Expand Down Expand Up @@ -76,6 +78,15 @@ TOOL_LDFLAGS_MIPS64_LINUX = \
-static -nodefaultlibs -nostartfiles -u __start @FLAG_NO_BUILD_ID@ \
@FLAG_M64@

TOOL_LDFLAGS_TILEGX_LINUX = \
$(TOOL_LDFLAGS_COMMON_LINUX) @FLAG_M64@

TOOL_LDFLAGS_X86_SOLARIS = \
$(TOOL_LDFLAGS_COMMON_SOLARIS) @FLAG_M32@

TOOL_LDFLAGS_AMD64_SOLARIS = \
$(TOOL_LDFLAGS_COMMON_SOLARIS) @FLAG_M64@

# On Android we must ask for non-executable stack, not sure why.
if VGCONF_PLATFORMS_INCLUDE_ARM_LINUX
if VGCONF_PLATVARIANT_IS_ANDROID
Expand Down Expand Up @@ -132,6 +143,15 @@ LIBREPLACEMALLOC_MIPS32_LINUX = \
LIBREPLACEMALLOC_MIPS64_LINUX = \
$(top_builddir)/coregrind/libreplacemalloc_toolpreload-mips64-linux.a

LIBREPLACEMALLOC_TILEGX_LINUX = \
$(top_builddir)/coregrind/libreplacemalloc_toolpreload-tilegx-linux.a

LIBREPLACEMALLOC_X86_SOLARIS = \
$(top_builddir)/coregrind/libreplacemalloc_toolpreload-x86-solaris.a

LIBREPLACEMALLOC_AMD64_SOLARIS = \
$(top_builddir)/coregrind/libreplacemalloc_toolpreload-amd64-solaris.a

LIBREPLACEMALLOC_LDFLAGS_X86_LINUX = \
-Wl,--whole-archive \
$(LIBREPLACEMALLOC_X86_LINUX) \
Expand Down Expand Up @@ -188,6 +208,21 @@ LIBREPLACEMALLOC_LDFLAGS_MIPS64_LINUX = \
$(LIBREPLACEMALLOC_MIPS64_LINUX) \
-Wl,--no-whole-archive

LIBREPLACEMALLOC_LDFLAGS_TILEGX_LINUX = \
-Wl,--whole-archive \
$(LIBREPLACEMALLOC_TILEGX_LINUX) \
-Wl,--no-whole-archive

LIBREPLACEMALLOC_LDFLAGS_X86_SOLARIS = \
-Wl,--whole-archive \
$(LIBREPLACEMALLOC_X86_SOLARIS) \
-Wl,--no-whole-archive

LIBREPLACEMALLOC_LDFLAGS_AMD64_SOLARIS = \
-Wl,--whole-archive \
$(LIBREPLACEMALLOC_AMD64_SOLARIS) \
-Wl,--no-whole-archive

#----------------------------------------------------------------------------
# General stuff
#----------------------------------------------------------------------------
Expand Down
Loading