History log of /external/valgrind/drd/drd_pthread_intercepts.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
f2253a4c53adead52757064dc2b5f004308299d2 29-Sep-2015 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> drd: Improve thread startup code for non-Linux platforms

Ivo Raisr had reported that thread startup was slow on Solaris.
This patch reduces the thread startup time on Solaris.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15687 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_pthread_intercepts.c
b3a1e4bffbdbbf38304f216af405009868f43628 21-Aug-2015 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Update copyright dates, to include 2015. No functional change.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15577 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_pthread_intercepts.c
8eb8bab992e3998c33770b0cdb16059a8b918a06 21-Jul-2015 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Bug 345248 - add support for Solaris OS in valgrind

Authors of this port:
Petr Pavlu setup@dagobah.cz
Ivo Raisr ivosh@ivosh.net
Theo Schlossnagle theo@omniti.com



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15426 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_pthread_intercepts.c
3cc2620def51a0c34d8ababa9b9f35a5e719d40e 09-Jun-2014 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> drd: Ignore ordering introduced by a mutex used in the thread creation wrapper

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14015 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_pthread_intercepts.c
63eb989f63cd9bf4fbba7502958829521cc302ab 19-Mar-2014 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> drd: Add post-rwlock_init and pre-rwlock_destroy client requests (#332265)

From: Ivo Raisr <ivosh@ivosh.net>


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13882 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_pthread_intercepts.c
4ad5efcce932c6054835d9718b4ef21d8d9e6cdb 18-Mar-2014 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> drd: Fix pthread_rwlock_timed{rd,wr}lock intercepts (#332263)

From: Ivo Raisr <ivosh@ivosh.net>


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13877 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_pthread_intercepts.c
fef90e0479328c85c0760ab3ab53adc3bdcef969 09-Feb-2014 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> drd: Make the code added in r13792 portable

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13794 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_pthread_intercepts.c
9025fdb2e2faf206e2abd67dcd02cde6b0031bcb 08-Feb-2014 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> drd: Avoid that the drd/tests/pth_mutex_reinit test fails with glibc >= 2.18

Apparently with glibc >= 2.18 the value returned by pthread_mutexattr_gettype()
is not the same as the value passed to pthread_mutexattr_settype(). Add a
workaround for this glibc bug.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13792 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_pthread_intercepts.c
d4bab99f83dbc53665c5769c3f6b50ffcd2a9a7d 04-Oct-2013 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> drd: Update copyright notice

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13613 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_pthread_intercepts.c
d36fa80de3fb0350509a3714bb795392aca21849 24-Dec-2012 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> drd: Handle pthread_cond_destroy() failure properly

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13198 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_pthread_intercepts.c
6d79b74ed20abe9e497d05a6669585678e80d027 20-Dec-2012 petarj <petarj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Introduce DISABLE_PTHREAD_SPINLOCK_INTERCEPT flag

The flag DISABLE_PTHREAD_SPINLOCK_INTERCEPT is set only for MIPS32, and it is
used in DRD and Helgrind as a workaround for the issue #311690.
In short, pthread_spin_lock implementation has local branches to the start of
the function which interferes with the redirection system in Valgrind that
assumes it has to redirect each call/branch to a particular address.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13190 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_pthread_intercepts.c
19f91bbaedb4caef8a60ce94b0f507193cc0bc10 10-Nov-2012 florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> Fix more Char/HChar mixups. Closing in...


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13119 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_pthread_intercepts.c
d428218312408402ca483b588588d3cd80cb9950 28-Aug-2012 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> drd: Re-enable the pthread_cancel() intercept now that the CALL_FN_*() ABI
violation has been fixed (r12811).


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12907 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_pthread_intercepts.c
03f8d3fc25f5a45c5826259d1b33b7f310117279 05-Aug-2012 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Update copyright dates to include 2012.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12843 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_pthread_intercepts.c
b283aa32661482a09aae5a95842881aa8a810d2b 28-Jul-2012 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> drd: Avoid that invoking pthread_cancel() from a program analyzed with DRD triggers a crash on Fedora 17

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12800 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_pthread_intercepts.c
e57a9e2c0ab6bad51350bd0091267012279a71b0 24-Jan-2012 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> drd: Avoid that the changes from r12351 trigger a race condition when copying DrdPosixThreadArgs

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12352 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_pthread_intercepts.c
ce1d688d24a9b2a63866c05d3bc06a6e2718f0df 23-Jan-2012 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> drd, semaphore implementation: Only wake the associated futex if at least one thread is waiting

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12351 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_pthread_intercepts.c
e5286975cf981643cc487f3cc19338545ce181b9 19-Jan-2012 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> drd: Fix a race condition in the pthread_create() intercept.

Avoid that the futex wake call in DRD_(sema_up)() can get invoked after the semaphore has
already been destroyed. This is most likely the real fix for the bug described in the
commit message of r12332.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12346 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_pthread_intercepts.c
1081fe2314bc72160d8ff503f11a65905cd4e4df 04-Dec-2011 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> Remove emacs modeline and/or local variables from DRD source files

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12279 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_pthread_intercepts.c
4b3a74204894e943c43cb8e8aae39d813040702c 24-Oct-2011 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Fix #284384 (clang 3.1 -Wunused-value warnings in valgrind.h,
memcheck.h) by changing a bunch of VALGRIND_DO_CLIENT_REQUEST_EXPR
into VALGRIND_DO_CLIENT_REQUEST_STMT for cases where the return value
of the former would be unused. (Bart Van Assche, bart.vanassche@gmail.com)



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12226 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_pthread_intercepts.c
818f17ee31b45c5da3c9d152c235c59d854bbfba 17-Sep-2011 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> Make drd/drd_pthread_intercepts.c compile again on Linux systems without usable <linux/futex.h> header

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12035 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_pthread_intercepts.c
5cbd26ec7cc2033d27e3b24b0dec71e3b958db8f 24-Aug-2011 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> drd: Avoid reporting false positive race reports inside pthread_join().

Note: I haven't analyzed yet since which commit these false positives
started to appear but it's most likely a commit applied after the 3.6
release.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12003 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_pthread_intercepts.c
1f4f300301689e4d4838327e2b84b66307244148 29-Jul-2011 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> drd: Remove a too strict assert() statement

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11937 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_pthread_intercepts.c
d1a5cd6ffa69cff14127634598793bfd818994ba 28-Jul-2011 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> drd: Make drd_pthread_intercepts.c compile again on systems where
FUTEX_PRIVATE_FLAG has not been defined in <linux/futex.h>, e.g. older System z
systems.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11929 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_pthread_intercepts.c
6d956dc21b6a81f0c67ad18ac61867da0d5922a3 28-Jul-2011 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> drd: Delay deletion of memory access information of joined threads in order not
to miss any races caused by these threads.

To do: refine handling of pthread_once() again.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11926 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_pthread_intercepts.c
651f56b70fabe58375f66228b5ed501c49308803 26-Jul-2011 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> drd/Linux: eliminate busy waiting when starting a thread

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11920 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_pthread_intercepts.c
0c09bf0aa1e54446916b32f69eb8da2c813af3a8 12-Jul-2011 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> The pthread.h on Android has no definition for pthread_rwlock_t, which
makes the associated intercepts in Helgrind and DRD un-compilable.
Add a configure test for it, and use them to guard the aforementioned
intercepts.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11875 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_pthread_intercepts.c
575ce8ef8fa86a502dabe152293320676922dcfe 15-May-2011 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> Get rid of the remaining "set but not used" warnings reported by gcc 4.6 by
swapping the roles of the VALGRIND_DO_CLIENT_REQUEST() and
VALGRIND_DO_CLIENT_REQUEST_EXPR() macros. Also, many __attribute__((unused))
declarations on variables have been eliminated. Closes #269778.

Note: so far this patch has been tested on x86/Linux, amd64/Linux and
ppc64/Linux but not yet on any other supported CPU/OS combination.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11755 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_pthread_intercepts.c
c7ffc94890e120c72d5802487b1092425323dc02 28-Mar-2011 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Fix up most but not all warnings generated by gcc-4.6 about
dead assignments ("[-Wunused-but-set-variable]").



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11673 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_pthread_intercepts.c
922304f9e9d5df1a20a1bb1d4736263c99272aa4 13-Mar-2011 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> Updated modeline and copyright statement in DRD source files.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11642 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_pthread_intercepts.c
b957ab8b3d9f05e6df7f92616e7ebe40ed7f0e85 12-Mar-2011 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> DRD: Allocate thread arguments again on the stack.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11630 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_pthread_intercepts.c
5668d4e1df332e79425543a583ad8ac3ec981055 09-Mar-2011 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> 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 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_pthread_intercepts.c
8244b86bd5258b3271e93c1aa58731f9d0b2f074 08-Mar-2011 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> 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 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_pthread_intercepts.c
e476e92b5312bf517d52b6f2232fc316d2f1d2e3 08-Mar-2011 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> DRD: Removed an obsolete comment.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11611 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_pthread_intercepts.c
8239742b498e84d12fee70696915f61e52f9e2b1 08-Mar-2011 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> DRD: Source code cleanup.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11610 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_pthread_intercepts.c
377d23f60f420e47436a6ed76dd229e9f28588f7 05-Mar-2011 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> DRD, Darwin: avoid triggering misaligned stack errors. Fixes #267552.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11591 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_pthread_intercepts.c
b2260b837dafcf6cca79aacdf9fda9af4358a09b 13-Feb-2011 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> 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 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_pthread_intercepts.c
9fc7face8f67c18cfeba9bd3b0ab571586a4d03d 10-Feb-2011 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> 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 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_pthread_intercepts.c
876cafda1cd6f0245b81b1dc5a43d84a86f5f59e 10-Oct-2010 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> E-mail address update.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11420 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_pthread_intercepts.c
33f76c1987c79967f195482ab7ddd6bf9cddb0d9 19-Sep-2010 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> DRD: avoid unaligned reads.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11365 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_pthread_intercepts.c
f27eba20eb306e6dd7bdc722465a0067d5e35710 02-Jun-2010 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> Replaced dynamic initialization of DRD_(pthread_cond_initializer) by static initialization.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11145 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_pthread_intercepts.c
850f1990e89f10e7efb33a140ab14baaebacc864 29-May-2010 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> Handle statically initialized condition variables properly.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11139 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_pthread_intercepts.c
9eecbbb9a9cbbd30b903c09a9e04d8efc20bda33 03-May-2010 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Update copyright dates to 2010.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11121 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_pthread_intercepts.c
31b983d29affe6c30a2283be8824c6d75c74d848 21-Feb-2010 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> Removed trailing whitespace in C source and header files.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11052 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_pthread_intercepts.c
4f66a77e12665587f10b550fe438c3bd2f257b32 31-Jul-2009 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> Builds again on Darwin.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10680 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_pthread_intercepts.c
791a0c641fb14197c4e2e7e7e62eda27125ecb08 31-Jul-2009 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> Implemented a more systematic approach for intercepting POSIX threads
functions: for each function name to intercept, intercept the function
name itself, the function name with @* appended (versioned symbols on
Linux) and the function name with $* appended (versioned symbols on
Darwin). Updated filter_stderr such that symbol versions are removed.
Updated the expected output files that contain names of intercepted
functions.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10679 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_pthread_intercepts.c
b48bde21f5107f74335b88cacee76c556ae22aa7 31-Jul-2009 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> Report an error message instead of triggering an assertion failure when a non-existing thread ID is passed to pthread_join() or pthread_cancel().

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10674 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_pthread_intercepts.c
554953fb9381f6f05720436ae62a24522fa202e6 26-Jul-2009 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> Fixed typo.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10618 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_pthread_intercepts.c
93a027427eb081eb1121f2d8eef05a99556883de 26-Jul-2009 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> Suppress data race reports for the data race triggered by Darwin's pthread_once() implementation such that the pth_once test also passes on Darwin.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10616 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_pthread_intercepts.c
fc68130d6d6729d21983882509c82456a3f31b1a 26-Jul-2009 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> Removed code that has been commented out recently.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10606 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_pthread_intercepts.c
dd75cdfe7612f58bdba8e3a16d34ee32eef85980 24-Jul-2009 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> 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 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_pthread_intercepts.c
25f9f5411f64046c2ffc0822f727aedc21f07720 23-Jul-2009 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> Added support for sem_open() and sem_close().

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10560 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_pthread_intercepts.c
d2d744c4b4ec47822a9d88833d2fa0500efb342a 22-Jul-2009 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> Make the regression tests pass again on Linux.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10535 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_pthread_intercepts.c
e8cbb40a1bf44cab4f2fb564af5ab86a354bc63b 22-Jul-2009 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> More tweaking for Darwin.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10534 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_pthread_intercepts.c
6fe737bd8ff1a391398476aab4238aed043048f8 21-Jul-2009 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> Tweaks for Darwin.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10515 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_pthread_intercepts.c
adb7a20aa41c958a0b1667879a097dc194eb21df 21-Jul-2009 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> Made sure that DRD does something meaningful when using another threading library than LinuxThreads or the NPTL.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10503 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_pthread_intercepts.c
f76d27a697a7b0bf3b84490baf60623fc96a23af 28-May-2009 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Merge the DARWIN branch onto the trunk.

I tried using 'svn merge' to do the merge but it did a terrible job and
there were bazillions of conflicts. So instead I just took the diff between
the branch and trunk at r10155, applied the diff to the trunk, 'svn add'ed
the added files (no files needed to be 'svn remove'd) and committed.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10156 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_pthread_intercepts.c
5f5ef2ae9e7c2ce5ebc36c1e2fc98e5f81650be3 11-May-2009 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Factor out the name of the libpthread library. Also fix a minor stack trace
bogon.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9832 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_pthread_intercepts.c
c39d109d291dabb5cdc122c565065ec353e60c1f 22-Apr-2009 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> Fixed #189763.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9578 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_pthread_intercepts.c
bedfd237fbdc80d0c917cfcb85a94b5561c92633 26-Mar-2009 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> - Reindented code such that it uses three spaces for indentation instead
of two. The indentation of the DRD source code is now consistent with
the other Valgrind source files.
- Added emacs mode line with indentation settings.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9496 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_pthread_intercepts.c
489de210b532b7c2c17778197bf76fe170bdd31f 13-Mar-2009 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> Made DRD_(mutex_type) ignore mutex attribute flags.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9399 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_pthread_intercepts.c
a0b7222cc818a23722496950920a773202ba046e 12-Mar-2009 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> Added comment block that explains why the creator thread waits until the creator thread has copied the vector clock of the creator thread.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9387 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_pthread_intercepts.c
d2c5eae561040706a7eb45c0f3988dcd538c8d7e 21-Feb-2009 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> Changes:
- pthread_barrier_wait() intercept now passes the information to the DRD
tool whether or not this function returned
PTHREAD_BARRIER_SERIAL_THREAD. This information is now displayed when
the command-line option --trace-barrier=yes has been specified.
- Changed the cleanup functions for client objects that are called just
before a thread stops into callback functions.
- Added DRD_(clientobj_delete_thread)().
- Removed DRD_(clientobj_resetiter)(void) and DRD_(clientobj_next)().
- Added test for race conditions between pthread_barrier_wait() and
pthread_barrier_destroy() calls. An error message is now printed if
this condition has been detected.
- Bug fix: pthread_barrier_delete() calls on barriers being waited upon
are now reported.
- Removed DRD_() wrapper from around the name of some static variables and
functions.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9211 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_pthread_intercepts.c
86562bd89ac23ce795d19c71fabcb9d1c8f956d3 16-Feb-2009 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> - Updated copyright statements.
- Improved consistency of source file headers.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9182 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_pthread_intercepts.c
a764b3736524b76d861baa2338b369d11f6b41a4 15-Feb-2009 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> Restored the previous method for passing arguments from the creator thread to the created thread, since the new approach made some regression tests fail. It is not yet clear to me why.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9164 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_pthread_intercepts.c
227c65951068f4006e870a9529df80f7561b4f24 14-Feb-2009 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> - Performance improvement: eliminated busy waiting from thread creation.
- Applied DRD_() prefix to all names of functions that are not
intercepts of client code.
- Removed superfluous include directive, namely #include <inttypes.h>.
- Removed hack for suppressing false positive reports on stdio / stderr
because recently a suppression pattern was added for these races.
- Removed unused code and declarations.
- Added more comments.
- Updated copyright statement.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9149 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_pthread_intercepts.c
292c1e20f3db3170c185b94b0f3cecbac06d6a04 14-Feb-2009 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> Renamed vg_thread_wrapper() into DRD_(thread_wrapper)().


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9148 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_pthread_intercepts.c
e8900ff0bc3994dc6910fec8f18e7c83086d82c0 13-Oct-2008 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> Replaced test for FILE::_lock by a more direct test.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8670 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_pthread_intercepts.c
88f3a89383ee622cb833f439bd498d1478c8fb55 11-Oct-2008 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> Removed #define _IO_MTSAFE_IO again.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8662 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_pthread_intercepts.c
3a979cb25f13c375bff9f9613c40aba7ccfb4e6a 11-Oct-2008 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> Removed inclusion of <bits/libc-lock.h>.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8661 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_pthread_intercepts.c
280990ebe9711e32d4e58dd79b1bce162cbdf05f 11-Oct-2008 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> Suppress race reports triggered by glibc's _IO_flockfile(FILE*) on stdout and stderr.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8658 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_pthread_intercepts.c
2bc9c1066823a58f5a7c081907442ffb2962e0d6 27-Sep-2008 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> Added intercept for pthread_cancel().

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8640 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_pthread_intercepts.c
3f4623e4ab3a3ab66c0685610e0f338a56f0426d 07-Jul-2008 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> Enabled support for nesting mutexes and condition variables in higher-level synchronization primitives. Changed mutex tracing output slightly.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8377 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_pthread_intercepts.c
f4f0581c0f14966224135f8dd73ed6f37c8b5a94 07-Jul-2008 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> Made spinlocks work again.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8372 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_pthread_intercepts.c
ccf17de11cac09dc387e6cb115fdee0ae6e29e70 04-Jul-2008 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> Renamed exp-drd directory into drd. Moved drd from the experimental tool class to the class of regular tools.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8361 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_pthread_intercepts.c