]> git.ipfire.org Git - thirdparty/valgrind.git/log
thirdparty/valgrind.git
10 years agoThis patch changes the policy that does the GC of OldRef and RCEC
Philippe Waroquiers [Mon, 20 Apr 2015 21:33:16 +0000 (21:33 +0000)] 
This patch changes the policy that does the GC of OldRef and RCEC
conflict cache size.

The current policy is:
A 'more or less' LRU policy is implemented by giving
to each OldRef a generation nr in which it was last touched.
A new generation is created every 50000 new access.
GC is done when the nr of OldRef reaches --conflict-cache-size.
The GC consists in removing enough generations to free
half of the entries.
After GC of OldRef, the RCEC (Ref Counted Exe Contexts)
not referenced anymore are GC-ed.

The new policy is:
An exact LRU policy is implemented using a doubly linked list
of OldRef.
When reaching --conflict-cache-size, the LRU entry is re-used.

The not referenced RCEC are GC-ed when less than 75% of the RCEC
are referenced, and the nr of RCEC is 'big' (at least half the
size of the contextTab, and at least the max nr of RCEC reached
previously).
  (note: tried to directly recover a unref'ed RCEC when recovering
   the LRU oldref, but that gives a lot of re-creation of RCEC).

new policy has the following advantages/disadvantages:
1. It is faster (at least for big applications)
  On a firefox startup/exit, we gain about 1m30 second on 11m.
  Similar 5..10% speed up encountered on other big applications
  or on the new perf/memrw test.
  The speed increase depends on the amount of memory
  touched by the application. For applications with a
  working set fitting in conflict-cache-size, the new policy
  might be marginally slower than previous policy on platforms
  having a small cache : the current policy only sets a generation
  nr when an address is re-accessed, while the new policy
  has to unchain and rechain the OldRef access in the LRU
  doubly linked list.
2. It uses less memory (at least for big applications)
   Firefox startup/exit "core" arena max use decreases from
     1175MB mmap-ed/1060MB alloc-ed
   to
     994MB mmap-ed/913MB alloc-ed

   The decrease in memory is the result of having a lot less RCEC:
   The current policy let the nr of RCEC grow till the conflict
   cache size is GC-ed.

   The new policy limits the nr of RCEC to 133% of the RCEC
   really referenced. So, we end up with a max nr of RCEC
   a lot smaller with the new policy : max RCEC 191000
   versus 1317000, for a total nr of discard RCEC operations
   almost the same: 33M versus 32M.
   Also, the current policy allocates a big temporary array
   to do the GC of OldRef.

   With the new policy, size of an OldRef increases because
   we need 2 pointers for the LRU doubly linked list, and
   we need the accessed address.
   In total, the OldRef increase is limited to one Word,
   as we do not need anymore the gen, and the 'magic'
   for sanity check was removed (the check somewhat
   becomes less needed, because an OldRef is never freed
   anymore. Also, we do a new cross-check between
   the ga in the OldRef and the sparseWA key).

   For applications using small memory and having
   a small nr of different stack traces accessing memory,
   the new policy causes an increase in memory (one Word
   per OldRef).

3. Functionally, the new policy gives better past information:
   once the steady state is reached (i.e. the conflict cache
   is full), the new policy has always --conflict-cache-size
   entries of past information.
   The current policy has a nr of past information varying
   between --conflict-cache-size/2 and --conflict-cache-size
   (so in average, 75% of conflict-cache-size).

4. The new code is a little bit smaller/simpler:
   The generation based GC is replaced by a simpler LRU policy.

So, in summary, this patch should allow big applications
to use less cpu/memory, while having very little
or no impact on memory/cpu of small applications.

Note that the OldRef data structure LRU policy
is not really explicitely tested by a regtest.
Not easy at first sight to make such a test portable
between platforms/OS/compilers/....

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

10 years agoUse the proper function.
Florian Krohm [Mon, 20 Apr 2015 21:13:03 +0000 (21:13 +0000)] 
Use the proper function.

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

10 years agoRemove SysRes::_valEx from common code as it is specific to mips.
Florian Krohm [Mon, 20 Apr 2015 21:02:18 +0000 (21:02 +0000)] 
Remove SysRes::_valEx from common code as it is specific to mips.
ifdef'ed accordingly.

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

10 years agoRemove function sr_ResHI from Linux specific code.
Florian Krohm [Mon, 20 Apr 2015 20:42:42 +0000 (20:42 +0000)] 
Remove function sr_ResHI from Linux specific code.
Add function VG_(sr_as_string).

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

10 years agoUpdate tilegx's do_clone function adopting the stack bound changes
Florian Krohm [Mon, 20 Apr 2015 17:00:02 +0000 (17:00 +0000)] 
Update tilegx's do_clone function adopting the stack bound changes
made in r14392.

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

10 years agoEnsure we print the memory statistics with the default verbosity,
Philippe Waroquiers [Sun, 19 Apr 2015 17:56:42 +0000 (17:56 +0000)] 
Ensure we print the memory statistics with the default verbosity,
when giving --stats=yes

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

10 years agoFor ppc64, use the endianess of the running program, rather
Philippe Waroquiers [Sun, 19 Apr 2015 15:43:53 +0000 (15:43 +0000)] 
For ppc64, use the endianess of the running program, rather
than an harcoded endness.
(this is because ppc64 supports 2 endness, decided at runtime)

For mips, use BE if running on a non mips system, otherwise
use the endness of the running program
(this is because mips supports 2 endness, but decided at compile time).

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

10 years agofix 346307 fuse filesystem syscall deadlocks
Philippe Waroquiers [Sun, 19 Apr 2015 12:39:33 +0000 (12:39 +0000)] 
fix 346307  fuse filesystem syscall deadlocks
Mark 2 additional syscalls as 'mayblock' when fuse-compatible hint
is given.
Patch from aozgovde@ralota.com

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

10 years agoRemove a few unneeded header files.
Florian Krohm [Sat, 18 Apr 2015 17:45:34 +0000 (17:45 +0000)] 
Remove a few unneeded header files.

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

10 years agoFix a comment.
Florian Krohm [Sat, 18 Apr 2015 17:41:31 +0000 (17:41 +0000)] 
Fix a comment.

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

10 years agoFactor out the 'extend' function. We only need one version for Linux and
Florian Krohm [Sat, 18 Apr 2015 10:33:54 +0000 (10:33 +0000)] 
Factor out the 'extend' function. We only need one version for Linux and
one for Darwin. Down from 11.
Carve out a new function 'track_frame_memory' that communicates to the
tool the allocation of a new stack frame. This was slightly different on
Linux and Darwin but should be the same on both platforms.
New files: priv_sigframe.h and sigframe-common.c

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

10 years agoAdd missing header file.
Florian Krohm [Sat, 18 Apr 2015 09:15:47 +0000 (09:15 +0000)] 
Add missing header file.

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

10 years agoForgot to add the new files in memcheck/tests/ppc32 and memcheck/tests/ppc32.
Carl Love [Sat, 18 Apr 2015 00:01:58 +0000 (00:01 +0000)] 
Forgot to add the new files in memcheck/tests/ppc32 and memcheck/tests/ppc32.

They should have been part of the previous commit 15106.

--------------------------------------------------------------------

Add support for the lbarx, lharx, stbcx and sthcs instructions.

The instructions are part of the ISA 2.06 but were not implemented
in all versions of hardware.  The four instructions are all supported
in ISA 2.07.  The instructions were put under the ISA 2.07 category
of supported instructions in this patch.

The VEX commit for this fix is r3137.

The bugzilla for this issue is 346324.

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

10 years agoAdd support for the lbarx, lharx, stbcx and sthcs instructions.
Carl Love [Fri, 17 Apr 2015 23:43:36 +0000 (23:43 +0000)] 
Add support for the lbarx, lharx, stbcx and sthcs instructions.

The instructions are part of the ISA 2.06 but were not implemented
in all versions of hardware.  The four instructions are all supported
in ISA 2.07.  The instructions were put under the ISA 2.07 category
of supported instructions in this patch.

The VEX commit for this fix is r3137.

The bugzilla for this issue is 346324.

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

10 years agoFix statistics about ctxt_rcec :
Philippe Waroquiers [Fri, 17 Apr 2015 21:19:43 +0000 (21:19 +0000)] 
Fix statistics about ctxt_rcec :
* the nr of discards was always 0
* the cur nr of values was shown as max

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

10 years agoFollowup to r15101. Remove pointless cast. The castee already
Florian Krohm [Fri, 17 Apr 2015 08:56:11 +0000 (08:56 +0000)] 
Followup to r15101. Remove pointless cast. The castee already
has that type.

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

10 years agoFix the compiler warning about casting the arguments to the functions
Carl Love [Thu, 16 Apr 2015 16:25:29 +0000 (16:25 +0000)] 
Fix the compiler warning about casting the arguments to the functions
LibVEX_GuestPPC64_get_CR() and LibVEX_GuestPPC64_get_XER().

The bugzilla for this issue is 346267.

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

10 years agoFix function call: 1st argument is the thread id.
Florian Krohm [Wed, 15 Apr 2015 21:45:57 +0000 (21:45 +0000)] 
Fix function call: 1st argument is the thread id.

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

10 years agoFollowing fix done in tilegx host in vex: r3130, reenable tilegx as host
Philippe Waroquiers [Wed, 15 Apr 2015 20:30:52 +0000 (20:30 +0000)] 
Following fix done in tilegx host in vex: r3130, reenable tilegx as host
in libvexmultiarch_test

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

10 years agoUpdate list of ignored files.
Florian Krohm [Wed, 15 Apr 2015 18:35:52 +0000 (18:35 +0000)] 
Update list of ignored files.

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

10 years agoTo address memcheck/tests/leak-segv-jmp test failure for TILEGX
Zhi-Gang Liu [Wed, 15 Apr 2015 03:26:38 +0000 (03:26 +0000)] 
To address memcheck/tests/leak-segv-jmp test failure for TILEGX
By: Zhi-Gang Liu       zhg.liu@gmail.com

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

10 years agoAdd TILEGX arch. specific syscall #245, __NR_cacheflush
Zhi-Gang Liu [Wed, 15 Apr 2015 03:22:17 +0000 (03:22 +0000)] 
Add TILEGX arch. specific syscall #245, __NR_cacheflush
By:Zhi-Gang Liu

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

10 years agoFix the bigcode test failure for TILEGX
Zhi-Gang Liu [Wed, 15 Apr 2015 02:56:20 +0000 (02:56 +0000)] 
Fix the bigcode test failure for TILEGX
By: Zhi-Gang Liu

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

10 years agoAddress minor issues in Julian's last review.
Zhi-Gang Liu [Wed, 15 Apr 2015 02:33:09 +0000 (02:33 +0000)] 
Address minor issues in Julian's last review.
For TILEGX only.
By: Zhi-Gang Liu

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

10 years agoAdd 'allexec.c' in "none/tests/tilegx"
Zhi-Gang Liu [Wed, 15 Apr 2015 00:56:40 +0000 (00:56 +0000)] 
Add 'allexec.c' in "none/tests/tilegx"

The symbolic link 'allexec.c' -> ../allecec.c

By: Zhi-Gang Liu
zhg.liu@gmail.com

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

10 years agoRemove allecec.c from none/tests/tilegx
Zhi-Gang Liu [Wed, 15 Apr 2015 00:48:34 +0000 (00:48 +0000)] 
Remove allecec.c from none/tests/tilegx

Will add a symbolic link for that file next.

Zhi-Gang Liu

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

10 years agoFollowup to r14974. That revision oversimplified a condition, part
Florian Krohm [Tue, 14 Apr 2015 19:59:21 +0000 (19:59 +0000)] 
Followup to r14974. That revision oversimplified a condition, part
of which was presumed to be redundant but wasn't. This caused code
to hang due to an infinite signal-delivery loop. Observed and
tracked down by Austin English.

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

10 years agoMake the version checking for Apple LLVM a bit less strict.
Julian Seward [Mon, 13 Apr 2015 11:41:30 +0000 (11:41 +0000)] 
Make the version checking for Apple LLVM a bit less strict.

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

10 years agoUn-break the Darwin build after r15078. Patch from Mark Pauley
Julian Seward [Mon, 13 Apr 2015 11:39:50 +0000 (11:39 +0000)] 
Un-break the Darwin build after r15078.  Patch from Mark Pauley
(pauley@unsaturated.net).

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

10 years agoUpdate list of ignored files.
Florian Krohm [Sat, 11 Apr 2015 18:50:47 +0000 (18:50 +0000)] 
Update list of ignored files.

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

10 years agoAdd 2 tests none/tests/libvex_test and libvexmultiarch_test
Philippe Waroquiers [Sat, 11 Apr 2015 14:32:25 +0000 (14:32 +0000)] 
Add 2 tests none/tests/libvex_test and libvexmultiarch_test

The objective of libvex_test is to verify that the VEX lib
can be used in 'single arch mode' (host == guest).

The objective of libvexmultiarch_test is to verify that the VEX lib
can be used in 'multi arch mode' (freely choose host and guest).
(but not many combinations are working: if wordsize or endianess
differs, then libVEX quickly asserts somewhere).

libvex_test.c is somewhat bizarre, as it uses the architecture
for which we have compiled as the guest, and use a 'foreign' arch
as the host.
That allows to avoid having to define in the test a bunch
of arch specific asm instructions : the test just decode a part
of its own code, and translate it to other archs.

By default, only the combination host == guest is run.
Arguments must be given to run other combinations.
See libvex_test.c for a description on how to specify which combinations
to run.

LibVEX host != guest does not (yet?) work when endianess or word size differs
between host and guest.

Also, currently, TILEGX host is not working properly (unless guest is also
TILEGX), as the evcheck instructions generated differs according to
the offset of the host_EvC_{FAILADDR,COUNTER}.

So, using TILEGX as host is only done when guest is also TILEGX.

Note that it is possible to specify a specific host arch to use.
For example, to force TILEGX to be used, do:
./none/tests/libvexmultiarch_test 1034
(where 1034 is the decimal value corresponding to the enum VexArchTILEGX.
This currently aborts with:
...
------------------------ Assembly ------------------------

EvCheck   (evCheck) ld r11, 8(r50); addli r11, r11, -1; st r11, 8(r50); bgez r11, nofail; jalr *(r50); nofail:

vex: priv/host_tilegx_defs.c:2353 (emit_TILEGXInstr): Assertion `evCheckSzB_TILEGX() == (UChar*)p - (UChar*)p0' failed.
//// failure exit called by libVEX
Whe TILEGX is fixed, we can remove the specific condition that avoids using
TILEGX as host.

Small changes have been done on VEX to allow more combinations
to work:
* host_mips_defs.c : when not compiled on mips,
  a lot of mips specific code is not compiled at all, because
  one of _MIPSEL or _MIPSEB must be defined to have either the
  little endian code or big endian code.
  emit32 function must however work to use mips as host.
  So, for this function, if _MIPSEL is not defined, then
  the big endian code is compiled in by default.
  (the mips endianess should probably be handled like the ppc
   endianess, for which the endianness to use is decided at runtime).

* host_arm64_isel.c : addition of a 'do not emit anything' for
   ABI HINT (avoid an assert e.g. for amd64 guest, arm64 host)

* libvex_guest_amd64.h : when I was still hoping mixing amd64 and x86,
  a first assert was firing up due to size/alignment
  of VexGuestAMD64State when compiled in 32 bits.
  => addition of pad elements to ensure the size and alignment
  of VexGuestAMD64State stays the same when compiled in 32 and
  64 bits (the 64 bits layout is unchanged).

The new tests have been run on x86/amd64/ppc64/s390x.
It is very well possible that the tests will fail on untested archs
(ppc32 or mips* or arm* or tilegx)
(e.g. because the hardcoded hwcaps in libvex_test.c are not ok).
It should be relatively trivial to fix these hwcaps problems.
Some other problems might be less easy to understand and fix
(e.g. similar to the TILEGX evcheck or mips emit32 problem).

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

10 years agoRemove useless arguments in sparsewa, that were inheritated from WordFM
Philippe Waroquiers [Sat, 11 Apr 2015 11:42:22 +0000 (11:42 +0000)] 
Remove useless arguments in sparsewa, that were inheritated from WordFM
These arguments are not needed for sparsewa, as they can only
return the key given in input.

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

10 years agoHave the event map GC use the same approach as the other GC
Philippe Waroquiers [Fri, 10 Apr 2015 19:34:14 +0000 (19:34 +0000)] 
Have the event map GC use the same approach as the other GC
done from libhb_maybe_GC, i.e. check the condition in
libhb_maybe_GC, and call the (non inlined) GC only if
a GC is needed.

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

10 years agoUpdate expected result for leak-segv-jmp, following TileGX addition of
Philippe Waroquiers [Fri, 10 Apr 2015 19:08:17 +0000 (19:08 +0000)] 
Update expected result for leak-segv-jmp, following TileGX addition of
a few lines in leak-segv-jmp.c

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

10 years agoAdd a port to Linux/TileGx. Zhi-Gang Liu (zliu@tilera.com)
Julian Seward [Fri, 10 Apr 2015 12:30:09 +0000 (12:30 +0000)] 
Add a port to Linux/TileGx.  Zhi-Gang Liu (zliu@tilera.com)
Valgrind aspects, to match vex r3124.

See bug 339778 - Linux/TileGx platform support to Valgrind

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

10 years agoAdd missing stdout.exp file
Philippe Waroquiers [Thu, 9 Apr 2015 20:07:11 +0000 (20:07 +0000)] 
Add missing stdout.exp file

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

10 years agoADD AT_DCACHEBSIZE and AT_HWCAP2 support for POWER PC
Carl Love [Thu, 9 Apr 2015 16:23:20 +0000 (16:23 +0000)] 
ADD AT_DCACHEBSIZE and AT_HWCAP2 support for POWER PC

Valgrind currently does not support the following AUX vector entries:
AT_DCACHEBSIZE, and AT_HWCAP2. By default these entries are suppressed by
Valgrind. The attached patch adds the needed support so the user level programs
can correctly determine that hardware level they are running on. Specifically
that the ISA 2.07 for Power 8 is supported.

Bugzilla 345695

This fix adds the needed support.  It makes a minor change to allow the
VEX settings of the host platform to be passed down so they can be checked
against the HWCAP values.

The files touched are:
  coregrind/m_initimg/initimg-linux.c
  coregrind/pub_core_initimg.h
  coregrind/m_main.c

committed by Carl Love cel@us.ibm.com

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

10 years agoAssorted cleanups: remove magic constants and unneeded header file. Update
Florian Krohm [Wed, 8 Apr 2015 19:01:15 +0000 (19:01 +0000)] 
Assorted cleanups: remove magic constants and unneeded header file. Update
a few comments. Exit with code 127 in bash emulation mode when file was
not found.

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

10 years agoConsolidate shell script testcases without interpreter.
Florian Krohm [Wed, 8 Apr 2015 12:20:04 +0000 (12:20 +0000)] 
Consolidate shell script testcases without interpreter.

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

10 years agoCertain kernels on s390 provide extra read permissions on executable
Florian Krohm [Tue, 7 Apr 2015 20:43:55 +0000 (20:43 +0000)] 
Certain kernels on s390 provide extra read permissions on executable
segments. See discussion here: https://bugs.kde.org/show_bug.cgi?id=345824#c4
Making sure that rx and x compare equal.

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

10 years agoTrack vex r3120, that changed the type of Iop_Sqrt64x2 and Iop_Sqrt32x4.
Julian Seward [Tue, 7 Apr 2015 09:08:42 +0000 (09:08 +0000)] 
Track vex r3120, that changed the type of Iop_Sqrt64x2 and Iop_Sqrt32x4.

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

10 years agoFollowup to r14898 which changes the storage of segment names by
Florian Krohm [Mon, 6 Apr 2015 21:34:30 +0000 (21:34 +0000)] 
Followup to r14898 which changes the storage of segment names by
putting them into a string table.
This patch adds reference counting to segment names and frees them
when they are no longer used. The so freed memory can be reclaimed to
store future segment names.
New file coregrind/m_aspacemgr/aspacemgr-segnames.c which has all the
code dealing with segment names. Carved out of aspacemgr-linux.c
Detailled comments in the code.
Fixes BZ 344559.

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

10 years agoarm64: remove redundant comment on test cases for FSQRT 2d_2d, 4s_4s, 2s_2s
Julian Seward [Mon, 6 Apr 2015 19:41:12 +0000 (19:41 +0000)] 
arm64: remove redundant comment on test cases for FSQRT 2d_2d, 4s_4s, 2s_2s
(should have been included in r15071).  No functional change.

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

10 years agoarm64: enable test cases for
Julian Seward [Mon, 6 Apr 2015 19:35:08 +0000 (19:35 +0000)] 
arm64: enable test cases for
FSQRT 2d_2d, 4s_4s, 2s_2s

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

10 years agoMemcheck: add support for recently added IROps:
Julian Seward [Mon, 6 Apr 2015 14:52:28 +0000 (14:52 +0000)] 
Memcheck: add support for recently added IROps:
Iop_F64toF16
Iop_F32toF16
Iop_F16toF64
Iop_F16toF32

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

10 years agoarm64: enable test cases for
Julian Seward [Mon, 6 Apr 2015 14:49:42 +0000 (14:49 +0000)] 
arm64: enable test cases for

SCVTF d_d_imm, s_s_imm
UCVTF d_d_imm, s_s_imm
FCVTZS d_d_imm, s_s_imm
FCVTZU d_d_imm, s_s_imm
FCVTXN s_d
SCVTF d_d, s_s
UCVTF d_d, s_s
SCVTF {2d_2d,4s_4s,2s_2s}_imm
UCVTF {2d_2d,4s_4s,2s_2s}_imm
FCVTZS {2d_2d,4s_4s,2s_2s}_imm
FCVTZU {2d_2d,4s_4s,2s_2s}_imm
FCVTXN 2s/4s_2d
FCVTZ{S,U} {w,x}_{s,x}_#fbits

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

10 years agoThe linux launcher showed some odd behaviour. When given a shell script
Florian Krohm [Mon, 6 Apr 2015 14:29:45 +0000 (14:29 +0000)] 
The linux launcher showed some odd behaviour. When given a shell script
named 'now' with this contents:

#!
/bin/date

the platform selection logic does this:

--11196:1:launcher no tool requested, defaulting to 'memcheck'
--11196:2:launcher   selecting platform for './now'
--11196:2:launcher   selecting platform for './now'
--11196:2:launcher   opened './now'
--11196:2:launcher   read 13 bytes from './now'
--11196:2:launcher   selecting platform for ''
--11196:2:launcher   selecting platform for '/home/florian/bin/'
--11196:2:launcher   opened '/home/florian/bin/'
--11196:2:launcher   selected platform 'unknown'
--11196:1:launcher no platform detected, defaulting platform to 'amd64-linux'

That is not quite right. Instead the platform should be determined by
examining the default shell.
Additionally, define VKI_BINPRM_BUF_SIZE because on linux only that many
characters are considered on a #! line. C.f. <linux>/fs/binfmt_script.c
m_ume/* needs to be adapted as well but that is a different patch.

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

10 years agoIgnore generated files.
Florian Krohm [Mon, 6 Apr 2015 14:24:44 +0000 (14:24 +0000)] 
Ignore generated files.

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

10 years agoTweak STATIC_ASSERT such that there is no warning about an unused
Florian Krohm [Sat, 4 Apr 2015 18:43:00 +0000 (18:43 +0000)] 
Tweak STATIC_ASSERT such that there is no warning about an unused
variable when used at block scope.

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

10 years agoNew directory: none/tests/scripts
Florian Krohm [Fri, 3 Apr 2015 15:47:19 +0000 (15:47 +0000)] 
New directory: none/tests/scripts
Move corresponding testcases there.

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

10 years agoAdd testcase for BZ 231357.
Florian Krohm [Thu, 2 Apr 2015 22:02:24 +0000 (22:02 +0000)] 
Add testcase for BZ 231357.
To do that a small enhancement to vg_regtest was needed:
(1) New declaration to allow specifying an environemnt variable
    that is set prior to invoking valgrind.
    eg:    env:  VAR=VAL
    There can be more than one such declaration
(2) prog-asis:  program_name
    This is like prog: except the program name is not prefixed with
    the testdir.

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

10 years agoWhen skipping white space after #! to find the interpreter
Florian Krohm [Thu, 2 Apr 2015 16:07:41 +0000 (16:07 +0000)] 
When skipping white space after #! to find the interpreter
only skip ' ' and tabs.

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

10 years agoAdd a test that triggers sector recycling
Philippe Waroquiers [Wed, 1 Apr 2015 22:51:07 +0000 (22:51 +0000)] 
Add a test that triggers sector recycling
(cfr bug fix in revision 15058: without 15058, the below test
loops for ever).

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

10 years agoCommit the VEX makefile changes needed to have the libvexmultiarch
Philippe Waroquiers [Wed, 1 Apr 2015 20:06:26 +0000 (20:06 +0000)] 
Commit the VEX makefile changes needed to have the libvexmultiarch
build and installed by default

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

10 years agoFix function sr_EQ which compares two SysRes values. On Linux it was
Florian Krohm [Wed, 1 Apr 2015 19:20:16 +0000 (19:20 +0000)] 
Fix function sr_EQ which compares two SysRes values. On Linux it was
forgotten to compare SysRes::_valEx.

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

10 years agoFix infinite loop in sector recycling introduced by r15054
Philippe Waroquiers [Wed, 1 Apr 2015 18:15:42 +0000 (18:15 +0000)] 
Fix infinite loop in sector recycling introduced by r15054
(a regression test that will exercise sector recycling will follow)

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

10 years agoAnnounce fix for 231257. A pretty old BZ. We must have fixed this
Florian Krohm [Wed, 1 Apr 2015 15:07:34 +0000 (15:07 +0000)] 
Announce fix for 231257. A pretty old BZ. We must have fixed this
in the meantime...

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

10 years agoFix Darwin: -v does not show kernel version
Rhys Kidd [Wed, 1 Apr 2015 12:15:49 +0000 (12:15 +0000)] 
Fix Darwin: -v does not show kernel version
bz#201435

Before:

== 590 tests, 237 stderr failures, 22 stdout failures, 0 stderrB failures, 0 stdoutB failures, 31 post failures ==

After:

== 590 tests, 237 stderr failures, 22 stdout failures, 0 stderrB failures, 0 stdoutB failures, 31 post failures ==

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

10 years agoUpdate list of ignored files.
Florian Krohm [Tue, 31 Mar 2015 22:19:23 +0000 (22:19 +0000)] 
Update list of ignored files.

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

10 years agoFurther reduction of the size of the sector TTE tables
Philippe Waroquiers [Tue, 31 Mar 2015 20:38:52 +0000 (20:38 +0000)] 
Further reduction of the size of the sector TTE tables
For default memcheck configuration, 32 bits) this patch
decreases by 13.6 MB ie. from 89945856 to 76317696.

Note that the type EClassNo is introduced only for readibility
purpose (and avoid some cast). That does not change the size
of the TTEntry.
The TTEntry size is reduced by using unions and/or Bool on 1 bit.

No performance impact detected (outer callgrind/inner memcheck bz2
on x86 shows a small improvement).

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

10 years agoFix a typo
Philippe Waroquiers [Mon, 30 Mar 2015 21:29:54 +0000 (21:29 +0000)] 
Fix a typo

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

10 years agoUn-break the build following vex r3110. Thanks to PetarJ for the fix.
Julian Seward [Mon, 30 Mar 2015 19:14:35 +0000 (19:14 +0000)] 
Un-break the build following vex r3110.  Thanks to PetarJ for the fix.

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

10 years agoarm64: enable test cases for
Julian Seward [Mon, 30 Mar 2015 18:50:23 +0000 (18:50 +0000)] 
arm64: enable test cases for
FCVT{N,M,A,P,Z}{S,U} 2d_2d, 4s_4s, 2s_2s

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

10 years agoarm64: add test cases for
Julian Seward [Mon, 30 Mar 2015 09:11:34 +0000 (09:11 +0000)] 
arm64: add test cases for
FCVT{N,M,A,P,Z}{S,U} d_d, s_s
FCVTN 4h/8h_4s, 2s/4s_2d
FCVTL 4s_4h/8h, 2d_2s/4s
FCVT Sd, Hn
FCVT Dd, Hn
FCVT Hd, Sn
FCVT Hd, Dn

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

10 years agomips: update list of ignored files in auxprogs
Petar Jovanovic [Mon, 30 Mar 2015 00:05:54 +0000 (00:05 +0000)] 
mips: update list of ignored files in auxprogs

Update the ignore list with:
- getoff-mips32-linux
- getoff-mips64-linux

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

10 years agoFix memcheck/tests/sendmsg on OS X
Rhys Kidd [Sun, 29 Mar 2015 05:21:15 +0000 (05:21 +0000)] 
Fix memcheck/tests/sendmsg on OS X
bz#345637
- Support the lowercase for of libsystem* in filter_libc script

Before:

== 590 tests, 238 stderr failures, 22 stdout failures, 0 stderrB failures, 0 stdoutB failures, 31 post failures ==

After:

== 590 tests, 237 stderr failures, 22 stdout failures, 0 stderrB failures, 0 stdoutB failures, 31 post failures ==

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

10 years agoAdd STATIC_ASSERT and use it.
Florian Krohm [Sat, 28 Mar 2015 18:36:01 +0000 (18:36 +0000)] 
Add STATIC_ASSERT and use it.

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

10 years agoExtensible main thread stack is tricky :(.
Philippe Waroquiers [Sat, 28 Mar 2015 12:52:23 +0000 (12:52 +0000)] 
Extensible main thread stack is tricky :(.

Revision 14976 causes a regression : stacktrace produced when the
stack has not yet been extended to cover SP will only contain one
element, as the stack limits are considered to be the limits of
the resvn segment.

This patch fixes that, by taking Resvn/SmUpper segment into
account to properly compute the limits.
It also contains a new regtest that fails with the trunk
(only one function in the stacktrace)
and succeeds with this patch (the 2 expected functions).

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

10 years agoThe hint given by Valgrind gdbserver when enabling host visibility
Philippe Waroquiers [Sat, 28 Mar 2015 12:23:07 +0000 (12:23 +0000)] 
The hint given by Valgrind gdbserver when enabling host visibility
in gdbserver was wrongly giving the file load address,
instead of the text segment address start.
This means that GDB was then showing wrong symbols for an address
(typically, symbols slightly before the address being printed).

This patch ensures the hint given is using the text start address.

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

10 years agoHelgrind optimisation:
Philippe Waroquiers [Sat, 28 Mar 2015 12:01:58 +0000 (12:01 +0000)] 
Helgrind optimisation:
* do VTS pruning only if new threads were declared
  very dead since the last pruning round.
* When doing pruning, use the new list of threads very dead
  to do the pruning : this decreases the cost of the dichotomic search
  in VTS__substract

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

10 years agomips64: extend the test with new cases for Cavium SEQI and SNEI
Petar Jovanovic [Sat, 28 Mar 2015 00:59:32 +0000 (00:59 +0000)] 
mips64: extend the test with new cases for Cavium SEQI and SNEI

Extend the test to introduce cases for SEQI and SNEI when immediate is
equal to the content of the GPR rs. Minor code style changes added.

Patch by Maran Pakkirisamy.

Related issue - BZ #341997.

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

10 years agoChange the minimum allowable value of aspacem_minAddr to
Florian Krohm [Fri, 27 Mar 2015 08:47:22 +0000 (08:47 +0000)] 
Change the minimum allowable value of aspacem_minAddr to
be VKI_PAGE_SIZE. That follows from the requirement that
the address ought to be page aligned and > 0.

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

10 years agoImprove --stats=yes:
Philippe Waroquiers [Thu, 26 Mar 2015 22:12:40 +0000 (22:12 +0000)] 
Improve --stats=yes:
 * give the avg nr of IPs per execontext
 * use the newly introduced %f in m_transtab.c ratio
   and in the avg nr of execontext per list

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

10 years agoAdd function VG_(am_is_valid_for_aspacem_minAddr) so that the parser
Florian Krohm [Thu, 26 Mar 2015 21:55:00 +0000 (21:55 +0000)] 
Add function VG_(am_is_valid_for_aspacem_minAddr) so that the parser
for command line options does not need to know what addresses are valid
for aspacem_minAddr.
That information should be hidden in the address space manager.

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

10 years agoHave the very detailed gdbsrv debuglog (e.g. exchange of packets
Philippe Waroquiers [Thu, 26 Mar 2015 21:32:03 +0000 (21:32 +0000)] 
Have the very detailed gdbsrv debuglog (e.g. exchange of packets
between GDB and V gdbsrv, fetching/setting registers, ...) done
at debuglog level 3 instead of 1.
This allows to do gdbsrv commands at debuglog level 2
without seeing too much trace.

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

10 years agoFurther fixes for bz#345394 specifically for OS X 10.10
Rhys Kidd [Thu, 26 Mar 2015 10:14:25 +0000 (10:14 +0000)] 
Further fixes for bz#345394 specifically for OS X 10.10

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

10 years ago* Add in helgrind stats the nr of live/exit/joined/exit and joined threads
Philippe Waroquiers [Tue, 24 Mar 2015 14:02:44 +0000 (14:02 +0000)] 
* Add in helgrind stats the nr of live/exit/joined/exit and joined threads
* avoid division by 0 in m_transtab.c stats before anything was done

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

10 years agoThis patch further reduces the memory used by TT/TC (by about 15Mb
Philippe Waroquiers [Mon, 23 Mar 2015 21:49:32 +0000 (21:49 +0000)] 
This patch further reduces the memory used by TT/TC (by about 15Mb
on 32 bits memcheck default nr of sectors).

Memory is reduced by using UShort typedef-s for Sector no and TTE no.
Note that for TTE no, we had a mixture of UShort, UInt and Int used
depending on the place (a TTE no was in any case constrained to be an UShort).

The bss memory/startup space is also reduced by allocating the htt on demand
(like tt and tc), using mmap the first time a sector is initialised.

Changes:
* pub_core_transtab.h :
   * 2 typedef to identify a sector and a tt entry (these 2 types are UShort)
   * add 2 #define 'invalid values' for these types
   * change the interface to use these types rather than UInt
* m_transtab.c
   * use wherever relevant these 2 new types rather than UInt or UShort
   * replace the use of -1 by INV_SNO or INV_TTE
   * remove now useless typecast from Int/UInt to UShort for tte
* schedule.c: use the new types

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

10 years agoSimplify expression.
Florian Krohm [Mon, 23 Mar 2015 20:04:14 +0000 (20:04 +0000)] 
Simplify expression.

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

10 years agoAdd VG_(am_is_bogus_client_stack_pointer)(Addr).
Florian Krohm [Mon, 23 Mar 2015 17:13:04 +0000 (17:13 +0000)] 
Add VG_(am_is_bogus_client_stack_pointer)(Addr).
The function is used in VG_(client_syscall) to avoid extending the stack
when it is clear that the current value of the stack pointer does not
point into a segment that looks like a stack segment.
See the comments in the code there.
As a side effect of this we can now revert r15018 which increased
the stack size of the alternate stack in memcheck/tests/sigaltstack.c.
The reason is that the belief at the time: "alternate stack is too small"
was not correct. What instead happened was that VG_(client_syscall) called
VG_(extend_stack) without need (the syscall was tgkill) and the new stack
pointer happened to be in a file segment.
In other words: the current stack pointer was still within the alternate
stack, i.e. the alternate stack was (barely) large enough.

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

10 years agoInclude the platform name in the unhandled system call message
Tom Hughes [Sun, 22 Mar 2015 11:01:58 +0000 (11:01 +0000)] 
Include the platform name in the unhandled system call message

We often get bug reports for an unhandled system call which don't
make it clear what platform is in use, which makes it impossible
to know which system call it is.

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

10 years agoFix leak : only strdup in SectKind.objname if a SectKind address is returned
Philippe Waroquiers [Sat, 21 Mar 2015 20:55:36 +0000 (20:55 +0000)] 
Fix leak : only strdup in SectKind.objname if a SectKind address is returned

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

10 years ago343902 --vgdb=yes doesn't break when --xml=yes is used
Philippe Waroquiers [Sat, 21 Mar 2015 16:13:08 +0000 (16:13 +0000)] 
343902  --vgdb=yes doesn't break when --xml=yes is used

Changes ensures that gdbserver is called also when xml is yes.
When gdbserver is set to yes, we have to temporarily reset
xml output to no, as gdbserver output (e.g. print the last error)
has to be printed to gdb.

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

10 years agoFix memcheck/tests/strchr on OS X
Rhys Kidd [Sat, 21 Mar 2015 14:25:02 +0000 (14:25 +0000)] 
Fix memcheck/tests/strchr on OS X
bz#345394
- Support the required index and _platform_strchr alias

Before:

== 589 tests, 239 stderr failures, 22 stdout failures, 0 stderrB failures, 0 stdoutB failures, 31 post failures ==

After:

== 589 tests, 238 stderr failures, 22 stdout failures, 0 stderrB failures, 0 stdoutB failures, 31 post failures ==

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

10 years agoChange the GCC demangler to not use VLA. The rationale is that these VLAs
Florian Krohm [Sat, 21 Mar 2015 10:58:37 +0000 (10:58 +0000)] 
Change the GCC demangler to not use VLA. The rationale is that these VLAs
are allocated on the stack and they can become quite large - in particular
when the client is a C++ application using the Boost library.
In combination with the demanglers recursive nature this can quickly lead
to exhaustion of valgrind's per-thread stack (which cannot be dynamically
grown). Additionally, due to the large VLAs (I've seen a 32k array) we
could run out of stack space without issuing a prior warning and instead
just segfault.
Therefore this patch allocates these arrays on the heap and frees them
later. Basically this is a respin of Joseph's r10385.

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

10 years agoAddress darwin compile issue introduced in r15013, due to _IOC_NONE
Rhys Kidd [Sat, 21 Mar 2015 06:35:32 +0000 (06:35 +0000)] 
Address darwin compile issue introduced in r15013, due to _IOC_NONE

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

10 years agoFix parsing the %z format specifier. Need to advance to next character.
Florian Krohm [Fri, 20 Mar 2015 16:45:02 +0000 (16:45 +0000)] 
Fix parsing the %z format specifier. Need to advance to next character.

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

10 years agoAdd ecag.stdout.exp-z13.
Florian Krohm [Fri, 20 Mar 2015 09:40:23 +0000 (09:40 +0000)] 
Add ecag.stdout.exp-z13.

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

10 years agoDo not reuse Creg_IA_* for s390. Add dedicated entries Creg_S390_...
Florian Krohm [Fri, 20 Mar 2015 09:38:58 +0000 (09:38 +0000)] 
Do not reuse Creg_IA_* for s390. Add dedicated entries Creg_S390_...

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

10 years agoRemove config files for no-longer-existing s390 builds.
Florian Krohm [Fri, 20 Mar 2015 08:17:28 +0000 (08:17 +0000)] 
Remove config files for no-longer-existing s390 builds.

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

10 years agoChange TT/TC hashing data structure (decreases memory by 50MB for memcheck 32bits)
Philippe Waroquiers [Thu, 19 Mar 2015 22:17:08 +0000 (22:17 +0000)] 
Change TT/TC hashing data structure (decreases memory by 50MB for memcheck 32bits)

This patch changes the way the transtab entries hash table is done.
Currently, the hash table is an open hash table considered full at 65%.
This means that in average, 1 entry on 3 is unused.
(all the hash table memory will be 'active' for big applications,
as the active entries are normally reasonably distributed over the hash table).
The size of a transtab entry is significant (about 150 Bytes).

To avoid having 35% of the entries unused, the translation table
is split in 2:
An hash table, that will contain an index pointing at the transtab entries.
With this technique, we are adding a small hash table,
but we spare 35% of the translation table.

Performance measurements have shown no degradation,
and some platforms have better performance. Not too clear why,
probably this helps platforms with small caches ?).

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

10 years agoAdd nightly script for wildebeest[32] (debian x86), lfedora1 (fedora s390x)
Mark Wielaard [Thu, 19 Mar 2015 11:27:46 +0000 (11:27 +0000)] 
Add nightly script for wildebeest[32] (debian x86), lfedora1 (fedora s390x)

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

10 years agoadd cache info for z13
Christian Borntraeger [Tue, 17 Mar 2015 15:48:11 +0000 (15:48 +0000)] 
add cache info for z13

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

10 years agoMinimal update to recognise z13 (s390).
Florian Krohm [Tue, 17 Mar 2015 13:45:29 +0000 (13:45 +0000)] 
Minimal update to recognise z13 (s390).

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

10 years agoMerge the contents of docs/internals/howto_build_documentation
Florian Krohm [Mon, 16 Mar 2015 22:42:13 +0000 (22:42 +0000)] 
Merge the contents of docs/internals/howto_build_documentation
into docs/README.
Remove the section about the XML Toolchain as it is outdated.

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

10 years agoIncrease the size of the alternate stack. It was too small.
Florian Krohm [Mon, 16 Mar 2015 22:03:42 +0000 (22:03 +0000)] 
Increase the size of the alternate stack. It was too small.
This was found by accident and there is no known way to detect
an overflow of an alternate stack in the general case.

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

10 years agoAdd a howto for building documentation.
Florian Krohm [Mon, 16 Mar 2015 12:22:35 +0000 (12:22 +0000)] 
Add a howto for building documentation.

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

10 years agoNew Option --avg-transtab-entry-size=<number> can be used to tune
Philippe Waroquiers [Sun, 15 Mar 2015 12:24:19 +0000 (12:24 +0000)] 
New Option --avg-transtab-entry-size=<number> can be used to tune
  the size of the translation table sectors, either to gain memory
  or to avoid too many retranslations.

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

10 years agoFix the following errors detected by makefile check
Philippe Waroquiers [Sun, 15 Mar 2015 12:22:43 +0000 (12:22 +0000)] 
Fix the following errors detected by makefile check
memcheck/tests/Makefile.am:1: error: wrap8.stderr.exp-ppc64 is missing in EXTRA_DIST
memcheck/tests/Makefile.am:1: error: wrap8.stdout.exp-ppc64 is missing in EXTRA_DIST
memcheck/tests/Makefile.am:1: error: wrap8.stdout.exp2 is in EXTRA_DIST but doesn't exist
memcheck/tests/Makefile.am:1: error: wrap8.stderr.exp2 is in EXTRA_DIST but doesn't exist

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

10 years agoAdd option --loop-till-fail to tests/vg_regtests
Philippe Waroquiers [Sat, 14 Mar 2015 18:29:35 +0000 (18:29 +0000)] 
Add option --loop-till-fail to tests/vg_regtests
to make it easier to obtain failing trace or unfiltered output for
tests that fail from time to time

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