Commit Graph

7436 Commits

Author SHA1 Message Date
Bart Van Assche
ca485f98eb rwlock_test: added more internal error checking.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10592
2009-07-24 11:10:05 +00:00
Bart Van Assche
10bbe05bd7 Removed those suppression patterns that became superfluous because of r10584.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10591
2009-07-24 10:51:11 +00:00
Bart Van Assche
d3139db353 Made number of threads and number of iterations configurable. Decreased stack size allocated per thread.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10590
2009-07-24 09:34:37 +00:00
Julian Seward
6334c4c3f9 Various improvements:
* rename many functions to do with shadow memory handling, to
  more clearly differentiate reads and writes directly of the
  shadow state from client reads and writes, each of which
  generate both a read and a write of the client state.  It was
  getting confusing (== hard to verify) in there.

* use idempotency of memory state machine transition rules to
  speed up long sequential sections, speedups in range 0% to 28%

* remove 4-way Pord (EQ, LT, GT, UN) and associated machinery,
  and replace it with something that merely computes LEQ in the
  partial ordering, since that's all that is necessary, and
  this simplifies some fast-case paths.

* add optional approx history mechanism a la DRD (start/end stack
  of conflicting segment), much faster if you don't need exact
  conflicting-access details

* libhb_so_recv: tick the VTS in the receiving thread; don't just
  join with the VC in the SO.  It's probably correct without this
  modification, but that correctness is fragile and depends on
  complex properties of how SOs are used/created.  Much better to
  be completely safe.  (Needs cache-isation).

* get rid of unnecessary shadow memory state "SVal_NOACCESS"
  and simplify associated fast-case paths in msmc{read,write}



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10589
2009-07-24 08:45:08 +00:00
Bart Van Assche
81ef2cbbc5 Updated Subversion ignore lists.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10588
2009-07-24 08:42:38 +00:00
Julian Seward
9689b428d9 Oops, this should have been included in r10583 ("New methods in WordXA:")
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10587
2009-07-24 08:42:07 +00:00
Bart Van Assche
ae6ca7c3d9 Made test output operating system independent by suppressing information about conflicting segments.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10586
2009-07-24 08:36:18 +00:00
Julian Seward
226b8930d9 Update.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10585
2009-07-24 08:22:35 +00:00
Bart Van Assche
6529f12189 Replaced code for suppressing the stack memory in use at the time a
thread is being created by code for suppressing the memory allocated
from inside the pthread_create() call. The new implementation should be
a more portable solution for suppressing data races triggered by the
thread-local-storage implementation of a Pthreads library.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10584
2009-07-24 08:20:10 +00:00
Julian Seward
5653b12bb2 New methods in WordXA:
* lookupXA_UNSAFE -- binary search in array without being forced
  to sortXA it first -- dangerous because if the array isn't in order
  then the lookup can loop forever

* dropHeadXA -- drop the first N elements (kinda like dropTailXA, but
  unfortunately O(N) not O(1)), so that xarrays can be used to
  implement FIFOs, after a fashion.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10583
2009-07-24 08:11:39 +00:00
Nicholas Nethercote
05c08fc86c Fix a compile warning.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10582
2009-07-24 07:54:51 +00:00
Nicholas Nethercote
68efb29503 A fix for bug 186796: suppression symbol names were being truncated if they
were longer than 200 chars.  Now dynamic memory is used and so they can be
arbitrarily long in theory, although in practice it bombs out at 100,000 for
sanity purposes.  This required adjusting the core/tool interface for
read_extra_suppression_info().  


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10581
2009-07-24 07:38:29 +00:00
Julian Seward
4aaf0d4d6f Update expected output, so at least Helgrind runs clean on openSUSE
11.0 x86_64.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10580
2009-07-24 07:24:19 +00:00
Bart Van Assche
4536c55b81 Reverted r10511.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10579
2009-07-24 06:41:08 +00:00
Nicholas Nethercote
e3f6e42966 Fixed bug 149878 (calloc overflow). This disables some of the calloc silly
arg checking, but that's no great loss.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10578
2009-07-24 06:41:02 +00:00
Bart Van Assche
100f8eb9f7 Run the pth_inconsistent_cond_wait in quiet mode.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10577
2009-07-24 06:30:17 +00:00
Bart Van Assche
897fa244db Added command line option -q, which allows to suppress printing an error message if a Pthreads call fails.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10576
2009-07-24 06:29:57 +00:00
Nicholas Nethercote
bd7381bd00 mremap2 is a totally unreliable test; it's the only test that fails on a
number of Linux machines.  This change makes it more reliable, at the cost
of being less specific.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10575
2009-07-24 05:38:23 +00:00
Nicholas Nethercote
2722cbec9a This was meant to go in with r10573.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10574
2009-07-24 05:35:49 +00:00
Nicholas Nethercote
aa4962d995 In r10465 --time-stamp=yes got slightly broken -- the space between the time
and the PID was removed.  This commit adds it back in.  It also adds a basic
test that would have detected this regression, and also the breakage in bug
200990.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10573
2009-07-24 05:16:31 +00:00
Nicholas Nethercote
fb2fa41714 Add Valgrind version back into the preamble.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10572
2009-07-24 04:47:04 +00:00
Vince Weaver
d266b0fd1e The pc-file output from the exp-bbv tool is mildly implementation dependent.
This causes the regression test to fail with the "million" benchmark
on a Fedora 9 system.  For now, remove the pc-file part of the test,
and later I'll come up with a better way of testing this feature.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10571
2009-07-23 21:13:14 +00:00
Bart Van Assche
f50613035d Labels printed with semaphore tracing enabled do now match the function names assigned by POSIX.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10570
2009-07-23 19:07:37 +00:00
Bart Van Assche
08181a2489 Fixed two typo's.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10569
2009-07-23 19:01:35 +00:00
Bart Van Assche
572a6b91d5 Ported circular_buffer test to Darwin.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10568
2009-07-23 18:22:00 +00:00
Bart Van Assche
498f9a41ff Modified filter_stderr to filter out even more platform differences.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10567
2009-07-23 18:10:55 +00:00
Bart Van Assche
ed4ca3f766 Ported the pth_inconsistent_cond_wait test program to Darwin.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10566
2009-07-23 18:02:52 +00:00
Bart Van Assche
0e88cde198 Print an error message if sem_init() is called by a client program on Darwin.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10565
2009-07-23 17:52:51 +00:00
Bart Van Assche
f76d7ab6d9 Only run the test programs that call sem_init() on operating systems that have implemented this function.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10564
2009-07-23 17:51:58 +00:00
Bart Van Assche
dfe8dac619 Refactoring: moved semaphore initialization and cleanup code to two new functions.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10563
2009-07-23 17:50:02 +00:00
Bart Van Assche
0cdf1a7286 Should have been included in the previous commit.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10562
2009-07-23 17:34:26 +00:00
Bart Van Assche
9937aaa0d3 Reverted r10523 and r10540: since sem_init() is not yet supported on Darwin, revert the attempts to compensate for the different return values on Darwin.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10561
2009-07-23 17:22:11 +00:00
Bart Van Assche
e2f8abc15d Added support for sem_open() and sem_close().
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10560
2009-07-23 16:31:39 +00:00
Bart Van Assche
2cb2907e36 Another update of the testing instructions.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10559
2009-07-23 16:24:45 +00:00
Bart Van Assche
e6be93e020 Added (and commented out) more debugging code.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10558
2009-07-23 16:24:02 +00:00
Bart Van Assche
b7715d3f91 Ported TSAN test 98 to Darwin.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10557
2009-07-23 10:52:32 +00:00
Bart Van Assche
4b6258388f Suppressed a compiler warning.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10556
2009-07-23 10:50:33 +00:00
Bart Van Assche
a3977993e5 Added more suppression patterns.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10555
2009-07-23 10:50:08 +00:00
Bart Van Assche
b37fa39b2b Let DRD print a warning at startup that support for Darwin is still considered experimental, and filter out this warning from the regression tests.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10554
2009-07-23 10:10:30 +00:00
Bart Van Assche
6e0100e129 Updated Subversion ignore list.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10553
2009-07-23 08:21:23 +00:00
Bart Van Assche
7e4b8c299f Updated line numbers in expected output.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10552
2009-07-23 08:18:12 +00:00
Bart Van Assche
15f9b0efc3 Renamed output files.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10551
2009-07-23 08:16:25 +00:00
Bart Van Assche
d7362b9846 Reverted r10526.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10550
2009-07-23 08:09:29 +00:00
Bart Van Assche
7c54309c8b Updated platform support messages.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10549
2009-07-23 07:38:17 +00:00
Bart Van Assche
a43218b01b Added DRD-specific suppression patterns for Darwin.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10548
2009-07-23 07:37:32 +00:00
Bart Van Assche
d91d5646b2 Added a suppression pattern for a leak triggered from inside Darwin's C library.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10547
2009-07-23 07:13:35 +00:00
Bart Van Assche
f374bec4f2 Updated Subversion ignore list.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10546
2009-07-23 07:12:17 +00:00
Bart Van Assche
afb65b2ee5 Improved source code portability.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10545
2009-07-23 07:11:27 +00:00
Bart Van Assche
f33a7f39b4 Made expected output for tc23_bogus_condwait complete (Darwin).
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10544
2009-07-23 07:10:40 +00:00
Bart Van Assche
cd14a72ab3 Only run the tc20_verifywrap2 test if the tc20_verifywrap executable has been built.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10543
2009-07-23 07:09:44 +00:00