diff --git a/helgrind/tests/Makefile.am b/helgrind/tests/Makefile.am index 30307daa4..aa4930c66 100644 --- a/helgrind/tests/Makefile.am +++ b/helgrind/tests/Makefile.am @@ -83,10 +83,12 @@ EXTRA_DIST = \ tc18_semabuse.vgtest tc18_semabuse.stdout.exp \ tc18_semabuse.stderr.exp \ tc18_semabuse.stderr.exp-linux-mips32 \ + tc18_semabuse.stderr.exp-linux-mips32-b \ tc19_shadowmem.vgtest tc19_shadowmem.stdout.exp \ tc19_shadowmem.stderr.exp tc19_shadowmem.stderr.exp-mips32 \ tc20_verifywrap.vgtest tc20_verifywrap.stdout.exp \ tc20_verifywrap.stderr.exp tc20_verifywrap.stderr.exp-mips32 \ + tc20_verifywrap.stderr.exp-mips32-b \ tc20_verifywrap.stderr.exp-s390x \ tc21_pthonce.vgtest tc21_pthonce.stdout.exp tc21_pthonce.stderr.exp \ tc22_exit_w_lock.vgtest tc22_exit_w_lock.stdout.exp \ diff --git a/helgrind/tests/tc18_semabuse.stderr.exp-linux-mips32-b b/helgrind/tests/tc18_semabuse.stderr.exp-linux-mips32-b new file mode 100644 index 000000000..ce83a9bf6 --- /dev/null +++ b/helgrind/tests/tc18_semabuse.stderr.exp-linux-mips32-b @@ -0,0 +1,30 @@ + +---Thread-Announcement------------------------------------------ + +Thread #x is the program's root thread + +---------------------------------------------------------------- + +Thread #x's call to sem_init failed + with error code 22 (EINVAL: Invalid argument) + at 0x........: sem_init_WRK (hg_intercepts.c:...) + by 0x........: sem_init@* (hg_intercepts.c:...) + by 0x........: main (tc18_semabuse.c:23) + +---------------------------------------------------------------- + +Thread #x: Bug in libpthread: sem_wait succeeded on semaphore without prior sem_post + at 0x........: sem_wait_WRK (hg_intercepts.c:...) + by 0x........: sem_wait (hg_intercepts.c:...) + by 0x........: main (tc18_semabuse.c:34) + +---------------------------------------------------------------- + +Thread #x's call to sem_post failed + with error code 89 (ENOSYS: Function not implemented) + at 0x........: sem_post_WRK (hg_intercepts.c:...) + by 0x........: sem_post (hg_intercepts.c:...) + by 0x........: main (tc18_semabuse.c:37) + + +ERROR SUMMARY: 3 errors from 3 contexts (suppressed: 0 from 0) diff --git a/helgrind/tests/tc20_verifywrap.stderr.exp-mips32-b b/helgrind/tests/tc20_verifywrap.stderr.exp-mips32-b new file mode 100644 index 000000000..2a445289f --- /dev/null +++ b/helgrind/tests/tc20_verifywrap.stderr.exp-mips32-b @@ -0,0 +1,238 @@ + + + +------ This is output for >= glibc 2.4 ------ + +---------------- pthread_create/join ---------------- + +---Thread-Announcement------------------------------------------ + +Thread #x is the program's root thread + +---Thread-Announcement------------------------------------------ + +Thread #x was created + ... + by 0x........: pthread_create_WRK (hg_intercepts.c:...) + by 0x........: pthread_create@* (hg_intercepts.c:...) + by 0x........: main (tc20_verifywrap.c:76) + +---------------------------------------------------------------- + +Possible data race during write of size 2 at 0x........ by thread #x +Locks held: none + at 0x........: main (tc20_verifywrap.c:78) + +This conflicts with a previous write of size 2 by thread #x +Locks held: none + at 0x........: racy_child (tc20_verifywrap.c:34) + by 0x........: mythread_wrapper (hg_intercepts.c:...) + ... + +Location 0x........ is 0 bytes inside global var "unprotected" +declared at tc20_verifywrap.c:27 + +---------------------------------------------------------------- + +Thread #x's call to pthread_join failed + with error code 45 (EDEADLK: Resource deadlock would occur) + at 0x........: pthread_join_WRK (hg_intercepts.c:...) + by 0x........: pthread_join (hg_intercepts.c:...) + by 0x........: main (tc20_verifywrap.c:83) + + +---------------- pthread_mutex_lock et al ---------------- + +---------------------------------------------------------------- + +Thread #x's call to pthread_mutex_init failed + with error code 122 (EOPNOTSUPP: Operation not supported on transport endpoint) + at 0x........: pthread_mutex_init (hg_intercepts.c:...) + by 0x........: main (tc20_verifywrap.c:92) + +---------------------------------------------------------------- + +Thread #x: pthread_mutex_destroy of a locked mutex + at 0x........: pthread_mutex_destroy (hg_intercepts.c:...) + by 0x........: main (tc20_verifywrap.c:102) + +---------------------------------------------------------------- + +Thread #x's call to pthread_mutex_destroy failed + with error code 16 (EBUSY: Device or resource busy) + at 0x........: pthread_mutex_destroy (hg_intercepts.c:...) + by 0x........: main (tc20_verifywrap.c:102) + +---------------------------------------------------------------- + +Thread #x's call to pthread_mutex_lock failed + with error code 22 (EINVAL: Invalid argument) + at 0x........: pthread_mutex_lock (hg_intercepts.c:...) + by 0x........: main (tc20_verifywrap.c:108) + +---------------------------------------------------------------- + +Thread #x's call to pthread_mutex_trylock failed + with error code 22 (EINVAL: Invalid argument) + at 0x........: pthread_mutex_trylock (hg_intercepts.c:...) + by 0x........: main (tc20_verifywrap.c:116) + +---------------------------------------------------------------- + +Thread #x's call to pthread_mutex_timedlock failed + with error code 22 (EINVAL: Invalid argument) + at 0x........: pthread_mutex_timedlock (hg_intercepts.c:...) + by 0x........: main (tc20_verifywrap.c:121) + +---------------------------------------------------------------- + +Thread #x unlocked an invalid lock at 0x........ + at 0x........: pthread_mutex_unlock (hg_intercepts.c:...) + by 0x........: main (tc20_verifywrap.c:125) + +---------------------------------------------------------------- + +Thread #x's call to pthread_mutex_unlock failed + with error code 22 (EINVAL: Invalid argument) + at 0x........: pthread_mutex_unlock (hg_intercepts.c:...) + by 0x........: main (tc20_verifywrap.c:125) + + +---------------- pthread_cond_wait et al ---------------- + +---------------------------------------------------------------- + +Thread #x: pthread_cond_{timed}wait called with un-held mutex + at 0x........: pthread_cond_wait_WRK (hg_intercepts.c:...) + by 0x........: pthread_cond_wait@* (hg_intercepts.c:...) + by 0x........: main (tc20_verifywrap.c:147) + +---------------------------------------------------------------- + +Thread #x's call to pthread_cond_wait failed + with error code 1 (EPERM: Operation not permitted) + at 0x........: pthread_cond_wait_WRK (hg_intercepts.c:...) + by 0x........: pthread_cond_wait@* (hg_intercepts.c:...) + by 0x........: main (tc20_verifywrap.c:147) + +---------------------------------------------------------------- + +Thread #x: pthread_cond_{signal,broadcast}: dubious: associated lock is not held by any thread + at 0x........: pthread_cond_signal_WRK (hg_intercepts.c:...) + by 0x........: pthread_cond_signal@* (hg_intercepts.c:...) + by 0x........: main (tc20_verifywrap.c:152) + + +FIXME: can't figure out how to verify wrap of pthread_cond_signal + +---------------------------------------------------------------- + +Thread #x: pthread_cond_{signal,broadcast}: dubious: associated lock is not held by any thread + at 0x........: pthread_cond_broadcast_WRK (hg_intercepts.c:...) + by 0x........: pthread_cond_broadcast@* (hg_intercepts.c:...) + by 0x........: main (tc20_verifywrap.c:158) + + +FIXME: can't figure out how to verify wrap of pthread_broadcast_signal + +---------------------------------------------------------------- + +Thread #x: pthread_cond_{timed}wait called with un-held mutex + at 0x........: pthread_cond_timedwait_WRK (hg_intercepts.c:...) + by 0x........: pthread_cond_timedwait@* (hg_intercepts.c:...) + by 0x........: main (tc20_verifywrap.c:165) + +---------------------------------------------------------------- + +Thread #x's call to pthread_cond_timedwait failed + with error code 22 (EINVAL: Invalid argument) + at 0x........: pthread_cond_timedwait_WRK (hg_intercepts.c:...) + by 0x........: pthread_cond_timedwait@* (hg_intercepts.c:...) + by 0x........: main (tc20_verifywrap.c:165) + + +---------------- pthread_rwlock_* ---------------- + +---------------------------------------------------------------- + +Thread #x unlocked a not-locked lock at 0x........ + at 0x........: pthread_rwlock_unlock_WRK (hg_intercepts.c:...) + by 0x........: pthread_rwlock_unlock (hg_intercepts.c:...) + by 0x........: main (tc20_verifywrap.c:179) + Lock at 0x........ was first observed + at 0x........: pthread_rwlock_init_WRK (hg_intercepts.c:...) + by 0x........: pthread_rwlock_init (hg_intercepts.c:...) + by 0x........: main (tc20_verifywrap.c:178) + +(1) no error on next line +(2) no error on next line +(3) ERROR on next line +---------------------------------------------------------------- + +Thread #x unlocked a not-locked lock at 0x........ + at 0x........: pthread_rwlock_unlock_WRK (hg_intercepts.c:...) + by 0x........: pthread_rwlock_unlock (hg_intercepts.c:...) + by 0x........: main (tc20_verifywrap.c:196) + Lock at 0x........ was first observed + at 0x........: pthread_rwlock_init_WRK (hg_intercepts.c:...) + by 0x........: pthread_rwlock_init (hg_intercepts.c:...) + by 0x........: main (tc20_verifywrap.c:186) + +(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 +---------------------------------------------------------------- + +Thread #x unlocked a not-locked lock at 0x........ + at 0x........: pthread_rwlock_unlock_WRK (hg_intercepts.c:...) + by 0x........: pthread_rwlock_unlock (hg_intercepts.c:...) + by 0x........: main (tc20_verifywrap.c:212) + Lock at 0x........ was first observed + at 0x........: pthread_rwlock_init_WRK (hg_intercepts.c:...) + by 0x........: pthread_rwlock_init (hg_intercepts.c:...) + by 0x........: main (tc20_verifywrap.c:186) + + +---------------- sem_* ---------------- + +---------------------------------------------------------------- + +Thread #x's call to sem_init failed + with error code 22 (EINVAL: Invalid argument) + at 0x........: sem_init_WRK (hg_intercepts.c:...) + by 0x........: sem_init@* (hg_intercepts.c:...) + by 0x........: main (tc20_verifywrap.c:228) + + +FIXME: can't figure out how to verify wrap of sem_destroy + +---------------------------------------------------------------- + +Thread #x: Bug in libpthread: sem_wait succeeded on semaphore without prior sem_post + at 0x........: sem_wait_WRK (hg_intercepts.c:...) + by 0x........: sem_wait (hg_intercepts.c:...) + by 0x........: main (tc20_verifywrap.c:242) + +---------------------------------------------------------------- + +Thread #x's call to sem_post failed + with error code 89 (ENOSYS: Function not implemented) + at 0x........: sem_post_WRK (hg_intercepts.c:...) + by 0x........: sem_post (hg_intercepts.c:...) + by 0x........: main (tc20_verifywrap.c:245) + + +FIXME: can't figure out how to verify wrap of sem_post + + +------------ dealloc of mem holding locks ------------ + +---------------------------------------------------------------- + +Thread #x: Exiting thread still holds 1 lock + ... + + +ERROR SUMMARY: 23 errors from 23 contexts (suppressed: 0 from 0)