]> git.ipfire.org Git - thirdparty/valgrind.git/log
thirdparty/valgrind.git
7 years agoMerge VEX_3_9_BRANCH into VALGRIND_3_9_BRANCH svn/VALGRIND_3_9_BRANCH svn/VALGRIND_3_9_0
Ivo Raisr [Mon, 14 Aug 2017 10:26:26 +0000 (12:26 +0200)] 
Merge VEX_3_9_BRANCH into VALGRIND_3_9_BRANCH

11 years ago--> 3.9.0 final.
Julian Seward [Thu, 31 Oct 2013 23:31:51 +0000 (23:31 +0000)] 
--> 3.9.0 final.

git-svn-id: svn://svn.valgrind.org/valgrind/branches/VALGRIND_3_9_BRANCH@13708

11 years agoFix (old-compiler-specific?) compile problem in
Julian Seward [Mon, 28 Oct 2013 10:57:29 +0000 (10:57 +0000)] 
Fix (old-compiler-specific?) compile problem in
memcheck/tests/reach_thread_register.c.  (Florian Krohm)

git-svn-id: svn://svn.valgrind.org/valgrind/branches/VALGRIND_3_9_BRANCH@13704

11 years agoAdd Maran Pakkirisamy.
Julian Seward [Mon, 28 Oct 2013 10:31:50 +0000 (10:31 +0000)] 
Add Maran Pakkirisamy.

git-svn-id: svn://svn.valgrind.org/valgrind/branches/VALGRIND_3_9_BRANCH@13703

11 years agoMerge (from trunk) r13701: mips64: add missing headers to EXTRA_DIST
Julian Seward [Mon, 28 Oct 2013 10:28:46 +0000 (10:28 +0000)] 
Merge (from trunk) r13701: mips64: add missing headers to EXTRA_DIST

git-svn-id: svn://svn.valgrind.org/valgrind/branches/VALGRIND_3_9_BRANCH@13702

11 years agoMerge, from trunk, r13688: move host code closer to generate code to
Julian Seward [Fri, 25 Oct 2013 06:27:19 +0000 (06:27 +0000)] 
Merge, from trunk, r13688: move host code closer to generate code to
improve branch predictor performance.

git-svn-id: svn://svn.valgrind.org/valgrind/branches/VALGRIND_3_9_BRANCH@13695

11 years ago--> 3.9.0.TEST1
Julian Seward [Thu, 24 Oct 2013 09:38:03 +0000 (09:38 +0000)] 
--> 3.9.0.TEST1

git-svn-id: svn://svn.valgrind.org/valgrind/branches/VALGRIND_3_9_BRANCH@13693

11 years agoNote increased max mem size.
Julian Seward [Thu, 24 Oct 2013 09:11:32 +0000 (09:11 +0000)] 
Note increased max mem size.

git-svn-id: svn://svn.valgrind.org/valgrind/branches/VALGRIND_3_9_BRANCH@13692

11 years agoMore documentation updates, regarding the match-leak-kinds: line
Julian Seward [Thu, 24 Oct 2013 08:59:38 +0000 (08:59 +0000)] 
More documentation updates, regarding the match-leak-kinds: line
in auto-generated leak suppressions.

git-svn-id: svn://svn.valgrind.org/valgrind/branches/VALGRIND_3_9_BRANCH@13691

11 years agoDocumentation updates for 3.9.0.
Julian Seward [Wed, 23 Oct 2013 22:38:41 +0000 (22:38 +0000)] 
Documentation updates for 3.9.0.

git-svn-id: svn://svn.valgrind.org/valgrind/branches/VALGRIND_3_9_BRANCH@13690

11 years agoMinor updates in 3.9.0 NEWS
Philippe Waroquiers [Wed, 23 Oct 2013 20:39:43 +0000 (20:39 +0000)] 
Minor updates in 3.9.0 NEWS
Small fixes
Moved a functionality non memcheck specific to another section

git-svn-id: svn://svn.valgrind.org/valgrind/branches/VALGRIND_3_9_BRANCH@13689

11 years agoRemove duplicate entries for 3.9.0.
Julian Seward [Wed, 23 Oct 2013 12:58:18 +0000 (12:58 +0000)] 
Remove duplicate entries for 3.9.0.

git-svn-id: svn://svn.valgrind.org/valgrind/branches/VALGRIND_3_9_BRANCH@13683

11 years agoInitial cut at 3.9.0 release notes. What did I forget?
Julian Seward [Wed, 23 Oct 2013 12:52:15 +0000 (12:52 +0000)] 
Initial cut at 3.9.0 release notes.  What did I forget?

git-svn-id: svn://svn.valgrind.org/valgrind/branches/VALGRIND_3_9_BRANCH@13682

11 years agoBump the version on the branch.
Julian Seward [Wed, 23 Oct 2013 10:56:38 +0000 (10:56 +0000)] 
Bump the version on the branch.

git-svn-id: svn://svn.valgrind.org/valgrind/branches/VALGRIND_3_9_BRANCH@13678

11 years agoSwizzle external.
Julian Seward [Wed, 23 Oct 2013 10:46:17 +0000 (10:46 +0000)] 
Swizzle external.

git-svn-id: svn://svn.valgrind.org/valgrind/branches/VALGRIND_3_9_BRANCH@13677

11 years agoCreate branches/VALGRIND_3_9_BRANCH as a copy of trunk r13675.
Julian Seward [Wed, 23 Oct 2013 10:44:03 +0000 (10:44 +0000)] 
Create branches/VALGRIND_3_9_BRANCH as a copy of trunk r13675.

git-svn-id: svn://svn.valgrind.org/valgrind/branches/VALGRIND_3_9_BRANCH@13676

11 years agoCreate branches/VEX_3_9_BRANCH as a copy of trunk r2794.
Julian Seward [Wed, 23 Oct 2013 10:39:35 +0000 (10:39 +0000)] 
Create branches/VEX_3_9_BRANCH as a copy of trunk r2794.

git-svn-id: svn://svn.valgrind.org/vex/branches/VEX_3_9_BRANCH@2795

11 years agoAdd some suppresssions for leaks (really?) in dyld (the dynamic linker)
Julian Seward [Tue, 22 Oct 2013 22:41:52 +0000 (22:41 +0000)] 
Add some suppresssions for leaks (really?) in dyld (the dynamic linker)
on 64-bit OSX 10.8.

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

11 years agoIn an inner valgrind, register the interim stack earlier
Philippe Waroquiers [Tue, 22 Oct 2013 21:20:14 +0000 (21:20 +0000)] 
In an inner valgrind, register the interim stack earlier

The "late" registration of the interim stack is causing false
positive non addressable memcheck errors in x86.

Registering the interim stack earlier avoids these false positive.

Note however that this is just a bypass for the problem.

I believe there is a more fundamental problem in m_stacks.c stack handling:
In case a thread is switching of stack while the new stack is not yet
registered, the stack switching code will keep the old stack as current stack,
as the stack corresponding to the new sp cannot be found.
In such a case, the zone between the old and new SP in this unknown stack
can be marked either as addressable (if unknown stack is growing)
or unaddressable (if unknown stack is shrinking).
Then at some point in time, the new stack is registered.
If just after that, the sp is changed so as to grow the stack
by nr of bytes not determinable at translation time, VG_(unknown_SP_update)
will be called, will detect the stack switch and will do nothing.
This leaves a certain zone of the stack (the grown zone) in a not
addressable state, as the stack switch code has in fact wrongly
guessed a stack switch, while in fact what should have been detected
is just a sp change in a stack previously unknown.

Proper fixes might be:
 1. in "IF_STACK_SWITCH_SET_current_stack_AND_RETURN", do not return
    if old and new sp are in the stack stack.
    rather continue so as to execute correctly the sp change in
    the newly discovered stack.
and/or
 2. in the stack registration code (client request), if the current SP
    is inside the stack being registered, also set the current stack
    to the just registered stack pointer

None of these fixes are being looked at currently, as such changes looks
too adventurous close to 3.9.0

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

11 years agofix attribution of memcheck/tests/reach_thread_register.c code
Philippe Waroquiers [Tue, 22 Oct 2013 17:26:06 +0000 (17:26 +0000)] 
fix attribution of memcheck/tests/reach_thread_register.c code

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

11 years agomc_LOADVn_slow: also allow --partial-loads-ok=yes to grant an
Julian Seward [Tue, 22 Oct 2013 15:36:59 +0000 (15:36 +0000)] 
mc_LOADVn_slow: also allow --partial-loads-ok=yes to grant an
exemption for aligned 32 bit loads on 64 bit targets, since it appears
to be necessary.

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

11 years agoUpdate.
Julian Seward [Tue, 22 Oct 2013 14:46:55 +0000 (14:46 +0000)] 
Update.

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

11 years agomips32: Fixed the problem with FCSR register.
Dejan Jevtic [Tue, 22 Oct 2013 08:52:46 +0000 (08:52 +0000)] 
mips32: Fixed the problem with FCSR register.

Until now, Valgrind has read two registers to calculate FCSR
value. From now on, Valgrind reads exact number of fpu
registers (one or two).

git-svn-id: svn://svn.valgrind.org/vex/trunk@2794

11 years agoFix 324227 memcheck false positive leak when a thread calls exit+block
Philippe Waroquiers [Mon, 21 Oct 2013 19:57:08 +0000 (19:57 +0000)] 
Fix 324227  memcheck false positive leak when a thread calls exit+block
only reachable via other thread live register

The exiting thread will have its registers considered as not reachable
anymore, registers of other threads will be considered reachable.

This is ensured by using a different exit reason for the
exiting thread and for the other threads.

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

11 years agounbreak (future) Mac OS 10.9, 11.0, ... builds
Philippe Waroquiers [Mon, 21 Oct 2013 18:39:01 +0000 (18:39 +0000)] 
unbreak (future) Mac OS 10.9, 11.0, ... builds

Disappeared syscalls are better
  #ifdef-ed with "< version_in_which_they_disappear"

Newly appeared syscalls are better
  #ifdef-ed with ">= version_in_which_they_appear"

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

11 years agoEnable sys_rt_sigsuspend on ppc64-linux. Not sure why this is
Julian Seward [Mon, 21 Oct 2013 10:07:43 +0000 (10:07 +0000)] 
Enable sys_rt_sigsuspend on ppc64-linux.  Not sure why this is
necessary, but I found it lying around in a ppc64 tree, so there
was probably some use case at some point.

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

11 years agoIn 64 bit mode, allow 64 bit return values from clean helper calls.
Julian Seward [Mon, 21 Oct 2013 10:05:33 +0000 (10:05 +0000)] 
In 64 bit mode, allow 64 bit return values from clean helper calls.
This makes SMC checking calls work (even though they are irrelevant
on PPC targets).  Fixes #309430.

git-svn-id: svn://svn.valgrind.org/vex/trunk@2793

11 years agoTwo small wording fixes in manual
Philippe Waroquiers [Sun, 20 Oct 2013 17:12:16 +0000 (17:12 +0000)] 
Two small wording fixes in manual

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

11 years agoFix a potentially serious bug discovered by BEAM.
Julian Seward [Sun, 20 Oct 2013 09:34:13 +0000 (09:34 +0000)] 
Fix a potentially serious bug discovered by BEAM.

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

11 years agoNEWS: Add entry for bug #326091 (drd and __GI_strlen())
Bart Van Assche [Sun, 20 Oct 2013 08:25:58 +0000 (08:25 +0000)] 
NEWS: Add entry for bug #326091 (drd and __GI_strlen())

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

11 years agodrd: Avoid that optimized strlen() implementations trigger false positive race report...
Bart Van Assche [Sun, 20 Oct 2013 08:23:38 +0000 (08:23 +0000)] 
drd: Avoid that optimized strlen() implementations trigger false positive race reports (#326091)

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

11 years agoRemove autotools requirement as it is not specific to s390.
Florian Krohm [Sat, 19 Oct 2013 08:21:19 +0000 (08:21 +0000)] 
Remove autotools requirement as it is not specific to s390.
Minor wording changes.

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

11 years agoNEWS: Add info about bugs #316181 and #316696
Bart Van Assche [Sat, 19 Oct 2013 06:43:55 +0000 (06:43 +0000)] 
NEWS: Add info about bugs #316181 and #316696

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

11 years agomips: update README.mips and NEWS for 3.9
Petar Jovanovic [Sat, 19 Oct 2013 02:24:11 +0000 (02:24 +0000)] 
mips: update README.mips and NEWS for 3.9

Minor update to README.mips and NEWS section to state that MIPS64 support is
new in 3.9, as well as support for MIPS DSP ASE on MIPS32.

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

11 years agoUpdate.
Julian Seward [Fri, 18 Oct 2013 15:13:12 +0000 (15:13 +0000)] 
Update.

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

11 years agoUn-break the build on OSX 10.7.
Julian Seward [Fri, 18 Oct 2013 14:45:29 +0000 (14:45 +0000)] 
Un-break the build on OSX 10.7.

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

11 years agoUpdate copyright dates (20XY-2012 ==> 20XY-2013)
Julian Seward [Fri, 18 Oct 2013 14:27:36 +0000 (14:27 +0000)] 
Update copyright dates (20XY-2012 ==> 20XY-2013)

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

11 years agoUpdate copyright dates (20XY-2012 ==> 20XY-2013)
Julian Seward [Fri, 18 Oct 2013 14:12:58 +0000 (14:12 +0000)] 
Update copyright dates (20XY-2012 ==> 20XY-2013)

git-svn-id: svn://svn.valgrind.org/vex/trunk@2792

11 years agoarm-linux only: make unwinding by stack scanning (a nasty hack)
Julian Seward [Fri, 18 Oct 2013 13:21:26 +0000 (13:21 +0000)] 
arm-linux only: make unwinding by stack scanning (a nasty hack)
be controllable from the command line.  Fixes (kind of) #289578.

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

11 years agoDon't report BMI support when AVX support is missing.
Mark Wielaard [Fri, 18 Oct 2013 13:11:05 +0000 (13:11 +0000)] 
Don't report BMI support when AVX support is missing.

Bug #326113. This is a bit conservative, but it is what the linux kernel
also seems to be doing. If AVX support is missing (because the OS doesn't
save the wide registers), then also don't report supporting BMI.

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

11 years agoFollowup to r13652 (make the translation cache size be command-line
Julian Seward [Fri, 18 Oct 2013 11:18:45 +0000 (11:18 +0000)] 
Followup to r13652 (make the translation cache size be command-line
controllable): reduce MAX_N_SECTORS to 24, speed up Sector
initialisation, wording tweaks.

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

11 years agoAdd test cases for PCMPxSTRx cases 0x30 and 0x40. Pertains to #320998.
Julian Seward [Fri, 18 Oct 2013 10:46:52 +0000 (10:46 +0000)] 
Add test cases for PCMPxSTRx cases 0x30 and 0x40.  Pertains to #320998.

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

11 years agoHandle PCMPxSTRx cases 0x30 and 0x40. Fixes #320998.
Julian Seward [Fri, 18 Oct 2013 10:45:21 +0000 (10:45 +0000)] 
Handle PCMPxSTRx cases 0x30 and 0x40.  Fixes #320998.

git-svn-id: svn://svn.valgrind.org/vex/trunk@2791

11 years agoThis commit adds testing support for the following instructions:
Carl Love [Fri, 18 Oct 2013 01:20:11 +0000 (01:20 +0000)] 
This commit adds testing support for the following instructions:
  vaddcuq, vadduqm, vaddecuq, vaddeuqm,
  vsubcuq, vsubuqm, vsubecuq, vsubeuqm,
  vbpermq and vgbbd.

The completes adding the Power ISA 2.07 support.

Bugzilla 325816

VEX commit id 2790

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

11 years agoThis commit adds support for the following instructions:
Carl Love [Fri, 18 Oct 2013 01:19:06 +0000 (01:19 +0000)] 
This commit adds support for the following instructions:
  vaddcuq, vadduqm, vaddecuq, vaddeuqm,
  vsubcuq, vsubuqm, vsubecuq, vsubeuqm,
  vbpermq and vgbbd.

The vgbbd instruction required a new Iop -- Iop_PwBitMtxXpose64x2.
All other instructions were emulated using existing Iops.

The completes adding the Power ISA 2.07 support.

Bugzilla 325816

git-svn-id: svn://svn.valgrind.org/vex/trunk@2790

11 years agoAllow the user to dimension the translation cache
Philippe Waroquiers [Fri, 18 Oct 2013 00:08:20 +0000 (00:08 +0000)] 
Allow the user to dimension the translation cache
A previous commit had decreased to 6 (on android) and increased to 16
(other platforms) the nr of sectors in the translation cache.
This patch adds a command line option to let the user specify
the nr of sectors as e.g. 16 sectors might be a lot and cause
an out of memory for some workloads or might be too small for
huge executable or executables using a lot of shared libs.

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

11 years agoAllow tools to provide some statistics in suppression list produced at the end
Philippe Waroquiers [Thu, 17 Oct 2013 22:10:41 +0000 (22:10 +0000)] 
Allow tools to provide some statistics in suppression list produced at the end

Option -v outputs a list of used suppressions. This only gives
the nr of times a suppression was used.
For a leak search, this only gives the nr of loss records that
have been suppressed, but it does not give additional needed details
to understand more precisely what has been suppressed
(i.e. nr of blocks and nr of bytes).

=> Add in the tool interface update_extra_suppression_use and
print_extra_suppression_info functions to allow the tool to record
additioonal use statistics for a suppression. These statistics
can be done depending on the error (and its data) which is suppressed.

Use this in memcheck for the leak suppressions, to maintain and output
the nr of blocks and bytes suppressed by a suppression during
the last leak search.

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

11 years agomips64: Fix compiler warning.
Dejan Jevtic [Wed, 16 Oct 2013 14:15:38 +0000 (14:15 +0000)] 
mips64: Fix compiler warning.

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

11 years agoConnect up the xacq_xrel test to the build system. Also, make the
Julian Seward [Wed, 16 Oct 2013 08:53:07 +0000 (08:53 +0000)] 
Connect up the xacq_xrel test to the build system.  Also, make the
TSX configure test check for that the assembler can deal with
xacquire and xrelease prefixes.

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

11 years agoSIGSEGV/SIGBUS specific handling on s390, to cope with kernel peculiarity
Philippe Waroquiers [Tue, 15 Oct 2013 21:04:56 +0000 (21:04 +0000)] 
SIGSEGV/SIGBUS specific handling on s390, to cope with kernel peculiarity

On s390, the linux kernel does not deliver the exact address that
caused a SEGV but rather this address rounded down to a page boundary.
Also, old kernels do not deliver the address that caused a SIGBUS,
but deliver 0.
So, on s390, handle SIGSEGV and SIGBUG by always skipping one page
starting from the current value of the ptr scanning position.
As we need a correct value of ptr on this platform in the longjmp-ed
code, ptr is marked as volatile.

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

11 years agoremove old broken testcase for s390
Christian Borntraeger [Tue, 15 Oct 2013 19:10:11 +0000 (19:10 +0000)] 
remove old broken testcase for s390

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

11 years agoPower 8 support, phase 5
Carl Love [Tue, 15 Oct 2013 18:13:21 +0000 (18:13 +0000)] 
Power 8 support, phase 5

This commit adds the testcases for the following instructions:

  vpmsumb, vpmsumh, vpmsumw, vpmsumd, vpermxor, vcipher, vcipherlast,
  vncipher, vncipherlast, vsbox,
  vclzb, vclzw, vclzh, vclzd,
  vpopcntb, vpopcnth, vpopcntw, vpopcntd,
  vnand, vorc, veqv,
  vshasigmaw, vshasigmad,
  bcdadd, bcdsub

The VEX commit that added the support for the above instructions was
commit 2789.

The patch is for Bugzilla 325628

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

11 years agoPower 8 support, phase 5
Carl Love [Tue, 15 Oct 2013 18:11:20 +0000 (18:11 +0000)] 
Power 8 support, phase 5

This commit adds support for the following instructions for doing
various arithmetic, bit transformation, cipher, count, logical,
and SHA operations.

  vpmsumb, vpmsumh, vpmsumw, vpmsumd, vpermxor, vcipher, vcipherlast,
  vncipher, vncipherlast, vsbox,
  vclzb, vclzw, vclzh, vclzd,
  vpopcntb, vpopcnth, vpopcntw, vpopcntd,
  vnand, vorc, veqv,
  vshasigmaw, vshasigmad,
  bcdadd, bcdsub

The following Iops were added to support the above instructions:
  Iop_BCDAdd, Iop_BCDSub,
  Iop_PolynomialMulAdd8x16, Iop_PolynomialMulAdd16x8,
  Iop_PolynomialMulAdd32x4, Iop_PolynomialMulAdd64x2,
  Iop_CipherV128, Iop_CipherLV128, Iop_CipherSV128,
  Iop_NCipherV128, Iop_NCipherLV128,
  Iop_SHA512, Iop_SHA256, Iop_Clz64x2

The patch is for Bugzilla 325628

git-svn-id: svn://svn.valgrind.org/vex/trunk@2789

11 years agoTidyup -- no functional change. Replace all "pfx & PFX_LOCK"
Julian Seward [Tue, 15 Oct 2013 17:29:19 +0000 (17:29 +0000)] 
Tidyup -- no functional change.  Replace all "pfx & PFX_LOCK"
with haveLOCK(pfx).

git-svn-id: svn://svn.valgrind.org/vex/trunk@2788

11 years agoamd64 front end: accept XACQUIRE and XRELEASE on exactly the insns that
Julian Seward [Tue, 15 Oct 2013 17:21:42 +0000 (17:21 +0000)] 
amd64 front end: accept XACQUIRE and XRELEASE on exactly the insns that
the Intel docs say can validly have them.

git-svn-id: svn://svn.valgrind.org/vex/trunk@2787

11 years agoA minimal test case for the parsing of XACQUIRE and XRELEASE prefixes.
Julian Seward [Tue, 15 Oct 2013 11:37:16 +0000 (11:37 +0000)] 
A minimal test case for the parsing of XACQUIRE and XRELEASE prefixes.

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

11 years agoAdd support for an alternative encoding of 'PUSH reg', viz FF /6,
Julian Seward [Mon, 14 Oct 2013 21:47:14 +0000 (21:47 +0000)] 
Add support for an alternative encoding of 'PUSH reg', viz FF /6,
that is used by MSVC generated code.  Fixes #324834.

git-svn-id: svn://svn.valgrind.org/vex/trunk@2786

11 years agoDisallow client mmap calls with MAP_32BIT as a flag.
Julian Seward [Mon, 14 Oct 2013 14:50:57 +0000 (14:50 +0000)] 
Disallow client mmap calls with MAP_32BIT as a flag.
Fixes, or at least addresses, #324181.

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

11 years agoUpdate expected output following r13642, which fixes #323432
Julian Seward [Mon, 14 Oct 2013 14:09:35 +0000 (14:09 +0000)] 
Update expected output following r13642, which fixes #323432
  (When calling pthread_cond_destroy or pthread_mutex_destroy
   with initializers as argument Helgrind (incorrectly)
   reports errors.)
This introduces a new race report (but no new race) in
some conditions.  I think this is OK because the race only
occurs in the case where the program is buggy (racey) anyway.

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

11 years agoFix #323432: When calling pthread_cond_destroy or pthread_mutex_destroy
Julian Seward [Mon, 14 Oct 2013 13:51:25 +0000 (13:51 +0000)] 
Fix #323432: When calling pthread_cond_destroy or pthread_mutex_destroy
with initializers as argument Helgrind (incorrectly) reports errors.
(Peter Boström, valgrind@pbos.me)

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

11 years agoFor pthread_cond_destroy, don't report a false it's-still-waited-on
Julian Seward [Mon, 14 Oct 2013 12:13:52 +0000 (12:13 +0000)] 
For pthread_cond_destroy, don't report a false it's-still-waited-on
error if in fact the last wait finished with ETIMEDOUT.
Fixes #324149.  (Peter Boström, valgrind@pbos.me)

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

11 years agoFix "Assertion '!di->soname' failed" on weird files.
Julian Seward [Mon, 14 Oct 2013 12:02:15 +0000 (12:02 +0000)] 
Fix "Assertion '!di->soname' failed" on weird files.
Fixes #320661.  (Jiří HruÅ¡ka, jirka@fud.cz)

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

11 years agoEnable sys_prlimit64 on arm-linux. Fixes #320131.
Julian Seward [Mon, 14 Oct 2013 11:51:43 +0000 (11:51 +0000)] 
Enable sys_prlimit64 on arm-linux.  Fixes #320131.

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

11 years agoFix compile failure with out-of-tree build of libmpiwrap.c.
Julian Seward [Mon, 14 Oct 2013 11:47:11 +0000 (11:47 +0000)] 
Fix compile failure with out-of-tree build of libmpiwrap.c.
Fixes #318050.  (Frederik Heber, foo@mastercontrolprogramm.de)

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

11 years agoPPC32/64: Allow 16 byte icache and dcache lines.
Julian Seward [Mon, 14 Oct 2013 11:41:46 +0000 (11:41 +0000)] 
PPC32/64: Allow 16 byte icache and dcache lines.
Partial fix for #308135.  (christophe.leroy@c-s.fr)

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

11 years agoPPC32/64: Allow 16 byte icache lines.
Julian Seward [Mon, 14 Oct 2013 11:40:24 +0000 (11:40 +0000)] 
PPC32/64: Allow 16 byte icache lines.
Partial fix for #308135.  (christophe.leroy@c-s.fr)

git-svn-id: svn://svn.valgrind.org/vex/trunk@2785

11 years agoA couple more leak supps for OSX10.7. Fixes #307557.
Julian Seward [Mon, 14 Oct 2013 11:29:47 +0000 (11:29 +0000)] 
A couple more leak supps for OSX10.7.  Fixes #307557.

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

11 years agoAdd definedness checking when dereferencing ptr during heuristic reachedness
Philippe Waroquiers [Sun, 13 Oct 2013 18:38:30 +0000 (18:38 +0000)] 
Add definedness checking when dereferencing ptr during heuristic reachedness

Patch ensures that no heuristic reachedness is obtained with undefined data.

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

11 years agomips64: Prevent testing swc1 and swxc1 with the uninitialized memory values on
Dejan Jevtic [Fri, 11 Oct 2013 06:05:24 +0000 (06:05 +0000)] 
mips64: Prevent testing swc1 and swxc1 with the uninitialized memory values on
big endian platrofms.

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

11 years agoAdding the link for none/tests/ppc32/test_touch_tm.c that got missed on
Carl Love [Thu, 10 Oct 2013 15:30:02 +0000 (15:30 +0000)] 
Adding the link for none/tests/ppc32/test_touch_tm.c that got missed on
commit 13630.

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

11 years agomips64: Change the input values for FPU tests.
Dejan Jevtic [Thu, 10 Oct 2013 09:10:35 +0000 (09:10 +0000)] 
mips64: Change the input values for FPU tests.

Change the input values so that the binary values
is representing exactly the same float values.

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

11 years agoFix use of uninit heuristic set for monitor command
Philippe Waroquiers [Wed, 9 Oct 2013 20:12:39 +0000 (20:12 +0000)] 
Fix use of uninit heuristic set for monitor command
* initialise leak_check heuristic parameter in the leak_check monitor command
* show the default value (none heuristic) in the monitor help command
  (none value chosen as default as this gives a backward compatible
   behaviour).
* document the heuristic leak check parameter in memcheck manual
  monitor command section

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

11 years agoPower PC, add the two privileged Transactional Memory instructions.
Carl Love [Wed, 9 Oct 2013 17:56:34 +0000 (17:56 +0000)] 
Power PC, add the two privileged Transactional Memory instructions.

The initial Transactional Memory instruction patch did not include the two
privileged (OS) instructions treclaim and trechkpt. VEX commit 2784 added
the support for these two instructions.

This patch adds a touch test to make sure all of the POWER Transactional
memory instrutions are recognized by Valgrind.  All of the the Transactional
Memory instructions, with the exception of tbegin, are treated as NOPs in the
first implementation.  The tbegin instruction causes the transaction to fail
thus no additional Transactional Memory instructions on the successful
transaction path would be executed in a real program.  This test just makes
sure each instruction is actually recognized by Valgrind.

The patch if for Bugzilla 325751.

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

11 years agoPower PC, add the two privileged Transactional Memory instructions.
Carl Love [Wed, 9 Oct 2013 17:52:01 +0000 (17:52 +0000)] 
Power PC, add the two privileged Transactional Memory instructions.

The initial Transactional Memory instruction patch did not include the two
privileged (OS) instructions.  This patch adds support for the two
instructions, treclaim and trechkpt.

The patch if for Bugzilla 325751.

git-svn-id: svn://svn.valgrind.org/vex/trunk@2784

11 years agomips32: Don't test Iops that aren't supported in VEX.
Dejan Jevtic [Wed, 9 Oct 2013 08:33:18 +0000 (08:33 +0000)] 
mips32: Don't test Iops that aren't supported in VEX.

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

11 years agoAdd a specific configury check to test compilability of the
Florian Krohm [Tue, 8 Oct 2013 13:04:00 +0000 (13:04 +0000)] 
Add a specific configury check to test compilability of the
<thread> C++ header file by the selected compiler.
Suggested by Bart Van Assche.

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

11 years agoTweak to avoid a trailing space.
Florian Krohm [Tue, 8 Oct 2013 06:02:01 +0000 (06:02 +0000)] 
Tweak to avoid a trailing space.

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

11 years agoFilter out the dynamic linker from back traces.
Florian Krohm [Mon, 7 Oct 2013 20:57:51 +0000 (20:57 +0000)] 
Filter out the dynamic linker from back traces.
Patch by Maran Pakkirisamy (maranp@linux.vnet.ibm.com).

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

11 years agoRemove unused variable (and associated compiler warning).
Florian Krohm [Mon, 7 Oct 2013 20:25:17 +0000 (20:25 +0000)] 
Remove unused variable (and associated compiler warning).

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

11 years agomips64: add extra Iop cases in VEX.
Dejan Jevtic [Mon, 7 Oct 2013 10:28:56 +0000 (10:28 +0000)] 
mips64: add extra Iop cases in VEX.

git-svn-id: svn://svn.valgrind.org/vex/trunk@2783

11 years agomips64: add extra Iop cases in VEX and fix compiler
Dejan Jevtic [Mon, 7 Oct 2013 10:27:31 +0000 (10:27 +0000)] 
mips64: add extra Iop cases in VEX and fix compiler
warning.

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

11 years agoFix leak scan SEGV catcher when ptr starts in unreadable page (readable for aspacemgr)
Philippe Waroquiers [Sun, 6 Oct 2013 21:23:04 +0000 (21:23 +0000)] 
Fix leak scan SEGV catcher when ptr starts in unreadable page (readable for aspacemgr)

The fault catcher installed during leak scan to catter e.g. for
possible desynchronisation between real protection and aspacemgr
was not activated when the scanned ptr was directly pointing in
a desynchronised page.
This was (initially only) visible on ppc32 (gcc110) as the page size of
gcc110 is big (64 K).

=> modified the leak-segv-jmp test so as to produce the problem also
on systems with smaller pages.

The fix consists in calling the setjmp before the scan loop,
and skip the bad address which has been recorded by the fault
catcher.
Also, deemed better to just skip one single Addr rather than a full page
(e.g. to skip less data in case some addresses are unreadable e.g.
on strange hardware).

Performance of the leak scan has been measured, seems slightly
faster on x86,amd64 and ppc32. Slightly slower on ppc64.

Also if verbose argument is given, outputs the nr of bytes skipped
due to fault.

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

11 years agopub_tool_oset.h and m_oset.c cleanup
Philippe Waroquiers [Sun, 6 Oct 2013 16:35:35 +0000 (16:35 +0000)] 
pub_tool_oset.h and m_oset.c cleanup

* Remove dead code in m_oset.c VG_(OSetGen_ResetIterAt)
  The code at the end of VG_(OSetGen_ResetIterAt) was unreachable
  (detected by BEAM checker).
  Looking at SVN, the initial commit of VG_(OSetGen_ResetIterAt)
  already contained this deadcode.

* pub_tool_oset.h was wrongly indicating that signed words could
  be used for fast cmp oset.

* modified memcheck/tests/unit_oset.c to test VG_(OSetGen_ResetIterAt)

* modified memcheck/tests/unit_oset.c to not use signed words
  (it was previously using signed words, but only with positive values)

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

11 years agoFix guest_amd64_toIR xbegin and xtest to match cpuid given for AVX hwcaps.
Mark Wielaard [Fri, 4 Oct 2013 22:31:48 +0000 (22:31 +0000)] 
Fix guest_amd64_toIR xbegin and xtest to match cpuid given for AVX hwcaps.

Otherwise valgrind none/tests/amd64/tm1.vgtest might fail on amd64-avx.

git-svn-id: svn://svn.valgrind.org/vex/trunk@2782

11 years agoUpdate list of ignored files.
Florian Krohm [Fri, 4 Oct 2013 21:17:41 +0000 (21:17 +0000)] 
Update list of ignored files.

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

11 years agoDisable drd/tests/std_thread.cpp for clang.
Florian Krohm [Fri, 4 Oct 2013 21:13:16 +0000 (21:13 +0000)] 
Disable drd/tests/std_thread.cpp for clang.
clang 3.3 produces an error message for /usr/include/c++/4.6/chrono
which happens to get included somewhere inside <thread>.
This happens with C++ headers from:
gcc (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3.

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

11 years agoAdjust CFLAGS and CXXFLAGS for compilation with clang. The current
Florian Krohm [Fri, 4 Oct 2013 21:12:17 +0000 (21:12 +0000)] 
Adjust CFLAGS and CXXFLAGS for compilation with clang. The current
setting suppresses almost all warnings originating in source code
constructs. It does ot yet suppress warnings from unrecognised command
line flags as they may be the reason for regression test failures
which have not yet been investigated.

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

11 years agoAdd missing prereq.
Florian Krohm [Fri, 4 Oct 2013 20:45:25 +0000 (20:45 +0000)] 
Add missing prereq.

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

11 years agoFollowup to r13615. Conditional testcases need a prereq line in the
Florian Krohm [Fri, 4 Oct 2013 15:03:55 +0000 (15:03 +0000)] 
Followup to r13615. Conditional testcases need a prereq line in the
.vgtest file. This has sucked before and I keep forgetting about it.

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

11 years agoFollowup to r13614. Forgot to update the .exp file. Now fixed.
Florian Krohm [Fri, 4 Oct 2013 12:00:51 +0000 (12:00 +0000)] 
Followup to r13614. Forgot to update the .exp file. Now fixed.

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

11 years agoAdd a few feature tests to configure.ac because clang does not
Florian Krohm [Fri, 4 Oct 2013 11:35:50 +0000 (11:35 +0000)] 
Add a few feature tests to configure.ac because clang does not
understand the following:
- nested functions
- -gstabs option
- loopnel instruction
- addr32 in asm statements
- 'p' constraint in asm statements

Adapt Makefiles accordingly.

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

11 years agoRemove 4 tests of the pextrw instruction.
Florian Krohm [Fri, 4 Oct 2013 11:29:26 +0000 (11:29 +0000)] 
Remove 4 tests of the pextrw instruction.
Those tests were rejected by clang and according to the
analysis below by Tom Hughes do not add anything new.

Analysis:

I'm not 100% sure that clang is right though - the Intel manual
clearly describes that argument as "reg" rather than "r32" which
is why I will have included the 64 bit version in the test. It also says:

  "The upper bits of r32 or r64 is zeroed."

and:

  "If the destination operand is a general-purpose register, the
   default operand size is 64-bits in 64-bit mode."

which basically means that REX.W is implied for this op and there is
no way to encode a 32 bit version when running in 64 bit mode.

So in principle you could encode it as:

  44 0f c5 ce 00          pextrw $0x0,%mm6,%r9d

or:

  4c 0f c5 ce 00          pextrw $0x0,%mm6,%r9

but in fact gcc assembles both versions to the first form.

Equally you could argue that as REX.W is implied both versions
should disassemble as %r9.

So I think clang is being overly picky, and if it was only going to
accept one version I would argue it should be %r9 not %r9d!

In practical terms dropping the second set of tests doesn't lose us anything though.

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

11 years agodrd: Update copyright notice
Bart Van Assche [Fri, 4 Oct 2013 05:55:30 +0000 (05:55 +0000)] 
drd: Update copyright notice

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

11 years agoFix compilation problem of memcheck/tests/leak-segv-jmp on ppc32
Philippe Waroquiers [Thu, 3 Oct 2013 22:36:54 +0000 (22:36 +0000)] 
Fix compilation problem of memcheck/tests/leak-segv-jmp on ppc32
With the change, the test compiles on ppc32.
However, the test fails miserably with
 Segmentation fault
while the whole purpose of the test was to see the leak search
would *not* segfault.

More investigations needed, but still committing as is to let
the tests compile and run.

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

11 years ago Phase 4 support for IBM Power ISA 2.07
Carl Love [Thu, 3 Oct 2013 21:43:10 +0000 (21:43 +0000)] 
 Phase 4 support for IBM Power ISA 2.07

This patch adds testcases for the following instructions added
in phase 4.  The instructions are for doing various arithmetic,
logic, and load/store VSX operations:

  xscvsxdsp xscvuxdsp xsaddsp xssubsp xsdivsp xsmaddasp xsmaddmsp
  xsmsubasp xsmsubmsp xsnmaddasp xsnmaddmsp xsnmsubasp xsnmsubmsp
  xsmulsp xssqrtsp xsresp xsrsqrtesp xsrsp xxlorc xxlnand xxleqv
  lxsiwzx lxsiwax lxsspx stxsiwx stxsspx

Signed-off-by: Maynard Johnson <maynardj@us.ibm.com>
VEX commit for the instruction support r2781
Bugzilla 325477

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

11 years ago Phase 4 support for IBM Power ISA 2.07
Carl Love [Thu, 3 Oct 2013 21:38:45 +0000 (21:38 +0000)] 
 Phase 4 support for IBM Power ISA 2.07

This patch adds support for the following instructions for doing
various arithmetic, logic, and load/store VSX operations:

  xscvsxdsp xscvuxdsp xsaddsp xssubsp xsdivsp xsmaddasp xsmaddmsp
  xsmsubasp xsmsubmsp xsnmaddasp xsnmaddmsp xsnmsubasp xsnmsubmsp
  xsmulsp xssqrtsp xsresp xsrsqrtesp xsrsp xxlorc xxlnand xxleqv
  lxsiwzx lxsiwax lxsspx stxsiwx stxsspx

Signed-off-by: Maynard Johnson <maynardj@us.ibm.com>
Bugzilla 325477

git-svn-id: svn://svn.valgrind.org/vex/trunk@2781

11 years agoChange some inline assembler so it is no longer rejected by clang
Florian Krohm [Thu, 3 Oct 2013 20:54:52 +0000 (20:54 +0000)] 
Change some inline assembler so it is no longer rejected by clang
as suggested by John Reiser and Greg Parker.
It seems that GCC has a more relaxed attitude about what it accepts
as valid input.

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

11 years agoFix assert for who_points_at monitor cmd for an interiorly pointed block
Philippe Waroquiers [Wed, 2 Oct 2013 20:59:05 +0000 (20:59 +0000)] 
Fix assert for who_points_at monitor cmd for an interiorly pointed block

* fix the assert
* some better comments
* update test to verify who_points_at behaviour with an interiorly pointed block

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

11 years agoThe test case for the Transaction Memory instructions failes with older
Carl Love [Wed, 2 Oct 2013 17:48:48 +0000 (17:48 +0000)] 
The test case for the Transaction Memory instructions failes with older
compilers as the -mhtm flag is not known.  The patch fixes the makefile
issue and addes #defines to the testcase code.

The testcase was added in valgrind commit 13607.

The bugzilla for adding the TM instruction support is 323803

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

11 years agoIBM POWER PC, Add the Transactional Memory test case
Carl Love [Wed, 2 Oct 2013 16:28:57 +0000 (16:28 +0000)] 
IBM POWER PC, Add the Transactional Memory test case

The test case for the transaction memory instructions executes the
failure path when run under valgrind.  This is since the initial
Transaction Memory implemnetation is to simply fail the TBEGIN instruction
forcing the execution flow to take the failure path.  When the
test case is executed on the real hardware, the success path will
be taken.  Only the TBEGIN instruction actually does anything.  All other
transactional memory instructions are NOPs since only failure path is executed
and it assumed to not have any transactional memory instructions on it.

Signed-off-by: Carl Love <cel@us.ibm.com>
VEX commit revision 2780
Bugzilla 323803

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