From: Paul F. <pa...@so...> - 2025-04-20 20:16:16
|
https://sourceware.org/git/gitweb.cgi?p=valgrind.git;h=8464c3cf8fb4dd8138c60fd2f013fd376142153c commit 8464c3cf8fb4dd8138c60fd2f013fd376142153c Author: Paul Floyd <pj...@wa...> Date: Sun Apr 20 22:14:44 2025 +0200 Illumos suppression and regtest Broaden the printf suppression Add an expected for helgrind/tests/bar_bad Diff: --- helgrind/tests/Makefile.am | 1 + helgrind/tests/bar_bad.stderr.exp-illumos | 84 +++++++++++++++++++++++++++++++ solaris11.supp | 1 + 3 files changed, 86 insertions(+) diff --git a/helgrind/tests/Makefile.am b/helgrind/tests/Makefile.am index bffd5bf76a..7adc5c6021 100755 --- a/helgrind/tests/Makefile.am +++ b/helgrind/tests/Makefile.am @@ -33,6 +33,7 @@ EXTRA_DIST = \ bar_bad.vgtest bar_bad.stdout.exp bar_bad.stderr.exp \ bar_bad.stderr.exp-destroy-hang \ bar_bad.stderr.exp-freebsd \ + bar_bad.stderr.exp-illumos \ bar_trivial.vgtest bar_trivial.stdout.exp bar_trivial.stderr.exp \ free_is_write.vgtest free_is_write.stdout.exp \ free_is_write.stderr.exp \ diff --git a/helgrind/tests/bar_bad.stderr.exp-illumos b/helgrind/tests/bar_bad.stderr.exp-illumos new file mode 100644 index 0000000000..86bd8fab77 --- /dev/null +++ b/helgrind/tests/bar_bad.stderr.exp-illumos @@ -0,0 +1,84 @@ + +initialise a barrier with zero count +---Thread-Announcement------------------------------------------ + +Thread #x is the program's root thread + +---------------------------------------------------------------- + +Thread #x: pthread_barrier_init: 'count' argument is zero + at 0x........: pthread_barrier_init (hg_intercepts.c:...) + by 0x........: main (bar_bad.c:49) + +---------------------------------------------------------------- + +Thread #x's call to pthread_barrier_init failed + with error code 22 (EINVAL: Invalid argument) + at 0x........: pthread_barrier_init (hg_intercepts.c:...) + by 0x........: main (bar_bad.c:49) + + +initialise a barrier twice +---------------------------------------------------------------- + +Thread #x: pthread_barrier_init: barrier is already initialised + at 0x........: pthread_barrier_init (hg_intercepts.c:...) + by 0x........: main (bar_bad.c:55) + + +initialise a barrier which has threads waiting on it +---------------------------------------------------------------- + +Thread #x: pthread_barrier_init: barrier is already initialised + at 0x........: pthread_barrier_init (hg_intercepts.c:...) + by 0x........: main (bar_bad.c:72) + +---------------------------------------------------------------- + +Thread #x: pthread_barrier_init: threads are waiting at barrier + at 0x........: pthread_barrier_init (hg_intercepts.c:...) + by 0x........: main (bar_bad.c:72) + + +destroy a barrier that has waiting threads +---------------------------------------------------------------- + +Thread #x: pthread_barrier_destroy: threads are waiting at barrier + at 0x........: pthread_barrier_destroy (hg_intercepts.c:...) + by 0x........: main (bar_bad.c:90) + +---------------------------------------------------------------- + +Thread #x: pthread_cond_destroy: destruction of condition variable being waited upon + at 0x........: pthread_cond_destroy_WRK (hg_intercepts.c:...) + by 0x........: pthread_cond_destroy@* (hg_intercepts.c:...) + ... + by 0x........: pthread_barrier_destroy (hg_intercepts.c:...) + by 0x........: main (bar_bad.c:90) + + +destroy a barrier that was never initialised +---------------------------------------------------------------- + +Thread #x: pthread_barrier_destroy: barrier was never initialised + at 0x........: pthread_barrier_destroy (hg_intercepts.c:...) + by 0x........: main (bar_bad.c:107) + +---------------------------------------------------------------- + +Thread #x: pthread_mutex_destroy with invalid argument + at 0x........: mutex_destroy_WRK (hg_intercepts.c:...) + by 0x........: pthread_mutex_destroy (hg_intercepts.c:...) + ... + by 0x........: pthread_barrier_destroy (hg_intercepts.c:...) + by 0x........: main (bar_bad.c:107) + +---------------------------------------------------------------- + +Thread #x: pthread_cond_destroy: destruction of unknown cond var + at 0x........: pthread_cond_destroy_WRK (hg_intercepts.c:...) + by 0x........: pthread_cond_destroy@* (hg_intercepts.c:...) + ... + by 0x........: pthread_barrier_destroy (hg_intercepts.c:...) + by 0x........: main (bar_bad.c:107) + diff --git a/solaris11.supp b/solaris11.supp index c772df3955..5d51a6a3f7 100644 --- a/solaris11.supp +++ b/solaris11.supp @@ -66,6 +66,7 @@ { Illumos:printf Helgrind:Race + ... fun:printf } # conflict between pthread_barrier_init and pthread_barrier_wait |