]> git.ipfire.org Git - thirdparty/valgrind.git/log
thirdparty/valgrind.git
14 years agoDRD: Report an error if --free-is-write=yes is used on a program invoking custom...
Bart Van Assche [Sun, 13 Mar 2011 09:08:10 +0000 (09:08 +0000)] 
DRD: Report an error if --free-is-write=yes is used on a program invoking custom memory allocator client requests.

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

14 years agoAdded yet another regression test.
Bart Van Assche [Sun, 13 Mar 2011 09:04:21 +0000 (09:04 +0000)] 
Added yet another regression test.

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

14 years agoread_and_free_race test: Reduced number of stack frames to three.
Bart Van Assche [Sat, 12 Mar 2011 16:28:29 +0000 (16:28 +0000)] 
read_and_free_race test: Reduced number of stack frames to three.

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

14 years agoAdded more regression tests.
Bart Van Assche [Sat, 12 Mar 2011 16:10:33 +0000 (16:10 +0000)] 
Added more regression tests.

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

14 years agoDRD: Restored --free-is-write support and fixed the bug that was present in the previ...
Bart Van Assche [Sat, 12 Mar 2011 14:26:01 +0000 (14:26 +0000)] 
DRD: Restored --free-is-write support and fixed the bug that was present in the previous implementation. Still needs further testing though.

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

14 years agoDRD: Added command-line option --trace-hb for tracing ANNOTATE_HAPPENS_BEFORE()/AFTER().
Bart Van Assche [Sat, 12 Mar 2011 14:07:09 +0000 (14:07 +0000)] 
DRD: Added command-line option --trace-hb for tracing ANNOTATE_HAPPENS_BEFORE()/AFTER().

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

14 years agoAdded --free-is-write stress test.
Bart Van Assche [Sat, 12 Mar 2011 14:02:06 +0000 (14:02 +0000)] 
Added --free-is-write stress test.

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

14 years agoDRD: Always invoke VG_(cli_free)() before the stop_using_mem callback.
Bart Van Assche [Sat, 12 Mar 2011 12:43:39 +0000 (12:43 +0000)] 
DRD: Always invoke VG_(cli_free)() before the stop_using_mem callback.

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

14 years agoDRD: Fixed an assertion failure triggered by setting the environment variable DRD_VER...
Bart Van Assche [Sat, 12 Mar 2011 12:37:46 +0000 (12:37 +0000)] 
DRD: Fixed an assertion failure triggered by setting the environment variable DRD_VERIFY_CONFLICT_SET. This environment variable is a debugging help.

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

14 years agoDRD: More source code cleanup (constant propagation).
Bart Van Assche [Sat, 12 Mar 2011 12:34:44 +0000 (12:34 +0000)] 
DRD: More source code cleanup (constant propagation).

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

14 years agoDRD: Allocate thread arguments again on the stack.
Bart Van Assche [Sat, 12 Mar 2011 11:01:06 +0000 (11:01 +0000)] 
DRD: Allocate thread arguments again on the stack.

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

14 years agoUpdated Subversion ignore list.
Bart Van Assche [Sat, 12 Mar 2011 10:37:18 +0000 (10:37 +0000)] 
Updated Subversion ignore list.

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

14 years agoAdded AC_LANG_SOURCE() invocations where appropriate.
Bart Van Assche [Sat, 12 Mar 2011 10:36:35 +0000 (10:36 +0000)] 
Added AC_LANG_SOURCE() invocations where appropriate.

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

14 years agoAdd free-is-write functionality (experimental, not enabled by default).
Julian Seward [Fri, 11 Mar 2011 21:06:59 +0000 (21:06 +0000)] 
Add free-is-write functionality (experimental, not enabled by default).

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

14 years agoUse DRD's annotate_smart_pointer regtest to check against regressions
Julian Seward [Fri, 11 Mar 2011 20:02:47 +0000 (20:02 +0000)] 
Use DRD's annotate_smart_pointer regtest to check against regressions
of #243935.

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

14 years agoNB: this is an temporary fix, until such time as bug 243935 is fully
Julian Seward [Fri, 11 Mar 2011 19:10:48 +0000 (19:10 +0000)] 
NB: this is an temporary fix, until such time as bug 243935 is fully
resolved.

Add a client request, ANNOTATE_HAPPENS_BEFORE_FORGET_ALL, to notify
Helgrind that it can forget about any h-b edges previously associated
with the specified tag, and release associated resources.

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

14 years agoChange the semantics of ANNOTATE_HAPPENS_BEFORE from 'overwrite' to
Julian Seward [Fri, 11 Mar 2011 18:38:12 +0000 (18:38 +0000)] 
Change the semantics of ANNOTATE_HAPPENS_BEFORE from 'overwrite' to
'add' behaviour, w.r.t. any h-b edges associated with the
synchronisation object prior to the call.  This brings the behaviour
into line with DRD and TSan, and is required for correct annotation of
thread safe reference counting.  It fixes #243935 -- at least, the
original bug as discussed in comments 0 and 2.

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

14 years agoFollowup to r11619: more tidying up w.r.t. the renaming of
Julian Seward [Thu, 10 Mar 2011 21:34:21 +0000 (21:34 +0000)] 
Followup to r11619: more tidying up w.r.t. the renaming of
'struct _Thr :: opaque' to 'struct _Thr :: hgthread'.

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

14 years agoCleanup: get rid of univ_tsets as it is no longer needed.
Julian Seward [Thu, 10 Mar 2011 17:40:22 +0000 (17:40 +0000)] 
Cleanup: get rid of univ_tsets as it is no longer needed.

Also, fix bug in del_LockN (segfault when the deleted lock is
the last in the list) exposed by r11620.  (Prior to r11620,
the last lock in the list was never deleted.)

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

14 years agoCleanup: get rid of 'last lock lossage' mechanism, which is commented
Julian Seward [Thu, 10 Mar 2011 15:21:40 +0000 (15:21 +0000)] 
Cleanup: get rid of 'last lock lossage' mechanism, which is commented
out and no longer relevant.

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

14 years agoCleanup: get rid of all mention of a Hardware Bus Lock. This
Julian Seward [Thu, 10 Mar 2011 15:20:10 +0000 (15:20 +0000)] 
Cleanup: get rid of all mention of a Hardware Bus Lock.  This
no longer exists.

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

14 years agoMinor cleanup (no functional change): rename 'struct _Thr :: opaque'
Julian Seward [Thu, 10 Mar 2011 15:14:37 +0000 (15:14 +0000)] 
Minor cleanup (no functional change): rename 'struct _Thr :: opaque'
to 'hgthread', since that's what it is really.

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

14 years agoBring avg translation size statement closer to reality, for
Julian Seward [Thu, 10 Mar 2011 15:01:14 +0000 (15:01 +0000)] 
Bring avg translation size statement closer to reality, for
amd64-linux with --smc-check=all.  350 would be better, but H already
soaks up so much space that a low-side of 320 seems prudent.

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

14 years agoProcess PDB files with a path that contains spaces properly.
Bart Van Assche [Thu, 10 Mar 2011 12:49:50 +0000 (12:49 +0000)] 
Process PDB files with a path that contains spaces properly.

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

14 years ago'make dist' fixes following s390x-linux merge. (Christian Borntraeger
Julian Seward [Thu, 10 Mar 2011 12:36:09 +0000 (12:36 +0000)] 
'make dist' fixes following s390x-linux merge.  (Christian Borntraeger
<borntraeger@de.ibm.com>)

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

14 years agoDRD: Added an output variant for test pth_detached3.
Bart Van Assche [Wed, 9 Mar 2011 18:27:25 +0000 (18:27 +0000)] 
DRD: Added an output variant for test pth_detached3.

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

14 years agoDRD: Report an error if an invalid argument is passed to pthread_detach(). Do not...
Bart Van Assche [Wed, 9 Mar 2011 17:53:28 +0000 (17:53 +0000)] 
DRD: Report an error if an invalid argument is passed to pthread_detach(). Do not assume that pthread_detach() returns an error code if its argument is invalid. Should fix #267968.

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

14 years agoDRD: Added a regression test.
Bart Van Assche [Wed, 9 Mar 2011 17:50:34 +0000 (17:50 +0000)] 
DRD: Added a regression test.

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

14 years agoDRD: Fixed a race condition triggered by invoking pthread_detach() with an argument...
Bart Van Assche [Tue, 8 Mar 2011 18:34:44 +0000 (18:34 +0000)] 
DRD: Fixed a race condition triggered by invoking pthread_detach() with an argument not equal to pthread_self(). Potential fix for #267968.

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

14 years agoDRD: Removed an obsolete comment.
Bart Van Assche [Tue, 8 Mar 2011 18:32:36 +0000 (18:32 +0000)] 
DRD: Removed an obsolete comment.

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

14 years agoDRD: Source code cleanup.
Bart Van Assche [Tue, 8 Mar 2011 17:53:45 +0000 (17:53 +0000)] 
DRD: Source code cleanup.

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

14 years agoReplace the structural equality function for WordVecs with a more
Julian Seward [Mon, 7 Mar 2011 19:13:33 +0000 (19:13 +0000)] 
Replace the structural equality function for WordVecs with a more
efficient one.  n-i-bz.
(Philippe Waroquiers, philippe.waroquiers@skynet.be).

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

14 years agoUpdated Subversion ignore list.
Bart Van Assche [Mon, 7 Mar 2011 18:28:38 +0000 (18:28 +0000)] 
Updated Subversion ignore list.

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

14 years agoAdded file header and adjusted indentation.
Bart Van Assche [Mon, 7 Mar 2011 18:00:26 +0000 (18:00 +0000)] 
Added file header and adjusted indentation.

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

14 years agoMake this executable.
Julian Seward [Mon, 7 Mar 2011 16:48:15 +0000 (16:48 +0000)] 
Make this executable.

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

14 years agoUnbreak 'make dist' following recent commits.
Julian Seward [Mon, 7 Mar 2011 16:42:02 +0000 (16:42 +0000)] 
Unbreak 'make dist' following recent commits.

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

14 years agoAdd a port to IBM z/Architecture (s390x) running Linux -- Valgrind
Julian Seward [Mon, 7 Mar 2011 16:05:35 +0000 (16:05 +0000)] 
Add a port to IBM z/Architecture (s390x) running Linux -- Valgrind
side components. (Florian Krohm <britzel@acm.org> and Christian
Borntraeger <borntraeger@de.ibm.com>).  Fixes #243404.

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

14 years agoDRD/Darwin: Generalized a suppression pattern.
Bart Van Assche [Sun, 6 Mar 2011 17:37:04 +0000 (17:37 +0000)] 
DRD/Darwin: Generalized a suppression pattern.

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

14 years agoDRD/Darwin: Added more suppression patterns.
Bart Van Assche [Sun, 6 Mar 2011 17:28:16 +0000 (17:28 +0000)] 
DRD/Darwin: Added more suppression patterns.

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

14 years agoMemcheck/Darwin: Added a suppression pattern.
Bart Van Assche [Sun, 6 Mar 2011 17:27:42 +0000 (17:27 +0000)] 
Memcheck/Darwin: Added a suppression pattern.

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

14 years agoDRD/Darwin: Suppress even more races triggered by the dynamic loader.
Bart Van Assche [Sun, 6 Mar 2011 17:22:08 +0000 (17:22 +0000)] 
DRD/Darwin: Suppress even more races triggered by the dynamic loader.

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

14 years agoDRD/Darwin: Added an expected output file.
Bart Van Assche [Sun, 6 Mar 2011 17:21:21 +0000 (17:21 +0000)] 
DRD/Darwin: Added an expected output file.

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

14 years agoDRD/Darwin: cleaned up dyld suppression pattern list.
Bart Van Assche [Sun, 6 Mar 2011 16:33:46 +0000 (16:33 +0000)] 
DRD/Darwin: cleaned up dyld suppression pattern list.

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

14 years agoDRD/Darwin: Ignore races triggered by the dynamic loader (dyld) lazy binding mechanism.
Bart Van Assche [Sun, 6 Mar 2011 16:33:08 +0000 (16:33 +0000)] 
DRD/Darwin: Ignore races triggered by the dynamic loader (dyld) lazy binding mechanism.

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

14 years agoDRD: Added a (non-functional so far) file drd_darwin_intercepts.c.
Bart Van Assche [Sun, 6 Mar 2011 12:39:12 +0000 (12:39 +0000)] 
DRD: Added a (non-functional so far) file drd_darwin_intercepts.c.

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

14 years agoDRD: added initial suppression list for Darwin 10.
Bart Van Assche [Sat, 5 Mar 2011 16:00:53 +0000 (16:00 +0000)] 
DRD: added initial suppression list for Darwin 10.

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

14 years agoHelgrind tests: ported tests tc23 and tc24 to Darwin/amd64 too.
Bart Van Assche [Sat, 5 Mar 2011 15:43:39 +0000 (15:43 +0000)] 
Helgrind tests: ported tests tc23 and tc24 to Darwin/amd64 too.

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

14 years agoDRD: Filter out PID from the semaphore name in the regression test output.
Bart Van Assche [Sat, 5 Mar 2011 15:42:44 +0000 (15:42 +0000)] 
DRD: Filter out PID from the semaphore name in the regression test output.

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

14 years agohelgrind/tests/tc17_sembar: Works now on Darwin/amd64 too.
Bart Van Assche [Sat, 5 Mar 2011 15:14:50 +0000 (15:14 +0000)] 
helgrind/tests/tc17_sembar: Works now on Darwin/amd64 too.

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

14 years agoDRD, Darwin: avoid triggering misaligned stack errors. Fixes #267552.
Bart Van Assche [Sat, 5 Mar 2011 14:51:24 +0000 (14:51 +0000)] 
DRD, Darwin: avoid triggering misaligned stack errors. Fixes #267552.

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

14 years agoDRD tests, Darwin: check return value of sem_open().
Bart Van Assche [Sat, 5 Mar 2011 14:49:12 +0000 (14:49 +0000)] 
DRD tests, Darwin: check return value of sem_open().

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

14 years agoDRD tests: replaced __APPLE__ by VGO_darwin.
Bart Van Assche [Sat, 5 Mar 2011 14:11:40 +0000 (14:11 +0000)] 
DRD tests: replaced __APPLE__ by VGO_darwin.

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

14 years agoDarwin: Re-enabled four regression tests.
Bart Van Assche [Sat, 5 Mar 2011 12:12:04 +0000 (12:12 +0000)] 
Darwin: Re-enabled four regression tests.

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

14 years agoDarwin: Build fixes for four regression tests by Rich Coe (see also #267488).
Bart Van Assche [Sat, 5 Mar 2011 12:11:28 +0000 (12:11 +0000)] 
Darwin: Build fixes for four regression tests by Rich Coe (see also #267488).

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

14 years agoSkip test programs that do not build on Darwin.
Bart Van Assche [Sat, 5 Mar 2011 10:11:35 +0000 (10:11 +0000)] 
Skip test programs that do not build on Darwin.

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

14 years agoUpdated Subversion ignore lists.
Bart Van Assche [Sat, 5 Mar 2011 10:10:24 +0000 (10:10 +0000)] 
Updated Subversion ignore lists.

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

14 years agoUpdated Subversion ignore lists.
Bart Van Assche [Sat, 5 Mar 2011 10:09:27 +0000 (10:09 +0000)] 
Updated Subversion ignore lists.

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

14 years agoUpdated Subversion ignore list.
Bart Van Assche [Sat, 5 Mar 2011 10:00:38 +0000 (10:00 +0000)] 
Updated Subversion ignore list.

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

14 years agoDRD: Fixed a Darwin-specific compiler warning
Bart Van Assche [Sat, 5 Mar 2011 09:05:47 +0000 (09:05 +0000)] 
DRD: Fixed a Darwin-specific compiler warning

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

14 years agoQuick fix to always correctly update <passed> in setup_bbcc
Josef Weidendorfer [Fri, 4 Mar 2011 17:11:35 +0000 (17:11 +0000)] 
Quick fix to always correctly update <passed> in setup_bbcc

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

14 years ago<valgrind/valgrind.h>: Made VALGRIND_PRINTF() and VALGRIND_PRINTF_BACKTRACE() definit...
Bart Van Assche [Fri, 4 Mar 2011 16:55:56 +0000 (16:55 +0000)] 
<valgrind/valgrind.h>: Made VALGRIND_PRINTF() and VALGRIND_PRINTF_BACKTRACE() definitions (with NVALGRIND defined) C89-compliant.

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

14 years agoFix for bug 265771.
Josef Weidendorfer [Fri, 4 Mar 2011 10:53:12 +0000 (10:53 +0000)] 
Fix for bug 265771.

For calls (structure jCC), Callgrind maintains for the source
both the BBCC (counter array for the source context of the call, which
includes the BB of the source call position), as well as a jump
number in the source BB to reconstruct the guest instruction address
of the call. In setup_bbcc, this jump number is stored in <passed>, and
used when creating a new jCC on a call.

The value of <passed> got out of sync when we simulate a real jump
between different functions as return/call pair: the call source was
reset for the popped jCC, but not <passed>.

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

14 years agoDRD: avoid triggering an assertion failure if a thread is canceled while waiting...
Bart Van Assche [Thu, 3 Mar 2011 19:59:20 +0000 (19:59 +0000)] 
DRD: avoid triggering an assertion failure if a thread is canceled while waiting inside pthread_mutex_lock(). Fixes #267413.

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

14 years agoFix minor documentation nits (Michael Snyder, msnyder@vmware.com)
Julian Seward [Mon, 28 Feb 2011 10:26:42 +0000 (10:26 +0000)] 
Fix minor documentation nits (Michael Snyder, msnyder@vmware.com)

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

14 years agorm pointless comment and #define.
Julian Seward [Mon, 28 Feb 2011 09:25:12 +0000 (09:25 +0000)] 
rm pointless comment and #define.
(Philippe Waroquiers, philippe.waroquiers@skynet.be)

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

14 years agoFix sanity check crash in Helgrind. Partial fix for #255353.
Julian Seward [Mon, 28 Feb 2011 09:22:51 +0000 (09:22 +0000)] 
Fix sanity check crash in Helgrind.  Partial fix for #255353.
(Philippe Waroquiers, philippe.waroquiers@skynet.be)

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

14 years agoDon't construct the LAOG at all when --track-lockorders=no (as opposed
Julian Seward [Mon, 28 Feb 2011 09:03:44 +0000 (09:03 +0000)] 
Don't construct the LAOG at all when --track-lockorders=no (as opposed
to previous behaviour, in which it was constructed but any resulting
errors were not shown, hence wasting CPU and memory.)  Partial fix
for #255353.  (Philippe Waroquiers, philippe.waroquiers@skynet.be)

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

14 years agoBack out r11568 (Add a new constructor for empty XArrays,
Julian Seward [Sun, 27 Feb 2011 23:53:32 +0000 (23:53 +0000)] 
Back out r11568 (Add a new constructor for empty XArrays,
VG_(newSizedXA)) since r11571 removes the only use of the
functionality that r11568 introduces.

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

14 years agoSimplify the implementation of VTS__tick. The previous version was
Julian Seward [Sun, 27 Feb 2011 23:39:53 +0000 (23:39 +0000)] 
Simplify the implementation of VTS__tick.  The previous version was
hard to understand, and had no comments re loop invariants etc.

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

14 years agoChange the representation of VTSs. Instead of using an XArray of
Julian Seward [Sun, 27 Feb 2011 23:04:12 +0000 (23:04 +0000)] 
Change the representation of VTSs.  Instead of using an XArray of
ScalarTSs, have the ScalarTS array as a trailing array directly on the
VTS structure.  This reduces the number of malloc'd blocks per VTS
from 3 to 1, since an XArray always requires 2 malloc'd blocks.  At
least for tc19_shadowmem this reduces the total amount of heap
turnover in Arena 'tool' by a factor of 3, and modestly improves
performance whilst modestly reducing overall memory use.

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

14 years agoScalability fix for Helgrind: reduce the size of ScalarTS (scalar
Julian Seward [Thu, 24 Feb 2011 15:25:24 +0000 (15:25 +0000)] 
Scalability fix for Helgrind: reduce the size of ScalarTS (scalar
timestamps) from 16 to 8 bytes.  This halves the size of vector
timestamps and reduces the amount of memory needed to run programs
that have many threads and/or many synchronisation events.

The tradeoff is that Helgrind must abort the run if the program
creates more than 2^20 (1.0e+6) threads or performs more than 2^44
(1.76e+13) synchronisation events.  Neither of these seem like a
significant limitation in practice.  It's easy to argue that a limit
of 2^44 synch events would take at a minimum, several CPU months on a
very fast machine.

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

14 years agoA scalability fix for Helgrind for running large workloads. When
Julian Seward [Wed, 23 Feb 2011 13:30:53 +0000 (13:30 +0000)] 
A scalability fix for Helgrind for running large workloads.  When
creating new vector timestamps (VTSs) via tick and join operations,
preallocate the underlying XArray of ScalarTSs (scalar timestamps) at
the likely final size, using new function VG_(newSizedXA) introduced
in r11558.  This reduces overall heap turnover (in VG_AR_TOOL) by a
factor of several.  Together with revs 11567 and 11568, it mitigates
the worst-case performance falloff in long runs that involve lots of
threads and lots of synchronisation events (a.k.a Vector timestamps).

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

14 years agoAdd a new constructor for empty XArrays, VG_(newSizedXA). This is
Julian Seward [Wed, 23 Feb 2011 13:22:24 +0000 (13:22 +0000)] 
Add a new constructor for empty XArrays, VG_(newSizedXA).  This is
identical to VG_(newXA) but allows passing in a size hint.  In the
case where the likely final size of the XArray is known at creation
time, this allows avoiding the repeated (implicit) resizing and
copying of the array as elements are added, which can save a vast
amount of dynamic memory allocation turnover.

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

14 years agoFix a scalability problem observed whilst running Helgrind on a large
Julian Seward [Wed, 23 Feb 2011 13:18:56 +0000 (13:18 +0000)] 
Fix a scalability problem observed whilst running Helgrind on a large
workload: when scanning a freelist of a given size for a big-enough
block (to allocate), don't scan all the way around the list.  Instead
give up after 100 blocks and try the freelist above.  The pathological
case (as observed) is that the freelist contains tens of thousands of
blocks, but all are too small for the current request, hence they are
all visited pointlessly.  If the new heuristic is used, the freelist
start point is moved along by one block, so that future searches
eventually inspect the entire freelist, just very slowly.

Also, some improvements to stats gathering, and rename of some
existing stats fields in struct Arena.

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

14 years agoRecord the repo-mangling magic invokations needed for a minor release.
Julian Seward [Thu, 17 Feb 2011 12:20:59 +0000 (12:20 +0000)] 
Record the repo-mangling magic invokations needed for a minor release.

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

14 years agoSync w/ 3_6_BRANCH.
Julian Seward [Thu, 17 Feb 2011 12:20:19 +0000 (12:20 +0000)] 
Sync w/ 3_6_BRANCH.

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

14 years agoReverted r11536 because it didn't have the desired effect - changing the behavior...
Bart Van Assche [Sun, 13 Feb 2011 07:55:36 +0000 (07:55 +0000)] 
Reverted r11536 because it didn't have the desired effect - changing the behavior of DRD on Darwin.

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

14 years agoMake ld.so:index redir mandatory for glibc-2.12 and later, on x86-linux.
Julian Seward [Fri, 11 Feb 2011 16:47:03 +0000 (16:47 +0000)] 
Make ld.so:index redir mandatory for glibc-2.12 and later, on x86-linux.
Also, improve the failure message a bit, so as to tell people what package
they need to install, in at least some cases.

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

14 years agoRemoved an unused variable.
Bart Van Assche [Thu, 10 Feb 2011 21:09:25 +0000 (21:09 +0000)] 
Removed an unused variable.

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

14 years agoDRD: don't inline pthread intercepts because in combination with the current fragile...
Bart Van Assche [Thu, 10 Feb 2011 21:03:47 +0000 (21:03 +0000)] 
DRD: don't inline pthread intercepts because in combination with the current fragile implementation of the CALL_FN_* macros inlining intercepts can easily trigger stack alignment errors on Darwin.

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

14 years agoRefined a comment in the NEWS file.
Bart Van Assche [Thu, 10 Feb 2011 20:59:51 +0000 (20:59 +0000)] 
Refined a comment in the NEWS file.

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

14 years agoAdd glibc 2.13 support. Patch from Dmitry Djachenko in bug #265964.
Tom Hughes [Thu, 10 Feb 2011 09:09:09 +0000 (09:09 +0000)] 
Add glibc 2.13 support. Patch from Dmitry Djachenko in bug #265964.

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

14 years ago_pre_mem_asciiz handlers in both tools: don't segfault if passed an
Julian Seward [Wed, 9 Feb 2011 12:47:23 +0000 (12:47 +0000)] 
_pre_mem_asciiz handlers in both tools: don't segfault if passed an
obviously invalid address.  Fixes #255009.  Investigation & initial
patch by Philippe Waroquiers (philippe.waroquiers@skynet.be)

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

14 years agoDRD: handle fork() in processes with detached threads correctly (see also #255355).
Bart Van Assche [Wed, 9 Feb 2011 11:55:12 +0000 (11:55 +0000)] 
DRD: handle fork() in processes with detached threads correctly (see also #255355).

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

14 years agoUpdated Subversion ignore list.
Bart Van Assche [Wed, 9 Feb 2011 11:32:58 +0000 (11:32 +0000)] 
Updated Subversion ignore list.

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

14 years agoUpdated Subversion ignore list.
Bart Van Assche [Wed, 9 Feb 2011 11:32:34 +0000 (11:32 +0000)] 
Updated Subversion ignore list.

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

14 years agoUpdated Subversion ignore list.
Bart Van Assche [Wed, 9 Feb 2011 11:32:02 +0000 (11:32 +0000)] 
Updated Subversion ignore list.

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

14 years agoUpdated Subversion ignore list.
Bart Van Assche [Wed, 9 Feb 2011 11:31:35 +0000 (11:31 +0000)] 
Updated Subversion ignore list.

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

14 years agoUpdated Subversion ignore list.
Bart Van Assche [Wed, 9 Feb 2011 11:30:10 +0000 (11:30 +0000)] 
Updated Subversion ignore list.

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

14 years agoDRD: added a test program that forks a process containing a detached thread.
Bart Van Assche [Wed, 9 Feb 2011 11:29:11 +0000 (11:29 +0000)] 
DRD: added a test program that forks a process containing a detached thread.

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

14 years agoDon't assert in the child after a threaded program does fork().
Julian Seward [Wed, 9 Feb 2011 10:34:00 +0000 (10:34 +0000)] 
Don't assert in the child after a threaded program does fork().
Fixes #255355 (helgrind part).

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

14 years agoFix bug 246152
Josef Weidendorfer [Fri, 4 Feb 2011 20:50:58 +0000 (20:50 +0000)] 
Fix bug 246152

When unwinding needs to be done because the stack pointer is reset
(e.g. by a longjmp), it makes no sense to interprete the control
flow change as call, but should be seen as a return.

This indirectly fixes bug 246152. Unwinding potentially changes the
exec state, which is unique for threads, but also for signal handlers.
E.g. this is true for a longjmp out of a signal handler. Exec state
changes modify members of struct CLG_(current_state), such as
CLG_(current_state).bbcc and CLG_(current_state).jmps_passed, which
are backed in CLG_(setup_bbcc)() by last_bbcc and passed, respectivly.
On a exec state change, these local vars go out of sync, and lead
to invalid data passed to CLG_(push_call_stack)() for handling a call,
which triggered data corruption, and the symptoms seen in bug 246152.
As in the given situation, there is no call anymore, there is no call
into CLG_(push_call_stack)(), and the corruption (or since last commit
the failed assertion) is not triggered any more.

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

14 years agoBetter failed assertion then silent data corruption
Josef Weidendorfer [Fri, 4 Feb 2011 19:55:25 +0000 (19:55 +0000)] 
Better failed assertion then silent data corruption

This is part 1 of the fix to bug 246152, and makes the bug
reproducable as failed assertion also on Ubuntu 10.10 on 64bit
machines. However, the test needs to be compiled 32bit (-m32).

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

14 years agoDRD: removed command-line option --free-is-write again since it is impossible
Bart Van Assche [Fri, 4 Feb 2011 19:07:11 +0000 (19:07 +0000)] 
DRD: removed command-line option --free-is-write again since it is impossible
to implement this functionality reliably.

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

14 years agovg-in-place: made sure that soft links to this script work fine too.
Bart Van Assche [Thu, 3 Feb 2011 17:49:07 +0000 (17:49 +0000)] 
vg-in-place: made sure that soft links to this script work fine too.

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

14 years agoDRD: do not assert() upon fork(). Fixes the DRD part of #255355.
Bart Van Assche [Thu, 3 Feb 2011 17:47:50 +0000 (17:47 +0000)] 
DRD: do not assert() upon fork(). Fixes the DRD part of #255355.

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

14 years agoAdd suppressions for __setenv leak. Fixes #188572.
Julian Seward [Wed, 2 Feb 2011 17:16:48 +0000 (17:16 +0000)] 
Add suppressions for __setenv leak.  Fixes #188572.

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

14 years agoDo the -m32 vs -m64 thing correctly for these tests. Fixes some very
Julian Seward [Wed, 2 Feb 2011 17:08:27 +0000 (17:08 +0000)] 
Do the -m32 vs -m64 thing correctly for these tests.  Fixes some very
strange failures on 64-bit OSX 10.6.

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

14 years agoHandle Dwarf3 types created by GNAT. Fixes #255130.
Julian Seward [Tue, 1 Feb 2011 23:10:14 +0000 (23:10 +0000)] 
Handle Dwarf3 types created by GNAT.  Fixes #255130.
(Philippe Waroquiers <philippe.waroquiers@skynet.be>)

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

14 years agox86: get_otrack_shadow_offset_wrk: handle guest_NRADDR. Fixes #257276.
Julian Seward [Fri, 28 Jan 2011 00:53:37 +0000 (00:53 +0000)] 
x86: get_otrack_shadow_offset_wrk: handle guest_NRADDR.  Fixes #257276.

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