at 0x........: pthread_mutex_destroy (drd_intercepts.c:?)
by 0x........: main (tc20_verifywrap.c:102)
+Invalid mutex
+ at 0x........: pthread_mutex_lock (drd_intercepts.c:?)
+ by 0x........: main (tc20_verifywrap.c:108)
+
+Invalid mutex
+ at 0x........: pthread_mutex_trylock (drd_intercepts.c:?)
+ by 0x........: main (tc20_verifywrap.c:116)
+
+Invalid mutex
+ at 0x........: pthread_mutex_timedlock (drd_intercepts.c:?)
+ by 0x........: main (tc20_verifywrap.c:121)
+
Invalid mutex
at 0x........: pthread_mutex_unlock (drd_intercepts.c:?)
by 0x........: main (tc20_verifywrap.c:125)
FIXME: can't figure out how to verify wrap of pthread_broadcast_signal
+Mutex not locked: address 0x........, recursion count 0, owner 0.
+ at 0x........: pthread_cond_timedwait* (drd_intercepts.c:?)
+ by 0x........: main (tc20_verifywrap.c:165)
+
---------------- pthread_rwlock_* ----------------
(1) no error on next line
FIXME: can't figure out how to verify wrap of sem_destroy
+Invalid semaphore 0x........
+ at 0x........: sem_wait* (drd_intercepts.c:?)
+ by 0x........: main (tc20_verifywrap.c:242)
+
FIXME: can't figure out how to verify wrap of sem_post
------------ dealloc of mem holding locks ------------
-Destroying locked mutex: address 0x........, recursion count 1, owner 1.
- at 0x........: main (tc20_verifywrap.c:261)
-
-ERROR SUMMARY: 6 errors from 6 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 10 errors from 10 contexts (suppressed: 0 from 0)
+
+
+
+------ This is output for >= glibc 2.4 ------
+
+---------------- pthread_create/join ----------------
+
+Conflicting store by thread 1 at 0x........ size 2
+ at 0x........: main (tc20_verifywrap.c:78)
+Allocation context: unprotected (offset 0, size 2) in tc20_verifywrap, NONE:BSS
+Other segment start (thread 2)
+ (thread finished, call stack no longer available)
+Other segment end (thread 2)
+ (thread finished, call stack no longer available)
+
+---------------- pthread_mutex_lock et al ----------------
+
+[1/1] mutex_init invalid mutex 0x........
+[1/1] mutex_init mutex 0x........
+[1/1] post_mutex_lock mutex 0x........ rc 0 owner 0
+[1/1] mutex_destroy mutex 0x........
+
+Destroying locked mutex: address 0x........, recursion count 1, owner 1.
+ at 0x........: pthread_mutex_destroy (drd_intercepts.c:?)
+ by 0x........: main (tc20_verifywrap.c:102)
+[1/1] mutex_init invalid mutex 0x........
+[1/1] post_mutex_lock invalid mutex 0x........ rc 0 owner 0
+
+Invalid mutex
+ at 0x........: pthread_mutex_lock (drd_intercepts.c:?)
+ by 0x........: main (tc20_verifywrap.c:108)
+[1/1] post_mutex_lock invalid mutex 0x........ rc 0 owner 0
+
+Invalid mutex
+ at 0x........: pthread_mutex_trylock (drd_intercepts.c:?)
+ by 0x........: main (tc20_verifywrap.c:116)
+[1/1] post_mutex_lock invalid mutex 0x........ rc 0 owner 0
+
+Invalid mutex
+ at 0x........: pthread_mutex_timedlock (drd_intercepts.c:?)
+ by 0x........: main (tc20_verifywrap.c:121)
+[1/1] mutex_unlock invalid mutex 0x........ rc 0
+
+Invalid mutex
+ at 0x........: pthread_mutex_unlock (drd_intercepts.c:?)
+ by 0x........: main (tc20_verifywrap.c:125)
+
+Mutex not locked: address 0x........, recursion count 0, owner 0.
+ at 0x........: pthread_mutex_unlock (drd_intercepts.c:?)
+ by 0x........: main (tc20_verifywrap.c:125)
+
+---------------- pthread_cond_wait et al ----------------
+
+[1/1] mutex_init error checking mutex 0x........
+[1/1] cond_init 0x........
+[1/1] mutex_unlock error checking mutex 0x........ rc 0
+
+Mutex not locked: address 0x........, recursion count 0, owner 0.
+ at 0x........: pthread_cond_wait* (drd_intercepts.c:?)
+ by 0x........: main (tc20_verifywrap.c:147)
+[1/1] cond_pre_wait 0x........
+[1/1] cond_post_wait 0x........
+[1/1] post_mutex_lock error checking mutex 0x........ rc 0 owner 0
+[1/1] cond_signal 0x........
+
+FIXME: can't figure out how to verify wrap of pthread_cond_signal
+
+[1/1] cond_broadcast 0x........
+
+FIXME: can't figure out how to verify wrap of pthread_broadcast_signal
+
+[1/1] mutex_unlock error checking mutex 0x........ rc 0
+
+Mutex not locked: address 0x........, recursion count 0, owner 0.
+ at 0x........: pthread_cond_timedwait* (drd_intercepts.c:?)
+ by 0x........: main (tc20_verifywrap.c:165)
+[1/1] cond_pre_wait 0x........
+[1/1] cond_post_wait 0x........
+[1/1] post_mutex_lock error checking mutex 0x........ rc 0 owner 0
+
+---------------- pthread_rwlock_* ----------------
+
+(1) no error on next line
+(2) no error on next line
+(3) ERROR on next line
+(4) no error on next line
+(5) no error on next line
+(6) no error on next line
+(7) no error on next line
+(8) ERROR on next line
+
+---------------- sem_* ----------------
+
+[1/1] semaphore_init 0x........
+
+FIXME: can't figure out how to verify wrap of sem_destroy
+
+[1/1] semaphore_pre_wait 0x........
+[1/1] semaphore_post_wait 0x........
+
+Invalid semaphore 0x........
+ at 0x........: sem_wait* (drd_intercepts.c:?)
+ by 0x........: main (tc20_verifywrap.c:242)
+[1/1] semaphore_post 0x........
+
+FIXME: can't figure out how to verify wrap of sem_post
+
+[1/1] semaphore_destroy 0x........
+
+------------ dealloc of mem holding locks ------------
+
+[1/1] mutex_destroy error checking mutex 0x........
+[1/1] mutex_destroy invalid mutex 0x........
+[1/1] mutex_destroy invalid mutex 0x........
+[1/1] mutex_init recursive mutex 0x........
+[1/1] post_mutex_lock recursive mutex 0x........ rc 0 owner 0
+[1/1] mutex_unlock recursive mutex 0x........ rc 1
+[1/1] post_mutex_lock recursive mutex 0x........ rc 0 owner 1
+[1/1] mutex_unlock recursive mutex 0x........ rc 1
+[1/1] post_mutex_lock recursive mutex 0x........ rc 0 owner 1
+[1/1] mutex_unlock recursive mutex 0x........ rc 1
+[1/1] post_mutex_lock recursive mutex 0x........ rc 0 owner 1
+[1/1] mutex_unlock recursive mutex 0x........ rc 1
+[1/1] post_mutex_lock recursive mutex 0x........ rc 0 owner 1
+[1/1] mutex_unlock recursive mutex 0x........ rc 1
+[1/1] post_mutex_lock recursive mutex 0x........ rc 0 owner 1
+[1/1] mutex_unlock recursive mutex 0x........ rc 1
+[1/1] post_mutex_lock recursive mutex 0x........ rc 0 owner 1
+[1/1] mutex_unlock recursive mutex 0x........ rc 1
+[1/1] post_mutex_lock recursive mutex 0x........ rc 0 owner 1
+[1/1] mutex_unlock recursive mutex 0x........ rc 1
+[1/1] post_mutex_lock recursive mutex 0x........ rc 0 owner 1
+[1/1] mutex_unlock recursive mutex 0x........ rc 1
+[1/1] post_mutex_lock recursive mutex 0x........ rc 0 owner 1
+[1/1] mutex_unlock recursive mutex 0x........ rc 1
+[1/1] post_mutex_lock recursive mutex 0x........ rc 0 owner 1
+[1/1] mutex_unlock recursive mutex 0x........ rc 1
+[1/1] post_mutex_lock recursive mutex 0x........ rc 0 owner 1
+[1/1] mutex_unlock recursive mutex 0x........ rc 1
+[1/1] post_mutex_lock recursive mutex 0x........ rc 0 owner 1
+[1/1] mutex_unlock recursive mutex 0x........ rc 1
+[1/1] post_mutex_lock recursive mutex 0x........ rc 0 owner 1
+[1/1] mutex_unlock recursive mutex 0x........ rc 1
+[1/1] post_mutex_lock recursive mutex 0x........ rc 0 owner 1
+[1/1] mutex_unlock recursive mutex 0x........ rc 1
+[1/1] post_mutex_lock recursive mutex 0x........ rc 0 owner 1
+[1/1] mutex_unlock recursive mutex 0x........ rc 1
+
+ERROR SUMMARY: 10 errors from 10 contexts (suppressed: 0 from 0)