Commit Graph

8339 Commits

Author SHA1 Message Date
Bart Van Assche
ed2484656e Updated Subversion ignore list.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11608
2011-03-07 18:28:38 +00:00
Bart Van Assche
93b1b10abe Added file header and adjusted indentation.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11607
2011-03-07 18:00:26 +00:00
Julian Seward
b48110db44 Make this executable.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11606
2011-03-07 16:48:15 +00:00
Julian Seward
b318177144 Unbreak 'make dist' following recent commits.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11605
2011-03-07 16:42:02 +00:00
Julian Seward
6107fd666c 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
2011-03-07 16:05:35 +00:00
Bart Van Assche
837a8e347c DRD/Darwin: Generalized a suppression pattern.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11603
2011-03-06 17:37:04 +00:00
Bart Van Assche
716649090c DRD/Darwin: Added more suppression patterns.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11602
2011-03-06 17:28:16 +00:00
Bart Van Assche
a9905a31e5 Memcheck/Darwin: Added a suppression pattern.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11601
2011-03-06 17:27:42 +00:00
Bart Van Assche
4365b5e99d DRD/Darwin: Suppress even more races triggered by the dynamic loader.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11600
2011-03-06 17:22:08 +00:00
Bart Van Assche
b3a0cdf503 DRD/Darwin: Added an expected output file.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11599
2011-03-06 17:21:21 +00:00
Bart Van Assche
655ca4140f DRD/Darwin: cleaned up dyld suppression pattern list.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11598
2011-03-06 16:33:46 +00:00
Bart Van Assche
07a0082c51 DRD/Darwin: Ignore races triggered by the dynamic loader (dyld) lazy binding mechanism.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11597
2011-03-06 16:33:08 +00:00
Bart Van Assche
c5f17ab61b DRD: Added a (non-functional so far) file drd_darwin_intercepts.c.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11596
2011-03-06 12:39:12 +00:00
Bart Van Assche
a0a44c1d29 DRD: added initial suppression list for Darwin 10.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11595
2011-03-05 16:00:53 +00:00
Bart Van Assche
0f3690b1eb Helgrind tests: ported tests tc23 and tc24 to Darwin/amd64 too.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11594
2011-03-05 15:43:39 +00:00
Bart Van Assche
042f0a840b DRD: Filter out PID from the semaphore name in the regression test output.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11593
2011-03-05 15:42:44 +00:00
Bart Van Assche
9339a8e89a helgrind/tests/tc17_sembar: Works now on Darwin/amd64 too.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11592
2011-03-05 15:14:50 +00:00
Bart Van Assche
bcd0bc2155 DRD, Darwin: avoid triggering misaligned stack errors. Fixes #267552.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11591
2011-03-05 14:51:24 +00:00
Bart Van Assche
63b96ade4a DRD tests, Darwin: check return value of sem_open().
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11590
2011-03-05 14:49:12 +00:00
Bart Van Assche
a5ce3a89fb DRD tests: replaced __APPLE__ by VGO_darwin.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11589
2011-03-05 14:11:40 +00:00
Bart Van Assche
f7d42d7ed5 Darwin: Re-enabled four regression tests.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11588
2011-03-05 12:12:04 +00:00
Bart Van Assche
11a3c9d409 Darwin: Build fixes for four regression tests by Rich Coe (see also #267488).
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11587
2011-03-05 12:11:28 +00:00
Bart Van Assche
a228cd9df6 Skip test programs that do not build on Darwin.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11586
2011-03-05 10:11:35 +00:00
Bart Van Assche
c7fc5efeb5 Updated Subversion ignore lists.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11585
2011-03-05 10:10:24 +00:00
Bart Van Assche
a93a5577c4 Updated Subversion ignore lists.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11584
2011-03-05 10:09:27 +00:00
Bart Van Assche
436556d307 Updated Subversion ignore list.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11583
2011-03-05 10:00:38 +00:00
Bart Van Assche
e783e6b342 DRD: Fixed a Darwin-specific compiler warning
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11582
2011-03-05 09:05:47 +00:00
Josef Weidendorfer
094063de43 Quick fix to always correctly update <passed> in setup_bbcc
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11581
2011-03-04 17:11:35 +00:00
Bart Van Assche
c03eab7793 <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
2011-03-04 16:55:56 +00:00
Josef Weidendorfer
2edd73cad9 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
2011-03-04 10:53:12 +00:00
Bart Van Assche
ab798ee7e4 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
2011-03-03 19:59:20 +00:00
Julian Seward
47be27ff77 Fix minor documentation nits (Michael Snyder, msnyder@vmware.com)
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11577
2011-02-28 10:26:42 +00:00
Julian Seward
340237738b rm pointless comment and #define.
(Philippe Waroquiers, philippe.waroquiers@skynet.be)



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11576
2011-02-28 09:25:12 +00:00
Julian Seward
0e348ca961 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
2011-02-28 09:22:51 +00:00
Julian Seward
b8700810bb 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
2011-02-28 09:03:44 +00:00
Julian Seward
62134f346f 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
2011-02-27 23:53:32 +00:00
Julian Seward
1cb409edef 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
2011-02-27 23:39:53 +00:00
Julian Seward
a3b68857f7 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
2011-02-27 23:04:12 +00:00
Julian Seward
1f5db4cb20 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
2011-02-24 15:25:24 +00:00
Julian Seward
a18fd89fb7 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
2011-02-23 13:30:53 +00:00
Julian Seward
0c2371837b 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
2011-02-23 13:22:24 +00:00
Julian Seward
0e228dac5d 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
2011-02-23 13:18:56 +00:00
Julian Seward
a34e53eb92 Record the repo-mangling magic invokations needed for a minor release.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11565
2011-02-17 12:20:59 +00:00
Julian Seward
c8a079f79d Sync w/ 3_6_BRANCH.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11564
2011-02-17 12:20:19 +00:00
Bart Van Assche
626fe3372c 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
2011-02-13 07:55:36 +00:00
Julian Seward
46bbd35ea3 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
2011-02-11 16:47:03 +00:00
Bart Van Assche
b3f1163f39 Removed an unused variable.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11537
2011-02-10 21:09:25 +00:00
Bart Van Assche
b640febb3e 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
2011-02-10 21:03:47 +00:00
Bart Van Assche
d282cac7dc Refined a comment in the NEWS file.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11535
2011-02-10 20:59:51 +00:00
Tom Hughes
65b4c42beb Add glibc 2.13 support. Patch from Dmitry Djachenko in bug #265964.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11534
2011-02-10 09:09:09 +00:00