]> git.ipfire.org Git - thirdparty/valgrind.git/log
thirdparty/valgrind.git
10 years agoUpdate system call lists.
Tom Hughes [Sun, 9 Nov 2014 13:59:51 +0000 (13:59 +0000)] 
Update system call lists.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14705

10 years agoComment only changes.
Philippe Waroquiers [Fri, 7 Nov 2014 22:16:27 +0000 (22:16 +0000)] 
Comment only changes.
* Clarify in the dedup pool comments that all bytes of elements are compared.
* pub_core_options.h : remove old/misplaced comment for clo_trace_children
                       and replace by a more clear comment (matching the --help)

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14704

10 years agoAdd some Mac OSX 10.10 specific wrappers.
Julian Seward [Fri, 7 Nov 2014 00:08:13 +0000 (00:08 +0000)] 
Add some Mac OSX 10.10 specific wrappers.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14703

10 years agoEnable suppressions for zlib false positives on OSX 10.10.
Julian Seward [Fri, 7 Nov 2014 00:06:26 +0000 (00:06 +0000)] 
Enable suppressions for zlib false positives on OSX 10.10.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14702

10 years agoAdd a no-op wrapper for a new-in-10.10 syscall: getattrlistbulk
Julian Seward [Fri, 7 Nov 2014 00:05:56 +0000 (00:05 +0000)] 
Add a no-op wrapper for a new-in-10.10 syscall: getattrlistbulk

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14701

10 years agoMerge revisions 14366 and 14367 from the BUF_REMOVAL branch to trunk.
Florian Krohm [Thu, 6 Nov 2014 22:01:15 +0000 (22:01 +0000)] 
Merge revisions 14366 and 14367 from the BUF_REMOVAL branch to trunk.
In function dump_state_togdb use VG_(gdb_printf) directly. No need to write
to a buffer first.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14700

10 years agoMerge revisions 14344 and 14345 from the BUF_REMOVAL branch to trunk.
Florian Krohm [Thu, 6 Nov 2014 21:43:44 +0000 (21:43 +0000)] 
Merge revisions 14344 and 14345 from the BUF_REMOVAL branch to trunk.
Basically:
CLG_(sprint_eventmapping)  --> CLG_(eventmapping_as_string)
CLG_(sprint_mappingcost)   --> CLG_(mappingcost_as_string)
The new functions return the string in a dynamically allocated buffer
that caller ought to free.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14699

10 years agoAdds initial support for new syscalls on MacOS X 10.10, including new
Julian Seward [Thu, 6 Nov 2014 20:29:01 +0000 (20:29 +0000)] 
Adds initial support for new syscalls on MacOS X 10.10, including new
syscall numbers, and dummy wrappers for bsdthread_ctl and
sysctlbyname.  Mash up of patches from fxcoudert@gcc.gnu.org and Rhys
Kidd (rhyskidd@gmail.com).  Part of bug 339045.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14698

10 years agoOn MacOS X 10.10, when postprocessing tool executables, set the SVMA
Julian Seward [Thu, 6 Nov 2014 20:23:22 +0000 (20:23 +0000)] 
On MacOS X 10.10, when postprocessing tool executables, set the SVMA
of __PAGEZERO to zero.  Without this, the 10.10 kernel refuses to
start these executables.  Based on investigations and a
proof-of-concept implementation by Rhys Kidd (rhyskidd@gmail.com).
Part of bug 339045.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14697

10 years agoOn MacOS X 10.10, provide a dummy definition for voucher_mach_msg_set.
Julian Seward [Thu, 6 Nov 2014 20:20:01 +0000 (20:20 +0000)] 
On MacOS X 10.10, provide a dummy definition for voucher_mach_msg_set.
Not sure why this is necessary, but without it, the tool executables
don't link.  Part of bug 339045.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14696

10 years agoBuild system changes to enable building on MacOS X 10.10 (Yosemite).
Julian Seward [Thu, 6 Nov 2014 20:16:05 +0000 (20:16 +0000)] 
Build system changes to enable building on MacOS X 10.10 (Yosemite).
See bug 339045.  Part of a patch from fxcoudert@gcc.gnu.org.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14695

10 years agoFix symbol name typo (correct: DARWIN_VERS wrong: DARWIN_VERSION).
Julian Seward [Wed, 5 Nov 2014 21:27:36 +0000 (21:27 +0000)] 
Fix symbol name typo (correct: DARWIN_VERS  wrong: DARWIN_VERSION).

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14694

10 years agoCompile (arm). Fix typo from r14664
Josef Weidendorfer [Wed, 5 Nov 2014 19:46:21 +0000 (19:46 +0000)] 
Compile (arm). Fix typo from r14664

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14693

10 years agoBack out the darwin-specific part of r14683, since darwin doesn't
Julian Seward [Wed, 5 Nov 2014 15:54:21 +0000 (15:54 +0000)] 
Back out the darwin-specific part of r14683, since darwin doesn't
appear to have SHM_HUGETLB, and it causes build failures.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14692

10 years agoUnmask all signals in vgdb, as the process that launches vgdb
Philippe Waroquiers [Tue, 4 Nov 2014 20:28:36 +0000 (20:28 +0000)] 
Unmask all signals in vgdb, as the process that launches vgdb
might have masked some.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14691

10 years agoAdds initial support for AArch64 (arm64) on Android. Small programs
Julian Seward [Tue, 4 Nov 2014 17:44:21 +0000 (17:44 +0000)] 
Adds initial support for AArch64 (arm64) on Android.  Small programs
(/system/bin/ls, /system/bin/date) run.  Still to do:

* enable more malloc/free intercepts

* enable wrappers for ashmem and binder syscalls

* check to see if any special ioctl support is required for ARM Mali GPUs

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14690

10 years agoPRE(sys_openat): when checking whether ARG1 == VKI_AT_FDCWD, be sure
Julian Seward [Tue, 4 Nov 2014 17:35:04 +0000 (17:35 +0000)] 
PRE(sys_openat): when checking whether ARG1 == VKI_AT_FDCWD, be sure
only to check the lowest 32 bits, since that arg is a file descriptor
-- hence "int" -- and checking all 64 bits fails unexpectedly if ARG1
and VKI_AT_FDCWD are not both zero- or sign- extended.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14689

10 years agoBug 340632 arm64: unhandled instruction fcvtas
Mark Wielaard [Tue, 4 Nov 2014 15:43:27 +0000 (15:43 +0000)] 
Bug 340632 arm64: unhandled instruction fcvtas

NEWS entry for VEX commit r2987.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14688

10 years agoMerge r14339 from BUF_REMOVAL branch to trunk.
Florian Krohm [Tue, 4 Nov 2014 15:08:53 +0000 (15:08 +0000)] 
Merge r14339 from BUF_REMOVAL branch to trunk.
Prepare print_file function to be converted to use VG_(fprintf).
Basically get rid of arithmetic involving the output buffer.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14687

10 years agoBug 340630 arm64: fchmod (52) and fchown (55) syscalls not recognized.
Mark Wielaard [Tue, 4 Nov 2014 13:43:21 +0000 (13:43 +0000)] 
Bug 340630 arm64: fchmod (52) and fchown (55) syscalls not recognized.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14686

10 years agoMerge r14308 from the BUF_REMOVAL branch to trunk
Florian Krohm [Mon, 3 Nov 2014 22:43:42 +0000 (22:43 +0000)] 
Merge r14308 from the BUF_REMOVAL branch to trunk
Changes VG_(describe_IP) to return the untruncated result in a statically
allocated local buffer. Fix call sites and update two .exp files who had
truncated names.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14685

10 years agoAdd tests for all SIMD FP instructions, except int<->fp conversions.
Julian Seward [Mon, 3 Nov 2014 09:52:57 +0000 (09:52 +0000)] 
Add tests for all SIMD FP instructions, except int<->fp conversions.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14684

10 years agofix 338995 shmat with hugepages (SHM_HUGETLB) fails with EINVAL
Philippe Waroquiers [Sat, 1 Nov 2014 22:00:50 +0000 (22:00 +0000)] 
fix 338995  shmat with hugepages (SHM_HUGETLB) fails with EINVAL

Bug is not really fixed, instead the SHM_HUGETLB flag is ignored.
Note that it is not straightforward to properly fix this,
as this implies either to learn aspacemgr what huge pages are.
Also, the trick used in the fix for 333051 cannot be used easily,
because the SHM_HUGETLB flag is given in shmget, while the mmap
is done in shmat.

So, the easiest is to just ignore the SHM_HUGETLB flag.

SHM_HUGETLB is supposed to only give a performance impact.
Ignoring it should be benign.
Theoretically, the caller might expect a sucessful shmget(SHM_HUGETLB)+shmat
to give pages aligned on e.g. 1MB.
In this case, bad luck, the program will misbehave under valgrind.
To warn of this, a warning is given (once) when SHM_HUGETLB is seen.

The map_unmap.c test has been restructured somewaht to allow
TEST_SHM_HUGETLB to be tested independently (or not) of the TEST_MAP_HUGETLB.

Note also that by default, testing  MAP_HUGETLB and SHM_HUGETLB
is disabled as usually, huge pages are not enabled.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14683

10 years agoFix 333051 mmap of huge pages fails due to incorrect alignment
Philippe Waroquiers [Sat, 1 Nov 2014 21:02:13 +0000 (21:02 +0000)] 
Fix 333051  mmap of huge pages fails due to incorrect alignment

Learning aspacemgr to handle huge page is too difficult.
So, huge page requests that fails due to bad advice by aspacemgr
will (we hope) succeed if a mmap retry is done with the kernel,
without any constraints.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14682

10 years agoRearrange the test case generators to be exactly in the same order
Julian Seward [Sat, 1 Nov 2014 12:05:09 +0000 (12:05 +0000)] 
Rearrange the test case generators to be exactly in the same order
that they are called, so as to make future editing easier.  And
generally tidy up.  No functional change.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14681

10 years agoUpdate.
Julian Seward [Fri, 31 Oct 2014 12:11:41 +0000 (12:11 +0000)] 
Update.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14680

10 years agoAdd test cases and expected outputs for
Julian Seward [Fri, 31 Oct 2014 10:29:23 +0000 (10:29 +0000)] 
Add test cases and expected outputs for
FMLA 2d_2d_d[], 4s_4s_s[], 2s_2s_s[]
FMLS 2d_2d_d[], 4s_4s_s[], 2s_2s_s[]
PRFM (immediate)

Unfortunately huge diff for arm64/fp_and_simd.stdout.exp because the
new cases are not at the end, and the random data for all after it is
different.  ToDo: reset RNG after each test.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14679

10 years agoMerge revisions 14222, 14268, and 14270 from the BUF_REMOVAL branch to trunk.
Florian Krohm [Thu, 30 Oct 2014 22:17:56 +0000 (22:17 +0000)] 
Merge revisions 14222, 14268, and 14270 from the BUF_REMOVAL branch to trunk.
Assorted fixes in exp-bbv to eliminate a few buffers.
Implement a suggestion found in the massif source, namely to add the
equivalent of fprintf to m_libcprint. Good suggestion. Thusly
- VgFile: similar to FILE; buffered output, 8k buffer
- VG_(fopen): similar to fopen, but with arguments as in VG_(open)
- VG_(fprintf) and VG_(vfprintf): like [v]fprintf with VgFile 1at argument
- VG_(fclose)
Change massif, exp-bbv and cachegrind to use this functionality.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14678

10 years agoBug 340236 - 4 unhandled syscalls on aarch64/arm64:
Julian Seward [Thu, 30 Oct 2014 14:28:14 +0000 (14:28 +0000)] 
Bug 340236 - 4 unhandled syscalls on aarch64/arm64:
mknodat (33), fchdir (50), chroot (51), fchownat (54)
Patch from Miroslav Franc (mfranc@redhat.com)

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14677

10 years agoBug 340028 - unhandled syscalls for arm64 (msync, pread64, setreuid
Julian Seward [Thu, 30 Oct 2014 14:11:32 +0000 (14:11 +0000)] 
Bug 340028 - unhandled syscalls for arm64 (msync, pread64, setreuid
and setregid)
Patch from dimitry@google.com.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14676

10 years agoBug 339940 - (arm64/aarch64) unhandled syscall: 83 (sys_fdatasync) + patch
Julian Seward [Thu, 30 Oct 2014 13:54:24 +0000 (13:54 +0000)] 
Bug 339940 - (arm64/aarch64) unhandled syscall: 83 (sys_fdatasync) + patch
Patch from David Abdurachmanov <davidlt@cern.ch>

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14675

10 years agoConfigury and Makefile tweaks to support compilation with Intel's
Florian Krohm [Wed, 29 Oct 2014 13:57:49 +0000 (13:57 +0000)] 
Configury and Makefile tweaks to support compilation with Intel's
ICC Compiler. Patch mostly by Gregory Czajkowski <gregczajkowski@yahoo.com>.
Fixes BZ #339542.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14674

10 years agoNew file m_compiler.c
Florian Krohm [Wed, 29 Oct 2014 08:21:18 +0000 (08:21 +0000)] 
New file m_compiler.c
Provides implementations of __builtin_popcount/clz/ctz which some
older GCCs do not provide.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14673

10 years agoMerge revision 14309 from BUF_REMOVAL branch to trunk.
Florian Krohm [Tue, 28 Oct 2014 20:52:07 +0000 (20:52 +0000)] 
Merge revision 14309 from BUF_REMOVAL branch to trunk.
Eliminates a fixed size buffer in helgrind. Instead of building up a
string in a buffer and then writing the string to stdout can as well
write to stdout directly.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14672

10 years agoWhen traversing VG_(args_for_client) there is no need to check
Florian Krohm [Tue, 28 Oct 2014 20:28:32 +0000 (20:28 +0000)] 
When traversing VG_(args_for_client) there is no need to check
the array element for NULL. Function VG_(split_up_argv), which
sets up that array, ensures that no element is NULL.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14671

10 years agoFix some grammatical weirness which was reported in BZ #340430.
Florian Krohm [Tue, 28 Oct 2014 16:25:23 +0000 (16:25 +0000)] 
Fix some grammatical weirness which was reported in BZ #340430.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14670

10 years agoMerge revisions 14356-14358 from the BUF_REMOVAL branch to trunk.
Florian Krohm [Mon, 27 Oct 2014 22:03:47 +0000 (22:03 +0000)] 
Merge revisions 14356-14358 from the BUF_REMOVAL branch to trunk.
Rewrite cg_merge.c to avoid fixed size arrays.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14669

10 years agoMerge revisions 14255, 14293, and 14294 from the BUF_REMOVAL branch to trunk.
Florian Krohm [Mon, 27 Oct 2014 12:06:35 +0000 (12:06 +0000)] 
Merge revisions 14255, 14293, and 14294 from the BUF_REMOVAL branch to trunk.
The functions VG_(get_filename) and VG_(get_filename_lineno) now return
a pointer to filename and directory name instead of copying them into
buffers passed in from the caller.
The returned strings are persistent as long as the DebugInfo to which
they belong is not discarded. The caller therefore needs to stash them
away as needed.
Function VG_(strncpy_safely) has been removed as it is no longer needed.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14668

10 years agoEnable test cases for
Julian Seward [Mon, 27 Oct 2014 09:35:12 +0000 (09:35 +0000)] 
Enable test cases for

LD1/ST1 (multiple 1-elem structs to/from 2 regs
LD1/ST1 (multiple 1-elem structs to/from 3 regs
LD1/ST1 (multiple 1-elem structs to/from 4 regs
LD1R (single structure, replicate)
LD2R (single structure, replicate)
LD3R (single structure, replicate)
LD4R (single structure, replicate)
LD1/ST1 (single structure, to/from one lane)
LD2/ST2 (single structure, to/from one lane)
LD3/ST3 (single structure, to/from one lane)
LD4/ST4 (single structure, to/from one lane)

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14667

10 years agoMerge r14289 from the BUF_REMOVAL branch to trunk.
Florian Krohm [Sun, 26 Oct 2014 19:16:14 +0000 (19:16 +0000)] 
Merge r14289 from the BUF_REMOVAL branch to trunk.
Change CLG_(get_debug_info) to not build up an absolute pathname in its
'file' parameter. Instead give it an additional parameter to hold the
directory name. Callers can then build up the absolute pathname if needed.
This change will come in handy soonish when VG_(get_filename_lineno) will be
changed and those buffers will disappear.
The change has a bit of ripple to get_fn_node_inseg and CLG_(get_file_node).

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14666

10 years agoMerge r14288 from the BUF_REMOVAL branch to trunk.
Florian Krohm [Sun, 26 Oct 2014 17:12:12 +0000 (17:12 +0000)] 
Merge r14288 from the BUF_REMOVAL branch to trunk.
What it does it changing cachegrind's get_debug_info function such
that it no longer builds up an absolute pathname. Instead the function
get an additional parameter for the directory name and the absolute
pathname is built when it is needed. This will come in handy soonish
when VG_(get_filename_lineno) will be changed and those buffers will
disappear.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14665

10 years agoMerge r14202 from the BUF_REMOVAL branch to trunk.
Florian Krohm [Sat, 25 Oct 2014 19:20:38 +0000 (19:20 +0000)] 
Merge r14202 from the BUF_REMOVAL branch to trunk.
This patch changes the interface and behaviour of VG_(demangle) and
VG_(maybe_Z_demangle). Instead of copying the demangled name into a
fixed sized buffer that is passed in from the caller (HChar *buf, Int n_buf),
the demangling functions will now return a pointer to the full-length
demangled name (HChar **result). It is the caller's responsiblilty to
make a copy if needed.

This change in function parameters ripples upward
- first: to get_sym_name
- then to the convenience wrappers
  - VG_(get_fnname)
  - VG_(get_fnname_w_offset)
  - VG_(get_fnname_if_entry)
  - VG_(get_fnname_raw)
  - VG_(get_fnname_no_cxx_demangle)
  - VG_(get_datasym_and_offset)

The changes in foComplete then forces the arguments of
  - VG_(get_objname) to be changed as well

There are some issues regarding the ownership and persistence of
character strings to consider.
In general, the returned character string is owned by "somebody else"
which means the caller must not free it. Also, the caller must not
modify the returned string as it possibly points to read only memory.
Additionally, the returned string is not necessarily persistent. Here are
the scenarios:
- the returned string is a demangled function name in which case the
  memory holding the string will be freed when the demangler is called again.
- the returned string hangs off of a DebugInfo structure in which case
  it will be freed when the DebugInfo is discarded
- the returned string hangs off of a segment in the address space manager
  in which case it may be overwritten when the segment is merged with
  another segment
So the rule of thunb here is: if in doubt strdup the string.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14664

10 years agoUse AC_GCC_WARNING_COND to figure out whether the compiler
Florian Krohm [Fri, 24 Oct 2014 07:42:19 +0000 (07:42 +0000)] 
Use AC_GCC_WARNING_COND to figure out whether the compiler
supports -Wcast-qual.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14663

10 years agoAdd --resync-filter to the --help output.
Julian Seward [Thu, 23 Oct 2014 21:49:58 +0000 (21:49 +0000)] 
Add --resync-filter to the --help output.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14662

10 years agoDarwin only: add a filter mechanism that aims to remove pointless
Julian Seward [Thu, 23 Oct 2014 19:48:01 +0000 (19:48 +0000)] 
Darwin only: add a filter mechanism that aims to remove pointless
memory-map resync operations.  Without the filter, such operations
come to dominate the running time of complex apps with thousands of
memory segments (eg Firefox) and it becomes unusably slow.  With
the filter in place, the huge performance loss is mostly avoided.

Has no meaning and no effect on non-Darwin targets.  Controlled by
flag --resync-filter=no|yes|verbose [yes].  Filter is currently only
set up for Mac OS X 10.9 (Mavericks) 64 bit and will not produce
any performance benefit on any other configuration.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14661

10 years agoEnable reading of Dwarf2 frame-unwind info on MacOS. It seems
Julian Seward [Thu, 23 Oct 2014 19:44:21 +0000 (19:44 +0000)] 
Enable reading of Dwarf2 frame-unwind info on MacOS.  It seems
as if more recent XCodes rely on it.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14660

10 years ago2 pints later: more coregrind constification.
Florian Krohm [Thu, 23 Oct 2014 17:47:15 +0000 (17:47 +0000)] 
2 pints later: more coregrind constification.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14659

10 years agoAdd a bit of casting to avoid a compiler warning following recent
Julian Seward [Thu, 23 Oct 2014 14:14:49 +0000 (14:14 +0000)] 
Add a bit of casting to avoid a compiler warning following recent
const-ification.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14658

10 years agoFollowup to r14656. Fix compile problem on Darwin.
Florian Krohm [Thu, 23 Oct 2014 11:38:12 +0000 (11:38 +0000)] 
Followup to r14656. Fix compile problem on Darwin.
Patch by Rhys Kidd <rhyskidd@gmail.com>.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14657

10 years agoConstify coregrind.
Florian Krohm [Wed, 22 Oct 2014 22:25:30 +0000 (22:25 +0000)] 
Constify coregrind.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14656

10 years agoConstify a variable.
Florian Krohm [Wed, 22 Oct 2014 20:35:27 +0000 (20:35 +0000)] 
Constify a variable.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14655

10 years agoChange VG_(allocEltDedupPA) to return a pointer to const. The reason is
Florian Krohm [Wed, 22 Oct 2014 17:42:37 +0000 (17:42 +0000)] 
Change VG_(allocEltDedupPA) to return a pointer to const. The reason is
that once an element has been allocated and added to the pool it must
not be modified afterwards. See the documentation in pub_tool_deduppoolalloc.h
The rest of the patch is ripple.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14654

10 years agoAdd test cases for all known arm64 load/store instructions.
Julian Seward [Wed, 22 Oct 2014 13:47:07 +0000 (13:47 +0000)] 
Add test cases for all known arm64 load/store instructions.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14653

10 years agoEnable -Wcast-qual when compiling the valgrind source.
Florian Krohm [Wed, 22 Oct 2014 12:53:16 +0000 (12:53 +0000)] 
Enable -Wcast-qual when compiling the valgrind source.
Testcases are not compiled with -Wcast-qual.
Introduce CONST_CAST macro to work around in the few spots
where a cast that drops type qualifiers is needed.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14652

10 years agoChange the return type of the replacement function for rawmemchr
Florian Krohm [Wed, 22 Oct 2014 12:06:22 +0000 (12:06 +0000)] 
Change the return type of the replacement function for rawmemchr
to match that of glibc's rawmemchr.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14651

10 years agoChange the initialisation of the newly allocated struct sched_lock
Florian Krohm [Wed, 22 Oct 2014 09:44:34 +0000 (09:44 +0000)] 
Change the initialisation of the newly allocated struct sched_lock
object. Just memset the whole thing to 0. That avoids a cast that
drops type qualifiction.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14650

10 years agoFollowup to r14646. The symbol TIOCSIG is not necessarily defined,
Florian Krohm [Wed, 22 Oct 2014 09:25:03 +0000 (09:25 +0000)] 
Followup to r14646. The symbol TIOCSIG is not necessarily defined,
e.g. on s390x with glibc 2.3.4. Modify the testcase to bypass the ioctl
call in that case.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14649

10 years agoUpdate list of ignored files.
Florian Krohm [Wed, 22 Oct 2014 09:19:12 +0000 (09:19 +0000)] 
Update list of ignored files.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14648

10 years agoRewritten to avoid cast that drops const qualification.
Florian Krohm [Tue, 21 Oct 2014 17:15:14 +0000 (17:15 +0000)] 
Rewritten to avoid cast that drops const qualification.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14647

10 years agoAdd support for ioctl(fd, TIOCSIG, signal_number) which used
Florian Krohm [Tue, 21 Oct 2014 07:20:20 +0000 (07:20 +0000)] 
Add support for ioctl(fd, TIOCSIG, signal_number) which used
to issue a false complaint. Fixes BZ #339706
Source patch by David Herrmann (dh.herrmann@gmail.com).
Testcase by myself.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14646

10 years agoFix BZ 339789. /bin/true does not exist on Darwin.
Florian Krohm [Mon, 20 Oct 2014 21:29:26 +0000 (21:29 +0000)] 
Fix BZ 339789.  /bin/true does not exist on Darwin.
Patch by rhyskidd@gmail.com.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14645

10 years agoFix the prerequisite of the none/tests/rlimit64_nofile testcase.
Florian Krohm [Mon, 20 Oct 2014 21:15:31 +0000 (21:15 +0000)] 
Fix the prerequisite of the none/tests/rlimit64_nofile testcase.
Patch by rhyskidd@gmail.com. Fixes BZ 339808.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14644

10 years agoFix some testcases which implicitly assumed that TMPDIR was either
Florian Krohm [Mon, 20 Oct 2014 20:59:13 +0000 (20:59 +0000)] 
Fix some testcases which implicitly assumed that TMPDIR was either
not set or set to /tmp   This is not always true. Fixes BZ 340115.
Patch by rhyskidd@gmail.com.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14643

10 years agoConstify the tool interface.
Florian Krohm [Mon, 20 Oct 2014 19:02:38 +0000 (19:02 +0000)] 
Constify the tool interface.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14642

10 years agoConstify.
Florian Krohm [Sat, 18 Oct 2014 20:56:13 +0000 (20:56 +0000)] 
Constify.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14641

10 years agoConstify m_oset, m_sparsewa, and m_wordfm.
Florian Krohm [Sat, 18 Oct 2014 16:17:13 +0000 (16:17 +0000)] 
Constify m_oset, m_sparsewa, and m_wordfm.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14640

10 years agoChange the definition of VgHashTable to not have pointer type.
Florian Krohm [Sat, 18 Oct 2014 10:58:05 +0000 (10:58 +0000)] 
Change the definition of VgHashTable to not have pointer type.
This is (a) consistent with how the other containers are defined
and, more importantly, (b) allows the constification of the hash table API.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14639

10 years agoRewrite print_file_vars such that it does not modify its
Florian Krohm [Fri, 17 Oct 2014 21:07:37 +0000 (21:07 +0000)] 
Rewrite print_file_vars such that it does not modify its
argument string. Remove an unneeded strdup.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14638

10 years agoRemove some dead code.
Florian Krohm [Fri, 17 Oct 2014 19:44:55 +0000 (19:44 +0000)] 
Remove some dead code.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14637

10 years ago_thread_suspend: hold on to the lock when suspending some other
Julian Seward [Fri, 17 Oct 2014 16:03:20 +0000 (16:03 +0000)] 
_thread_suspend: hold on to the lock when suspending some other
thread, so as to not deadlock the process.

_thread_resume: add wrapper

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14636

10 years agoAdd intercepts on MacOS 10.9 for
Julian Seward [Fri, 17 Oct 2014 15:07:37 +0000 (15:07 +0000)] 
Add intercepts on MacOS 10.9 for
libsystem_c.dylib:strrchr
libsystem_platform.dylib:_platform_memmove$VARIANT$Ivybridge

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14635

10 years ago-Wmissing-enum seems to have arrived at the MacOS builds for some
Julian Seward [Fri, 17 Oct 2014 15:05:01 +0000 (15:05 +0000)] 
-Wmissing-enum seems to have arrived at the MacOS builds for some
reason, and complains about missing cases in sr_isError, sr_Res,
sr_ResHI, sr_Err.  Add cases to keep it happy.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14634

10 years agoRemove unused variable VG_(clo_require_text_symbol).
Florian Krohm [Wed, 15 Oct 2014 19:47:04 +0000 (19:47 +0000)] 
Remove unused variable VG_(clo_require_text_symbol).

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14633

10 years agodi_notify_ACHIEVE_ACCEPT_STATE: before starting to parse the ELF file,
Julian Seward [Wed, 15 Oct 2014 16:12:11 +0000 (16:12 +0000)] 
di_notify_ACHIEVE_ACCEPT_STATE: before starting to parse the ELF file,
truncate overlaps in the DebugInfoMappings that have been collected by
the DebugInfo's FSM.  Not doing so can confuse ML_(read_elf_debug_info)'s
computation of bias values.  Observed to be a problem when reading EDIDX
sections for objects mangled by Mike Hommey's elfhack program.
See http://bugzilla.mozilla.org/show_bug.cgi?id=788974

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14632

10 years agoEnable sys_fadvise64_64 on arm32.
Julian Seward [Wed, 15 Oct 2014 15:57:11 +0000 (15:57 +0000)] 
Enable sys_fadvise64_64 on arm32.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14631

10 years agoMerge revisions 14220, 14221, and 15629 from BUF_REMOVAL branch to trunk.
Florian Krohm [Tue, 14 Oct 2014 21:47:43 +0000 (21:47 +0000)] 
Merge revisions 14220, 14221, and 15629 from BUF_REMOVAL branch to trunk.
Couple of format fixes and FIXMEs for VG_(percentify).

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14630

10 years agoMerge revisions 14210 and 14626 from the BUF_REMOVAL branch to trunk.
Florian Krohm [Tue, 14 Oct 2014 21:01:33 +0000 (21:01 +0000)] 
Merge revisions 14210 and 14626 from the BUF_REMOVAL branch to trunk.
Change VG_(resolve_filename) to not truncate the result which is returned
in a static buffer now. Fix callsites.
Simplify VG_(di_notify_pdb_debuginfo) to use VG_(resolve_filename).
Fix VG_(readlink) prototype.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14628

10 years agoUpdate.
Julian Seward [Tue, 14 Oct 2014 20:26:45 +0000 (20:26 +0000)] 
Update.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14627

10 years agoInline function definitions must not refer to objects with internal
Florian Krohm [Mon, 13 Oct 2014 21:00:00 +0000 (21:00 +0000)] 
Inline function definitions must not refer to objects with internal
linkage. Remove the INLINE specifier. Related to BZ #339542.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14625

10 years agoModify the compiler detection test so as to accept "Apple LLVM version
Julian Seward [Mon, 13 Oct 2014 13:03:50 +0000 (13:03 +0000)] 
Modify the compiler detection test so as to accept "Apple LLVM version
5.1" (etc) and identify it as a Clang variant.  Without that, it gets
misidentified as a gcc variant, which causes problems with Makefile.am's
that use the derived COMPILER_IS_CLANG conditional.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14624

10 years agoHide .version directives in assembly code on Mac, since XCode doesn't
Julian Seward [Sun, 12 Oct 2014 17:02:55 +0000 (17:02 +0000)] 
Hide .version directives in assembly code on Mac, since XCode doesn't
seem to like them.  Patch from Rhys Kidd (rhyskidd@gmail.com).
Fixes #339688.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14623

10 years agoFix the thread-name facility and associated test on Darwin.
Julian Seward [Sun, 12 Oct 2014 13:47:30 +0000 (13:47 +0000)] 
Fix the thread-name facility and associated test on Darwin.
Patch from Rhys Kidd (rhyskidd@gmail.com).  Fixes #339442.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14622

10 years agoBug 339858 arm64 dmb sy not implemented NEWS entry.
Mark Wielaard [Sat, 11 Oct 2014 19:13:49 +0000 (19:13 +0000)] 
Bug 339858 arm64 dmb sy not implemented NEWS entry.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14621

10 years agoUpdate.
Julian Seward [Sat, 11 Oct 2014 15:47:12 +0000 (15:47 +0000)] 
Update.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14620

10 years agoChange eq_Invar to handle all kinds of InVars.
Florian Krohm [Sat, 11 Oct 2014 15:01:21 +0000 (15:01 +0000)] 
Change eq_Invar to handle all kinds of InVars.
Move an assert to a better spot.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14619

10 years agoHandle (by ignoring) Imbe_CancelReservation. Detected by Florian
Julian Seward [Sat, 11 Oct 2014 13:54:52 +0000 (13:54 +0000)] 
Handle (by ignoring) Imbe_CancelReservation.  Detected by Florian
Krohm when compiling with -Wswitch-enum.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14618

10 years agoBug 339855 arm64 unhandled getsid/setsid syscalls.
Mark Wielaard [Fri, 10 Oct 2014 21:33:39 +0000 (21:33 +0000)] 
Bug 339855 arm64 unhandled getsid/setsid syscalls.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14617

10 years agoBug 339853 arm64 times syscall unknown.
Mark Wielaard [Fri, 10 Oct 2014 21:13:28 +0000 (21:13 +0000)] 
Bug 339853 arm64 times syscall unknown.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14616

10 years agoForgotten mergeinfo update.
Florian Krohm [Thu, 9 Oct 2014 19:28:30 +0000 (19:28 +0000)] 
Forgotten mergeinfo update.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14615

10 years agoMerge revisions 14213 and 14612 from the BUF_REMOVAL branch to trunk.
Florian Krohm [Thu, 9 Oct 2014 19:22:44 +0000 (19:22 +0000)] 
Merge revisions 14213 and 14612 from the BUF_REMOVAL branch to trunk.
The change removes the PATH_MAX limitation from the linux launcher.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14614

10 years agoUse __typeof__.
Florian Krohm [Thu, 9 Oct 2014 16:44:30 +0000 (16:44 +0000)] 
Use __typeof__.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14613

10 years agoAdd two gnu extensions DW_AT definition and tracing
Philippe Waroquiers [Tue, 7 Oct 2014 21:25:36 +0000 (21:25 +0000)] 
Add two gnu extensions DW_AT definition and tracing

(no functional changes, except that these values will be visible
in the dwarf trace, instead of DW_AT_???)

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14611

10 years agofollow up to fix for 339721 assertion 'check_sibling == sibling' failed in readdwarf3...
Philippe Waroquiers [Tue, 7 Oct 2014 20:35:06 +0000 (20:35 +0000)] 
follow up to fix for 339721 assertion 'check_sibling == sibling' failed in readdwarf3.c ...

The fix committed in revision 14603 is properly fixing the bug 339721.
However, when enabling the dwarf tracing, the DW_FORM_ref_sig8 causes
a segmentation violation, as the tracing code is shared with the
reading code. But the DW_FORM_ref_sig8 reading code is dereferencing
some data structure that is only initialised when --read-var-info=yes.

So, in case DW_FORM_ref_sig8 form reading is done and --read-var-info=no,
then check that we are tracing, and avoid dereferencing the (not initialised)
signature hash table.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14610

10 years agoMerge revisions 14372 and 14607 from the BUF_REMOVAL branch to trunk.
Florian Krohm [Tue, 7 Oct 2014 18:36:28 +0000 (18:36 +0000)] 
Merge revisions 14372 and 14607 from the BUF_REMOVAL branch to trunk.
This change makes VG_(clo_suppressions), VG_(clo_fullpath_after),
and VG_(clo_req_tsyms) XArrays. They used to be arrays of fixed size.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14609

10 years agoUpdate mergeinfo. r14606 wasn't a proper svn merge. It was just an
Florian Krohm [Tue, 7 Oct 2014 17:58:42 +0000 (17:58 +0000)] 
Update mergeinfo. r14606 wasn't a proper svn merge. It was just an
applied patch.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14608

10 years agoMerge revisions 14230, 14602, and 14604 from the BUF_REMOVAL branch to trunk.
Florian Krohm [Tue, 7 Oct 2014 14:28:52 +0000 (14:28 +0000)] 
Merge revisions 14230, 14602, and 14604 from the BUF_REMOVAL branch to trunk.
The change eliminates the fixed size buffers in gen_suppression and
show_used_suppressions. This is achieved by changing the return type from
VG_TDICT_CALL(tool_get_extra_suppression_info and
VG_TDICT_CALL(tool_print_extra_suppression_use from Bool to SizeT.
A return value of 0 indicates that nothing (except the terminating '\0'
which is always inserted) was written to the buffer. This corresponds to the
previous False return value. A return value which is equal to the buffer
size (that was passed in as function argument) indicates that the buffer was
not large enough. The caller then resizes the buffer and retries.
Otherwise, the buffer was large enough.
Regtested with a resize value of 1.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14606

10 years agoIndicate the fix for 339721 is only partial
Philippe Waroquiers [Mon, 6 Oct 2014 21:55:00 +0000 (21:55 +0000)] 
Indicate the fix for 339721 is only partial

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14605

10 years agofix 339721 assertion 'check_sibling == sibling' failed in readdwarf3.c ...
Philippe Waroquiers [Mon, 6 Oct 2014 21:46:43 +0000 (21:46 +0000)] 
fix 339721 assertion 'check_sibling == sibling' failed in readdwarf3.c ...

The skip code was wrongly skipping 16 bytes, while only 8 are read
for a DW_FORM_ref_sig8.

Note that the problem is made visible by an assert when using
--trace-symtab=yes but in fact this is a real bug in the dwarf reader,
that was introduced in one of the optimisations done for the inline info.

It can manifest itself with other symptoms:

One of the 2 following assertions can fail:
   vg_assert (check_sibling == sibling);
   vg_assert (get_position_of_Cursor (&check_skip)
              == get_position_of_Cursor (&c));

Or the following error can be given:
--29973-- WARNING: Serious error when reading debug info
--29973-- When reading debug info from /home/philippe/valgrind/trunk_untouched/memcheck/tests/dw4:
--29973-- Overrun whilst reading .debug_info section

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14603

10 years agoFollowup to r14600. Copy the contents of pub_core_guest.h to pub_tool_guest.h
Florian Krohm [Mon, 6 Oct 2014 21:04:14 +0000 (21:04 +0000)] 
Followup to r14600. Copy the contents of pub_core_guest.h to pub_tool_guest.h
to make it available to tools. This allows to remove quite a bit of
ifdeffery from memcheck's mc_machine.c

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14601

10 years agoEntangle header files a bit. Specifically, pub_core_basics.h no longer
Florian Krohm [Mon, 6 Oct 2014 16:41:14 +0000 (16:41 +0000)] 
Entangle header files a bit. Specifically, pub_core_basics.h no longer
includes libvex.h. It isn't needed to successfully compile pub_core_basics.h
standalone and the declarations libvex.h provides aren't used as broadly as
the comment in the code implied.
Move the guest-specific includes and some ifdeffery to the new file
pub_core_guest.h
For the curious reader: The change above avoids a problem when linking the
linux-launcher which previously included libvex.h indirectly. libvex.h also
defines the inline function LibVEX_Alloc which, when emitted, causes the
link step to fail due to unresoled references (as the launcher does not link
against libvex.a). See also BZ #339542.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14600