Add DRD suppression patterns for races triggered by std::ostream
[valgrind.git] / helgrind / tests / filter_stderr_solaris
blob41d1f1ef597523c6bbee98ed0a5fa96def4a8ecb
1 #!/usr/bin/perl
3 # Replace pthread_create with pthread_create@* which is expected on Linux
4 s/pthread_create \(hg_intercepts.c:/pthread_create@* \(hg_intercepts.c:/g;
6 # We need to remove stack frames containing redundant function
7 # names from libc, for example
8 # by 0x........: pthread_mutex_init (in /...libc...)
9 my $check = join "|", ('pthread_mutex_init', 'pthread_cond_wait', 'pthread_cond_timedwait');
10 s/^\s*by 0x........: (?:$check) \(in \/...libc...\)\s*//;
12 # We also need to replace Solaris threading and sychronization function
13 # names with POSIX ones for hg_intercepts.c stack frame:
14 # at 0x........: mutex_lock (hg_intercepts.c:1234)
15 # See also comments in hg_intercepts.c.
16 my %regex = (
17 'cond_broadcast' => 'pthread_cond_broadcast@*',
18 'cond_destroy' => 'pthread_cond_destroy@*',
19 'cond_signal' => 'pthread_cond_signal@*',
20 'cond_wait' => 'pthread_cond_wait@*',
21 'cond_timedwait' => 'pthread_cond_timedwait@*',
22 'mutex_destroy' => 'pthread_mutex_destroy',
23 'mutex_init' => 'pthread_mutex_init',
24 'mutex_lock' => 'pthread_mutex_lock',
25 'mutex_trylock' => 'pthread_mutex_trylock',
26 'mutex_unlock' => 'pthread_mutex_unlock',
27 'rwlock_init' => 'pthread_rwlock_init',
28 'rw_unlock' => 'pthread_rwlock_unlock'
30 my $check = join "|", keys %regex;
31 if (! /: pthread_/ && ! /WRK/) {
32 s/($check)(.*hg_intercepts.c)/$regex{$1}$2/g;