]> git.ipfire.org Git - thirdparty/valgrind.git/log
thirdparty/valgrind.git
10 years agoFix wrong operator = (instead of ==) in assertion
Philippe Waroquiers [Tue, 2 Sep 2014 19:26:40 +0000 (19:26 +0000)] 
Fix wrong operator = (instead of ==) in assertion
Assertion had a side effect (detected by Coverity)

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

10 years agoFix wrong operator (detected by Coverity)
Philippe Waroquiers [Tue, 2 Sep 2014 18:34:25 +0000 (18:34 +0000)] 
Fix wrong operator (detected by Coverity)

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

10 years agoFix a few incorrect format strings. Spotted by the Coverity checker.
Florian Krohm [Tue, 2 Sep 2014 14:21:25 +0000 (14:21 +0000)] 
Fix a few incorrect format strings. Spotted by the Coverity checker.

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

10 years agoAdd support for some more tun/tap ioctls. BZ#315952.
Tom Hughes [Tue, 2 Sep 2014 12:54:29 +0000 (12:54 +0000)] 
Add support for some more tun/tap ioctls. BZ#315952.

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

10 years agoThe 4th parameter of lzo1x_decompress_safe has lzo_uint * type
Florian Krohm [Tue, 2 Sep 2014 12:05:15 +0000 (12:05 +0000)] 
The 4th parameter of lzo1x_decompress_safe has lzo_uint * type
which, despite the name, is a pointer to an unsigned long.
So we should be passing arguments of matching type.
Spotted by the Coverity checker.

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

10 years agoRemove some unneeded checks. These were spotted by the Coverity checker.
Florian Krohm [Tue, 2 Sep 2014 11:58:10 +0000 (11:58 +0000)] 
Remove some unneeded checks. These were spotted by the Coverity checker.

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

10 years agoAvoid memory leak.
Florian Krohm [Tue, 2 Sep 2014 11:38:09 +0000 (11:38 +0000)] 
Avoid memory leak.

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

10 years ago--> 3.10.0.BETA1
Julian Seward [Tue, 2 Sep 2014 10:30:12 +0000 (10:30 +0000)] 
--> 3.10.0.BETA1

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

10 years agoTweak gdbserver_tests/mcinfcallWSRU.stderrB.exp to match more gdb versions.
Mark Wielaard [Tue, 2 Sep 2014 10:16:42 +0000 (10:16 +0000)] 
Tweak gdbserver_tests/mcinfcallWSRU.stderrB.exp to match more gdb versions.

Some gdb versions don't show the source line:number after switching
threads in #0  0x........ in do_burn (). Filter "at line:number" out
and don't expect it.

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

10 years agoAdd a clarifying comment.
Florian Krohm [Tue, 2 Sep 2014 09:49:53 +0000 (09:49 +0000)] 
Add a clarifying comment.

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

10 years agoTidy this up for the 3.10.0 beta.
Julian Seward [Tue, 2 Sep 2014 09:38:27 +0000 (09:38 +0000)] 
Tidy this up for the 3.10.0 beta.

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

10 years agoAdd a ( that was missed in r14419 (Prepare to change the default for
Julian Seward [Mon, 1 Sep 2014 22:37:57 +0000 (22:37 +0000)] 
Add a ( that was missed in r14419 (Prepare to change the default for
--read-inline-info from =no to =yes)

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

10 years agoMake --read-inline-info=yes be the default on Memcheck and Helgrind
Julian Seward [Mon, 1 Sep 2014 22:32:52 +0000 (22:32 +0000)] 
Make --read-inline-info=yes be the default on Memcheck and Helgrind
(just temporarily).

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

10 years agoFollowup to r14392 (fix up of stack bounds semantics) needed to keep
Julian Seward [Mon, 1 Sep 2014 22:31:07 +0000 (22:31 +0000)] 
Followup to r14392 (fix up of stack bounds semantics) needed to keep
the darwin port from asserting at startup.  Patch from PhilippeW.

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

10 years agoVG_(getdents64) is only needed on Linux, and causes build problems
Julian Seward [Mon, 1 Sep 2014 22:26:18 +0000 (22:26 +0000)] 
VG_(getdents64) is only needed on Linux, and causes build problems
on Darwin, so make it exist only on Linux.

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

10 years agoprepare for changing the default of --read-inline-info
Philippe Waroquiers [Mon, 1 Sep 2014 21:52:47 +0000 (21:52 +0000)] 
prepare for changing the default of --read-inline-info
suppvarinfo5 is using suppression entries that explicitely checks
for a stack trace without inline info.
So, indicate to not read the inline info.
This also means we will have (and keep) at least one test testing the
behaviour of --read-inline-info=no

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

10 years agoPrepare to change the default for --read-inline-info from =no to =yes
Philippe Waroquiers [Mon, 1 Sep 2014 21:46:52 +0000 (21:46 +0000)] 
Prepare to change the default for --read-inline-info from =no to =yes

The interception/replacements functions should preferrably not
depend on the value of --read-inline-info.
The idea is to change the default from no to yes.
Depending on the no or yes, some intercept/replacement functions
that are inlined will be shown or not shown in stacktraces.

To have such stack traces not depending on the value of --read-inline-info,
such functions should either be marked as
  noinline
or be defined as macros.

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

10 years agoUpdate list of ignored files.
Florian Krohm [Mon, 1 Sep 2014 21:27:06 +0000 (21:27 +0000)] 
Update list of ignored files.

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

10 years agoAdd a missing VKI_ prefix. No functional change.
Julian Seward [Mon, 1 Sep 2014 21:25:03 +0000 (21:25 +0000)] 
Add a missing VKI_ prefix.  No functional change.

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

10 years agoEM_PPC64 isn't defined by some older Android NDKs. Define it
Julian Seward [Mon, 1 Sep 2014 21:17:01 +0000 (21:17 +0000)] 
EM_PPC64 isn't defined by some older Android NDKs.  Define it
if necessary.

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

10 years agoTidying up (no functional change)
Julian Seward [Mon, 1 Sep 2014 21:16:02 +0000 (21:16 +0000)] 
Tidying up (no functional change)

* add indentation to functions AC_GCC_WARNING_SUBST_NO and
  AC_GCC_WARNING_COND

* remove an extraneous (I hope) "-CFLAGS=$safe_CFLAGS"

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

10 years agoFix bogus bracketing. No functional change.
Julian Seward [Mon, 1 Sep 2014 21:12:44 +0000 (21:12 +0000)] 
Fix bogus bracketing.  No functional change.

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

10 years agoFollowup to r13469. lineno has already been asserted to be != NULL.
Florian Krohm [Mon, 1 Sep 2014 21:03:54 +0000 (21:03 +0000)] 
Followup to r13469.  lineno has already been asserted to be != NULL.
No need to check it again.

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

10 years agoRename a bunch of __unused fields to __unused0, since some Android
Julian Seward [Mon, 1 Sep 2014 20:50:56 +0000 (20:50 +0000)] 
Rename a bunch of __unused fields to __unused0, since some Android
NDK's appear to #define __unused to __attribute__((__unused__)),
causing the build to fail in bizarre ways.

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

10 years agoFix typo in deprecate msg + reformat to 80 char max
Philippe Waroquiers [Mon, 1 Sep 2014 20:47:55 +0000 (20:47 +0000)] 
Fix typo in deprecate msg + reformat to 80 char max

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

10 years agoRemove two extraneous Ls introduced by mistake in r14319, which had
Julian Seward [Mon, 1 Sep 2014 19:32:07 +0000 (19:32 +0000)] 
Remove two extraneous Ls introduced by mistake in r14319, which had
the effect of causing CFLAGS environment variable settings to be
ignored for certain parts of the build (genoffsets.c, for one).

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

10 years agomips64: add missing system call numbers
Petar Jovanovic [Mon, 1 Sep 2014 16:47:34 +0000 (16:47 +0000)] 
mips64: add missing system call numbers

r14384 introduced use of getdents64 syscall and we missed a system call
value for MIPS64, so it broke the build for it. Add missing values now.

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

10 years agoFix a comment. No functional change.
Florian Krohm [Mon, 1 Sep 2014 15:56:05 +0000 (15:56 +0000)] 
Fix a comment. No functional change.

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

10 years agoBug 338703 helgrind on arm-linux gets false positives in dynamic loader.
Mark Wielaard [Mon, 1 Sep 2014 15:29:55 +0000 (15:29 +0000)] 
Bug 338703 helgrind on arm-linux gets false positives in dynamic loader.

There are a couple of issues with helgrind on arm-linux with glibc:

- Thread creation stack traces cannot unwind through clone
  (cfi ends right after syscall)
- ld.so has a special "hard float" name that isn't recognized as special
  (ld-linux-armhf.so.3)
- Races are found when manipulating GOT sections.

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

10 years agoAdjust cmdline expected test output after r14401 BZ#337871.
Mark Wielaard [Mon, 1 Sep 2014 14:16:49 +0000 (14:16 +0000)] 
Adjust cmdline expected test output after r14401 BZ#337871.

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

10 years agoTrack vex r2939 (renaming and arg-order change for Iop_Extract{64,V128}).
Julian Seward [Mon, 1 Sep 2014 11:34:32 +0000 (11:34 +0000)] 
Track vex r2939 (renaming and arg-order change for Iop_Extract{64,V128}).

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

10 years agoRemove memory (load/store) tests from integer.c and move them
Julian Seward [Mon, 1 Sep 2014 09:35:42 +0000 (09:35 +0000)] 
Remove memory (load/store) tests from integer.c and move them
into their own file, memory.c.

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

10 years agoRemove unused variable.
Julian Seward [Mon, 1 Sep 2014 08:41:43 +0000 (08:41 +0000)] 
Remove unused variable.

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

10 years agoDeprecate --db-attach Fixes BZ #337871
Florian Krohm [Mon, 1 Sep 2014 06:37:07 +0000 (06:37 +0000)] 
Deprecate --db-attach   Fixes BZ #337871

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

10 years agoUpdate list of ignored files.
Florian Krohm [Mon, 1 Sep 2014 06:30:34 +0000 (06:30 +0000)] 
Update list of ignored files.

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

10 years agoImprove description of an address that is on a stack but below sp.
Philippe Waroquiers [Sun, 31 Aug 2014 22:27:19 +0000 (22:27 +0000)] 
Improve description of an address that is on a stack but below sp.

An address below the sp will be described as being on a stack, but below sp.

The stack for such an address is found in the registered stacks.

Also, if there is a guard page at the end of the stack (lowest address)
an address in this page will be described as being in thread guard page.
A guard page is recognised as being a page not readable/writable/executable.

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

10 years agoBug 338681 Enable clone backtrace hack for i386-linux in helgrind.
Mark Wielaard [Sat, 30 Aug 2014 20:37:40 +0000 (20:37 +0000)] 
Bug 338681 Enable clone backtrace hack for i386-linux in helgrind.

glibc doesn't provide CFI unwind information right after the clone call
(because it would be invalid in the child). Enable the same workaround
for i386-linux that is already used for amd64-linux (subtract 3 from ip).

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

10 years agoFix (kludge) stack unwinding through clone on arm64-linux. This is
Julian Seward [Sat, 30 Aug 2014 19:24:05 +0000 (19:24 +0000)] 
Fix (kludge) stack unwinding through clone on arm64-linux.  This is
the same problem as shown in #338681, except for arm64-linux instead
of x86-linux.

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

10 years agoHelgrind needs to know the soname of ld.so, and on arm64-linux
Julian Seward [Sat, 30 Aug 2014 19:21:48 +0000 (19:21 +0000)] 
Helgrind needs to know the soname of ld.so, and on arm64-linux
it is different (ld-linux-aarch64.so.1) from all other targets.
(Why?)  This makes Helgrind at least somewhat usable on arm64-linux.

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

10 years agoInitial triage pass for all remaining newly opened bugs.
Julian Seward [Sat, 30 Aug 2014 10:09:30 +0000 (10:09 +0000)] 
Initial triage pass for all remaining newly opened bugs.

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

10 years agodrd/tests/pth_create_chain: Reduce stack usage
Bart Van Assche [Sat, 30 Aug 2014 06:48:01 +0000 (06:48 +0000)] 
drd/tests/pth_create_chain: Reduce stack usage

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

10 years agodocument in NEWS the fact that stack registration start/end boundaries
Philippe Waroquiers [Fri, 29 Aug 2014 23:24:20 +0000 (23:24 +0000)] 
document in NEWS the fact that stack registration start/end boundaries
are the lowest/highest addressable bytes

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

10 years agoThe semantic of the stack bounds is not consistent or is not described.
Philippe Waroquiers [Fri, 29 Aug 2014 22:53:19 +0000 (22:53 +0000)] 
The semantic of the stack bounds is not consistent or is not described.
At various places, there were either some assumption that the 'end'
boundary (highest address) was either not included, included,
or was the highest addressable word, or the highest addressable byte.
This e.g. was very visible when doing:
  ./vg-in-place -d -d ./helgrind/tests/tc01_simple_race|&grep regi
giving
  --24040:2:stacks     register 0xBEDB4000-0xBEDB4FFF as stack 0
  --24040:2:stacks     register 0x402C000-0x4A2C000 as stack 1
showing that the main stack end was (on x86) not the highest word
but the highest byte, while for the thread 1, the registered end
was a byte not part of the stack.

The attached patch ensures that stack bounds semantic are documented and
consistent. Also, some of the stack handling code is factorised.

The convention that the patch ensures and documents is:
start is the lowest addressable byte, end is the highest addressable byte.
(the words 'min' and 'max' have been kept when already used, as this wording is
consistent with the new semantic of start/end).

In various debug log, used brackets [ and ] to make clear that
both bounds are included.

The code to guess and register the client stack was duplicated
in all the platform specific syswrap-<plat>-<os>.c files.
Code has been factorised in syswrap-generic.c

The patch has been regression tested on
   x86, amd64, ppc32/64, s390x.
It has been compiled and one test run on arm64.
Not compiled/not tested on darwin, android, mips32/64, arm

More in details, the patch does the following:

coregrind/pub_core_aspacemgr.h
include/valgrind.h
include/pub_tool_machine.h
coregrind/pub_core_scheduler.h
coregrind/pub_core_stacks.h
  - document start/end semantic in various functions
 also in pub_tool_machine.h:
  - replaces unclear 'bottommost address' by 'lowest address'
    (unclear as stack bottom is or at least can be interpreted as
     the 'functional' bottom of the stack, which is the highest
      address for 'stack growing downwards').
coregrind/pub_core_initimg.h
  replace unclear clstack_top by clstack_end
coregrind/m_main.c
  updated to clstack_end

coregrind/pub_core_threadstate.h
  renamed client_stack_highest_word to client_stack_highest_byte
coregrind/m_scheduler/scheduler.c
  computes client_stack_highest_byte as the highest addressable byte
  Update comments in call to VG_(show_sched_status)
coregrind/m_machine.c
coregrind/m_stacktrace.c
  updated to client_stack_highest_byte, and switched
    stack_lowest/highest_word to stack_lowest/highest_byte accordingly

coregrind/m_stacks.c
  clarify semantic of start/end,
  added a comment to indicate why we invert start/end in register call
  (note that the code find_stack_by_addr was already assuming that
  end was included as the checks were doing e.g.
    sp >= i->start && sp <= i->end

coregrind/pub_core_clientstate.h
coregrind/m_clientstate.c
  renames Addr  VG_(clstk_base) to Addr  VG_(clstk_start_base)
    (start to indicate it is the lowest address, base suffix kept
     to indicate it is the initial lowest address).

coregrind/m_initimg/initimg-darwin.c
   updated to  VG_(clstk_start_base)
   replace unclear iicii.clstack_top by iicii.clstack_end
   updated clstack_max_size computation according to both bounds included.

coregrind/m_initimg/initimg-linux.c
   updated to  VG_(clstk_start_base)
   updated VG_(clstk_end) computation according to both bounds included.
   replace unclear iicii.clstack_top by iicii.clstack_end

coregrind/pub_core_aspacemgr.h
  extern Addr VG_(am_startup) : clarify semantic of the returned value
coregrind/m_aspacemgr/aspacemgr-linux.c
   removed a copy of a comment that was already in pub_core_aspacemgr.h
     (avoid double maintenance)
   renamed unclear suggested_clstack_top to suggested_clstack_end
    (note that here, it looks like suggested_clstack_top was already
     the last addressable byte)

* factorisation of the stack guessing and registration causes
  mechanical changes in the following files:
      coregrind/m_syswrap/syswrap-ppc64-linux.c
      coregrind/m_syswrap/syswrap-x86-darwin.c
      coregrind/m_syswrap/syswrap-amd64-linux.c
      coregrind/m_syswrap/syswrap-arm-linux.c
      coregrind/m_syswrap/syswrap-generic.c
      coregrind/m_syswrap/syswrap-mips64-linux.c
      coregrind/m_syswrap/syswrap-ppc32-linux.c
      coregrind/m_syswrap/syswrap-amd64-darwin.c
      coregrind/m_syswrap/syswrap-mips32-linux.c
      coregrind/m_syswrap/priv_syswrap-generic.h
      coregrind/m_syswrap/syswrap-x86-linux.c
      coregrind/m_syswrap/syswrap-s390x-linux.c
      coregrind/m_syswrap/syswrap-darwin.c
      coregrind/m_syswrap/syswrap-arm64-linux.c
 Some files to look at more in details:
  syswrap-darwin.c : the handling of sysctl(kern.usrstack) looked
    buggy to me, and has probably be made correct by the fact that
     VG_(clstk_end) is now the last addressable byte. However,unsure
    about this, as I could not find any documentation about
    sysctl(kern.usrstack). I only find several occurences on the web,
    showing that the result of this is page aligned, which I guess
    means it must be 1+ the last addressable byte.
  syswrap-x86-darwin.c and syswrap-amd64-darwin.c
   I suspect the code that was computing client_stack_highest_word
   was wrong, and the patch makes it correct.
  syswrap-mips64-linux.c
    not sure what to do for this code. This is the only code
    that was guessing the stack differently from others.
    Kept (almost) untouched. To be discussed with mips maintainers.

coregrind/pub_core_libcassert.h
coregrind/m_libcassert.c
  * void VG_(show_sched_status):
     renamed Bool valgrind_stack_usage to Bool stack_usage
     if stack_usage, shows both the valgrind stack usage and
     the client stack boundaries
coregrind/m_scheduler/scheduler.c
coregrind/m_gdbserver/server.c
coregrind/m_gdbserver/remote-utils.c
   Updated comments in callers to VG_(show_sched_status)

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

10 years agomake prereq fail with 1 if host command not installed
Philippe Waroquiers [Fri, 29 Aug 2014 22:49:21 +0000 (22:49 +0000)] 
make prereq fail with 1 if host command not installed
as prereq must return 0 or 1. Any other return value aborts the regtests.

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

10 years agoAdd missing file in EXTRA_DIST
Philippe Waroquiers [Fri, 29 Aug 2014 22:48:27 +0000 (22:48 +0000)] 
Add missing file in EXTRA_DIST

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

10 years agoarm64: record the use of x8 as of vex r2938.
Julian Seward [Fri, 29 Aug 2014 22:02:56 +0000 (22:02 +0000)] 
arm64: record the use of x8 as of vex r2938.

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

10 years agoWith gcc 4.9.1 exp-sgcheck/tests/globalerr sees array "a", not unknown.
Mark Wielaard [Fri, 29 Aug 2014 21:18:17 +0000 (21:18 +0000)] 
With gcc 4.9.1 exp-sgcheck/tests/globalerr sees array "a", not unknown.

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

10 years agoUpdate.
Julian Seward [Fri, 29 Aug 2014 19:34:45 +0000 (19:34 +0000)] 
Update.

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

10 years agorun_thread_for_a_while: Make the computation of done_this_time less
Julian Seward [Fri, 29 Aug 2014 19:12:38 +0000 (19:12 +0000)] 
run_thread_for_a_while: Make the computation of done_this_time less
bogus, and in particular ensure that it can't be zero if in fact the
thread did do some useful work.  Fix up a couple of associated
assertions.  Fixes #336435.

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

10 years agonone/tests/res_search.vgtest: Add prereq that domain can be resolved.
Mark Wielaard [Fri, 29 Aug 2014 18:35:54 +0000 (18:35 +0000)] 
none/tests/res_search.vgtest: Add prereq that domain can be resolved.

Some autobuilders/testers don't allow network access.

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

10 years agoUse getdents64 syscall on linux.
Mark Wielaard [Fri, 29 Aug 2014 14:28:30 +0000 (14:28 +0000)] 
Use getdents64 syscall on linux.

getdents has been deprecated since linux 2.4 and newer arches (arm64)
might no longer provide the getdents syscall. Use getdents64 for reading
the /proc/self/fd/ dir so --track-fds=yes works reliable on all arches.
Without this the none/tests/fdleak*vgtest might fail.

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

10 years agoinclude/vki/vki-scnums-arm64-linux.h use correct __NR_lseek define.
Mark Wielaard [Fri, 29 Aug 2014 11:44:20 +0000 (11:44 +0000)] 
include/vki/vki-scnums-arm64-linux.h use correct __NR_lseek define.

This caused memcheck/tests/linux/proc-auxv.vgtest to fail because
our internal VG(lseek) would return ENOSYS.

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

10 years agoHook up allexec tests for arm64.
Mark Wielaard [Fri, 29 Aug 2014 08:41:45 +0000 (08:41 +0000)] 
Hook up allexec tests for arm64.

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

10 years agogdbserver_tests filter out and don't expect empty lines.
Mark Wielaard [Thu, 28 Aug 2014 22:51:38 +0000 (22:51 +0000)] 
gdbserver_tests filter out and don't expect empty lines.

Some filters might have left some empty lines in the output.  Filter them
out explicitly and don't expect any empty lines in any of the .exp files.

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

10 years agogdbserver_tests/filter_gdb filter out 'entry value'.
Mark Wielaard [Thu, 28 Aug 2014 21:42:45 +0000 (21:42 +0000)] 
gdbserver_tests/filter_gdb filter out 'entry value'.

Some versions of gdb might try to print the entry value of an
argument if they know it with @entry=... Filter that out too.

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

10 years agoFix a bunch of defined(VGA_ppc64)
Philippe Waroquiers [Thu, 28 Aug 2014 21:02:11 +0000 (21:02 +0000)] 
Fix a bunch of defined(VGA_ppc64)
(a.o. this was making leak_cpp_interior test failing,
as the ppc64 specific code in mc_leakcheck.c was not compiled in)

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

10 years agoCheck that vgdb ptrace actions do not cause a EINTR or whatever
Philippe Waroquiers [Thu, 28 Aug 2014 20:19:41 +0000 (20:19 +0000)] 
Check that vgdb ptrace actions do not cause a EINTR or whatever
to go out of the select syscall

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

10 years agoTypo fix + small improvement in comment
Philippe Waroquiers [Thu, 28 Aug 2014 19:57:32 +0000 (19:57 +0000)] 
Typo fix + small improvement in comment

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

10 years agoWorkaround bug 338633. gdbserver_tests/nlcontrolc.vgtest hangs on arm64.
Mark Wielaard [Thu, 28 Aug 2014 18:47:54 +0000 (18:47 +0000)] 
Workaround bug 338633. gdbserver_tests/nlcontrolc.vgtest hangs on arm64.

Disable the test on arm64 for now to keep make regtest from hanging.

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

10 years agoHandle ENOSYS instread of EINVAL for some helgrind tests.
Mark Wielaard [Thu, 28 Aug 2014 14:59:08 +0000 (14:59 +0000)] 
Handle ENOSYS instread of EINVAL for some helgrind tests.

Some arches (s390x and ppc64) return ENOSYS instead of EINVAL for
undefined futex operations. Adjust the helgrind filter_stderr to
handle that case.

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

10 years agoBug 338615 suppress glibc 2.20 optimized strcmp implementation for ARMv7.
Mark Wielaard [Thu, 28 Aug 2014 14:59:04 +0000 (14:59 +0000)] 
Bug 338615 suppress glibc 2.20 optimized strcmp implementation for ARMv7.

Add an add_hardwired_spec for strcmp in VG_(redir_initialise) for
ld-linux.so.3 and ld-linux-armhf.so.3 to use a simple strcmp
implementation in m_trampoline.S (compiled from the trivial .c code
to asm with gcc like the other implementations in that file).

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

10 years agoAdd configure check for 32 bit build support on arm64-linux.
Mark Wielaard [Wed, 27 Aug 2014 18:29:34 +0000 (18:29 +0000)] 
Add configure check for 32 bit build support on arm64-linux.

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

10 years agonone/tests/Makefile.am (DIST_SUBDIRS): Add arm64.
Mark Wielaard [Wed, 27 Aug 2014 13:39:53 +0000 (13:39 +0000)] 
none/tests/Makefile.am (DIST_SUBDIRS): Add arm64.

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

10 years agoFix typo in syswrap ppoll param, equate ppoll and poll for memcheck testcase.
Mark Wielaard [Tue, 26 Aug 2014 22:15:58 +0000 (22:15 +0000)] 
Fix typo in syswrap ppoll param, equate ppoll and poll for memcheck testcase.

ppoll argument is called ufds like the poll argument.
Newer architectures (aarch64) implement poll by calling ppoll directly.

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

10 years agoAdd a missing entry to all_archs[], the lack of which was causing
Julian Seward [Tue, 26 Aug 2014 21:06:31 +0000 (21:06 +0000)] 
Add a missing entry to all_archs[], the lack of which was causing
the test system to run arm64 tests on non-arm64 platforms.

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

10 years agoBack out a line inadvertantly committed in r14363.
Julian Seward [Tue, 26 Aug 2014 19:58:26 +0000 (19:58 +0000)] 
Back out a line inadvertantly committed in r14363.

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

10 years agoAdd test config files and expected outputs.
Julian Seward [Tue, 26 Aug 2014 19:53:08 +0000 (19:53 +0000)] 
Add test config files and expected outputs.

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

10 years agoAdd socket.S to memcheck/tests/filter_stderr.
Mark Wielaard [Tue, 26 Aug 2014 19:41:51 +0000 (19:41 +0000)] 
Add socket.S to memcheck/tests/filter_stderr.

sendmsg.vgtest shows socket.S on some arches instead of syscall-template.S
to indicate "in ...libc...".

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

10 years agoBuild system stuff, to hook the tests in none/tests/arm64
Julian Seward [Tue, 26 Aug 2014 19:28:09 +0000 (19:28 +0000)] 
Build system stuff, to hook the tests in none/tests/arm64
to the build system.

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

10 years agoHandle the new IROps introduced to support ARM64 SIMD.
Julian Seward [Tue, 26 Aug 2014 18:35:13 +0000 (18:35 +0000)] 
Handle the new IROps introduced to support ARM64 SIMD.

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

10 years agoIop_Rol64x2 was handled as if it were a 32x4 case. This moves
Julian Seward [Tue, 26 Aug 2014 17:30:07 +0000 (17:30 +0000)] 
Iop_Rol64x2 was handled as if it were a 32x4 case.  This moves
it to the right place.

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

10 years agoCleanup: remove unused macros.
Florian Krohm [Mon, 25 Aug 2014 22:04:01 +0000 (22:04 +0000)] 
Cleanup: remove unused macros.

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

10 years agoarm64: enable test cases for:
Julian Seward [Sun, 24 Aug 2014 20:37:39 +0000 (20:37 +0000)] 
arm64: enable test cases for:
  {zip,uzp,trn}{1,2} (vector)
  urecpe, ursqrte (vector)

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

10 years agoTrack renaming of {reciprocal, reciprocal sqrt}{estimate, step}
Julian Seward [Sun, 24 Aug 2014 14:02:22 +0000 (14:02 +0000)] 
Track renaming of {reciprocal, reciprocal sqrt}{estimate, step}
primops in vex r2932.

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

10 years ago338499 --sim-hints parsing broken due to wrong order in tokens (after introduction...
Philippe Waroquiers [Sun, 24 Aug 2014 11:24:10 +0000 (11:24 +0000)] 
338499  --sim-hints parsing broken due to wrong order in tokens (after introduction of no-nptl-pthread-stackcache)
Fix the token order in m_main.c

Somewhat retested by running the regression tests
(testing no-nptl-pthread-stackcache) and testing in an outer/inner setup
(testing enable-outer,no-inner-prefix).
It seems there is no regtest for the 2 other flags (lax-ioctls,fuse-compatible)

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

10 years agofilter_shell_output: filter out "Exec format error" added by newer bash.
Mark Wielaard [Sat, 23 Aug 2014 20:49:17 +0000 (20:49 +0000)] 
filter_shell_output: filter out "Exec format error" added by newer bash.

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

10 years agoRemove unused functions and prototypes.
Florian Krohm [Sat, 23 Aug 2014 19:42:52 +0000 (19:42 +0000)] 
Remove unused functions and prototypes.

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

10 years agoRemove unused function CLG_(sprint_cost).
Florian Krohm [Sat, 23 Aug 2014 19:13:48 +0000 (19:13 +0000)] 
Remove unused function CLG_(sprint_cost).

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

10 years agoMemcheck: add a new flag, --show-mismatched-frees=no|yes [yes], to
Julian Seward [Fri, 22 Aug 2014 19:26:23 +0000 (19:26 +0000)] 
Memcheck: add a new flag, --show-mismatched-frees=no|yes [yes], to
optionally disable allocator/deallocator mismatch checking.

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

10 years agomc_LOADV_128_or_256_slow: change a constant from V_BITS8_DEFINED
Julian Seward [Fri, 22 Aug 2014 19:07:12 +0000 (19:07 +0000)] 
mc_LOADV_128_or_256_slow: change a constant from V_BITS8_DEFINED
to V_BITS64_DEFINED so as to be consistent with the rest of the
types in this function.  Since both values are zero it gives no
functional change.

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

10 years agoCleanup. Cost array was never called anyway.
Josef Weidendorfer [Fri, 22 Aug 2014 17:36:05 +0000 (17:36 +0000)] 
Cleanup. Cost array was never called anyway.

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

10 years agoRemove benign macro redefinition.
Florian Krohm [Fri, 22 Aug 2014 16:55:07 +0000 (16:55 +0000)] 
Remove benign macro redefinition.
Give current_jccs internal linkage.

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

10 years agoTweak gdbserver_tests/hgtls.stdoutB.exp filter_gdb a little for older GDB.
Mark Wielaard [Fri, 22 Aug 2014 10:14:28 +0000 (10:14 +0000)] 
Tweak gdbserver_tests/hgtls.stdoutB.exp filter_gdb a little for older GDB.

Older GDB (7.2 on i386) don't print out which variable+offset an argument
pointer in a breakpoint function points to. The hgtls test already tests
whether the p pointer/test points to the expected tests array element.
So don't expect gdb to print it also and filter it out with filter_gdb.

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

10 years agoAlign header comment with other files
Josef Weidendorfer [Fri, 22 Aug 2014 08:38:40 +0000 (08:38 +0000)] 
Align header comment with other files

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

10 years agoFollow up to r14313: disable stack cache earlier
Philippe Waroquiers [Thu, 21 Aug 2014 20:01:50 +0000 (20:01 +0000)] 
Follow up to r14313: disable stack cache earlier
glibc is recycling memory for detached threads before a thread
termination => disable the stack cache earlier (i.e. once
a 'non main thread' is seen)

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

10 years agoNEWS 330319 vex amd64->IR: unhandled instruction bytes: 0xF 0x1 0xD5 (xend)
Mark Wielaard [Thu, 21 Aug 2014 17:46:48 +0000 (17:46 +0000)] 
NEWS 330319 vex amd64->IR: unhandled instruction bytes: 0xF 0x1 0xD5 (xend)

VEX svn r2931

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

10 years agoBug 338445 amd64 vbit-test fails with unknown opcodes used by arm64 VEX.
Mark Wielaard [Thu, 21 Aug 2014 14:44:48 +0000 (14:44 +0000)] 
Bug 338445 amd64 vbit-test fails with unknown opcodes used by arm64 VEX.

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

10 years agoexp-sgcheck/tests/hackedbz2.c mark vex_strlen as noinline
Mark Wielaard [Thu, 21 Aug 2014 12:33:31 +0000 (12:33 +0000)] 
exp-sgcheck/tests/hackedbz2.c mark vex_strlen as noinline

Explicitly set noinline so the test can check it is in the backtrace.
Newer gcc versions happily optimize it away otherwise.

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

10 years agoCheck some known PATHs for mpicc in configure.
Mark Wielaard [Thu, 21 Aug 2014 10:04:04 +0000 (10:04 +0000)] 
Check some known PATHs for mpicc in configure.

On some distributions (fedora) mpicc not installed on the default PATH.
Add a search path for finding mpicc by default if it is installed.
The user can still override the used mpicc compiler using --with-mpicc=.

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

10 years agoImprove -mpreferred-stack-boundary configure message.
Mark Wielaard [Thu, 21 Aug 2014 10:03:52 +0000 (10:03 +0000)] 
Improve -mpreferred-stack-boundary configure message.

Explicitly say we are checking for -mpreferred-stack-boundary=2.
Only 2 is ever used when it is supported. Some gcc versions/arches
(e.g. GCC 4.8 for x86_64) support -mpreferred-stack-boundary, but
only between 4 and 12. The message that -mpreferred-stack-boundary
wasn't supported was a little confusing. So explicitly say we checked
for -mpreferred-stack-boundary=2.

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

10 years agoClean up confusion about VG_(args_the_exename) which was believed to
Florian Krohm [Wed, 20 Aug 2014 21:04:14 +0000 (21:04 +0000)] 
Clean up confusion about VG_(args_the_exename) which was believed to
possibly be NULL in several places. Nowadays, VG_(ii_create_image) will
terminate the process if VG_(args_the_exename) is NULL.

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

10 years agoUpdate in NEWS the gcc release needed to better support Ada tasks termination
Philippe Waroquiers [Wed, 20 Aug 2014 20:53:07 +0000 (20:53 +0000)] 
Update in NEWS the gcc release needed to better support Ada tasks termination

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

10 years agoRemove unused functions CLG_(get_out_file) and CLG_(get_out_directory).
Florian Krohm [Wed, 20 Aug 2014 20:37:33 +0000 (20:37 +0000)] 
Remove unused functions CLG_(get_out_file) and CLG_(get_out_directory).
Looks like these were leftovers from early days -- perhaps r7235.

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

10 years agoKind of a follow-up to r14237.
Julian Seward [Wed, 20 Aug 2014 17:45:00 +0000 (17:45 +0000)] 
Kind of a follow-up to r14237.
pre_mem_read_sockaddr: in the case where the caller doesn't
specify any address family (that is, the family is AF_UNSPEC)
don't perform any further checks on the supplied |sa| address
block, since doing so merely gives rise to false uninitialised
value errors.

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

10 years agoconfigure should check for warning flags supported to disable them (#338205).
Mark Wielaard [Wed, 20 Aug 2014 16:11:53 +0000 (16:11 +0000)] 
configure should check for warning flags supported to disable them (#338205).

Configure would check whether gcc supported -Wno... flags. But gcc always
does. It is happy to just not warn about anything. So flip all configure
checks to test for the warning and only when gcc accepts the warning flag
use -Wno-...

Introduces two helper functions to make it easier to add new flag checks.
AC_GCC_WARNING_COND and AC_GCC_WARNING_SUBST_NO.

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

10 years agoauxprogs: Update Subversion ignore list
Bart Van Assche [Wed, 20 Aug 2014 06:51:19 +0000 (06:51 +0000)] 
auxprogs: Update Subversion ignore list

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

10 years agohelgrind/tests: Update Subversion ignore list
Bart Van Assche [Wed, 20 Aug 2014 06:50:22 +0000 (06:50 +0000)] 
helgrind/tests: Update Subversion ignore list

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

10 years agodrd/tests/tls_threads: Add
Bart Van Assche [Wed, 20 Aug 2014 06:48:22 +0000 (06:48 +0000)] 
drd/tests/tls_threads: Add

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

10 years agoAdd option a new sim-hint no-nptl-pthread-stackcache.
Philippe Waroquiers [Tue, 19 Aug 2014 22:46:44 +0000 (22:46 +0000)] 
Add option a new sim-hint  no-nptl-pthread-stackcache.

Activating this hint using --sim-hints=no-nptl-pthread-stackcache
means the glibc nptl stack cache will be disabled.

Disabling this stack/tls cache avoids helgrind false positive race conditions
errors when using __thread variables.

Note: disabling the stack cache is done by a kludge, dependent on
internal knowledge of glibc code, and using libpthread debug info.
So, this kludge might be broken with newer glibc version.
This has been tested on various platforms and various
glibc versions 2.11, 2.16 and 2.18

To check if the disabling works, you can do:
valgrind --tool=helgrind --sim-hints=no-nptl-pthread-stackcache -d -v ./helgrind/tests/tls_threads |& grep kludge

If you see the below 2 lines, then hopefully the stack cache has been disabled.
--12624-- deactivate nptl pthread stackcache via kludge: found symbol stack_cache_actsize at addr 0x3AF178
--12624:1:sched    pthread stack cache size disabling done via kludge

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

10 years agoFix a typo.
Florian Krohm [Tue, 19 Aug 2014 16:53:02 +0000 (16:53 +0000)] 
Fix a typo.

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