25 Commits

Author SHA1 Message Date
Bart Van Assche
c43ec3d688 Make exp-drd also work on programs not linked with -lpthread.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7900
2008-04-21 17:12:45 +00:00
Bart Van Assche
1bdcdc849e Modified output of stack trace printed at start of thread (code is commented out).
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7882
2008-04-16 18:17:12 +00:00
Bart Van Assche
efcedb1184 Added and commented out code for printing the result of VG_(get_StackTrace)().
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7853
2008-04-06 13:08:32 +00:00
Bart Van Assche
d3dd418801 Suppressed reports about data races during thread creation.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7843
2008-04-04 19:10:21 +00:00
Bart Van Assche
d052279628 Changed the way how data races in NPTL's thread-private data on the top of the stack are ignored: instead of clearing the corresponding region in the bitmap of every thread when the stack pointer is increased, the appropriate bits in the suppression bitmap are set at thread creation time.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7841
2008-04-04 16:54:37 +00:00
Bart Van Assche
9c4b653791 Modified mutex and condtion variable tracing output slightly.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7821
2008-03-30 13:28:33 +00:00
Bart Van Assche
44d59037f3 Removed --trace-mem which traced all memory accesses. Added support for multiple --trace-address options. A range size can now be specified to the VG_USERREQ__DRD_START_TRACE_ADDR client request. Added VG_USERREQ__DRD_STOP_TRACE_ADDR client request.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7814
2008-03-29 14:42:59 +00:00
Bart Van Assche
ce3b61b485 Changed meaning of the second argument of the start/stop suppression client requests from "end address" to "size in bytes".
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7806
2008-03-29 13:18:02 +00:00
Bart Van Assche
f3db559a9d Make sure no error message is printed when pthread_mutex_trylock() is called on a non-recursive mutex from the thread that holds a lock on the mutex.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7769
2008-03-24 08:33:47 +00:00
Bart Van Assche
1e97c6854d Removed support for thread names.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7704
2008-03-16 10:42:33 +00:00
Bart Van Assche
f43006ea78 Made indentation in the DRD source code uniform: indentation size is now two spaces in all soure files.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7684
2008-03-15 08:11:03 +00:00
Bart Van Assche
bd1e6d9da1 Added support for OpenMP barriers -- if libgomp.so has been built with debug information. More in general, added support for nested synchronization constructs.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7642
2008-03-11 20:10:21 +00:00
Bart Van Assche
8eb391f87d Added new command-line option --trace-rwlock. Added regression test exp-drd/tests/rwlock_race. Updated to do list. Fixed bug in vc_min(), the function that computes the elementwise minimum of two vector clocks. Fixed bug in thread_update_danger_set(). Fixed recently introduced bug in mutex code with regard to vector clock combining.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7549
2008-03-03 20:31:58 +00:00
Bart Van Assche
1c0e43670f Added support for POSIX reader-writer locks. Modified exp-drd/tests/filter-stderr such that i386 and AMD64 now generate the same output. Removed *.stderr.exp2 files. Added section that explains differences between LinuxThreads and NPTL to exp-drd/docs/README.txt. Made error message about LinuxThreads more clear. Made error messages more uniform.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7531
2008-03-02 17:43:18 +00:00
Bart Van Assche
928bb0b897 Converted double mutex error messages into single error messages.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7524
2008-03-01 15:27:41 +00:00
Bart Van Assche
f9bbc5bf9a Added command-line option --trace-clientobj. Renamed drd_clientobj* functions into clientobj*. Moved some code from drd_main.c into the drd_mutex.c/drd_cond.c/drd_semaphore.c.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7522
2008-03-01 13:44:24 +00:00
Bart Van Assche
1a03c31785 Eliminated per-thread start/stop recording mechanism, which should make DRD a little bit faster. malloc()/free() is now intercepted on all platforms instead of just on i386.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7519
2008-03-01 10:49:37 +00:00
Bart Van Assche
2aee92911e Added detection of more types of runtime errors. Cleaned up tracing output. Added test for tracing output (tc20_verifywrap2).
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7511
2008-02-29 19:28:15 +00:00
Bart Van Assche
ec91ad81ff Eliminated upper bounds on the number of condition variables, semaphores and barriers. Added command-line option --trace-semaphore.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7508
2008-02-29 17:27:03 +00:00
Bart Van Assche
7d068d3fa8 An error message is now printed before attempting to lock a non-recursive mutex recursively.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7490
2008-02-27 16:13:05 +00:00
Bart Van Assche
0336cdffbb Modified drd client requests such that the mutex type can be passed from the intercepts to the tool. An error message is now printed in case a locked mutex is destroyed and in case a thread exits while it holds a lock on a mutex. Changed format of mutex error messages. Added recursive_mutex regression test. Fixed autogen warnings in exp-drd/tests/Makefile.am.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7489
2008-02-27 15:46:00 +00:00
Julian Seward
994193f9bb Regtest/stability changes for drd (Bart Van Assche)
- Fix helgrind/tests/tc18_semabuse.c on glibc 2.7 (RedHat 8).

- Fixed a glibc 2.7 specific assertion failure in exp-drd, namely one
  that was triggered when sem_post()'s return value is not zero.

- exp-drd/test/matinv.c compiles now also on RedHat 7.3.

Note: more work will be required to get exp-drd working correctly on
RedHat 7.3.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7354
2008-01-18 07:42:01 +00:00
Julian Seward
22b3fe2a3e DRD updates (Bart Van Assche):
- Updated copyright statement: replaced 2006-2007 by 2006-2008.
- Added copyright statement in the files where it was missing
(drd_track.h and drd_clientreq.c)
- Eliminated dependencies on core header files -- there are no more
#include "pub_core....h" directives in the exp-drd source code.
- Added semaphore support.
- Added barrier support.
- Added pthread_mutex_timedlock() support.
- Stack depth of stack traces printed by exp-drd can now be set via
--num-callers=...
- Added command-line option --trace-barrier=[yes|no].
- Added regression test for pthread_barrier() (matinv, a program that
performs matrix inversion).
- Added regression test sem_as_mutex, which tests whether race
detection works correctly when a semaphore is used to ensure mutual
exclusion of critical sections.
- Some of helgrind's regression tests are now used to test both
helgrind and exp-drd: tc17_sembar and tc18_semabuse.
- Cleaned up bitmap implementation code now that the const keyword has
been added to the declarations of the OSet functions.
- Cleaned up exp-drd/Makefile.am
- Updated exp-drd/TODO.txt




git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7346
2008-01-14 11:54:56 +00:00
Julian Seward
ec903846a6 Remove pthread_object_size.h and associated hardwired constants.
(Bart Van Assche)



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7252
2007-11-30 08:30:29 +00:00
Julian Seward
dc1dbea937 Add DRD as an experimental tool. Bart Van Assche is the maintainer.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7211
2007-11-25 14:01:38 +00:00