Add DRD suppression patterns for races triggered by std::ostream
[valgrind.git] / helgrind / tests / Makefile.am
blobf86cbde55a720e3aff21aa4a96839168a733f01b
2 include $(top_srcdir)/Makefile.tool-tests.am
4 dist_noinst_SCRIPTS = filter_stderr   \
5                       filter_stderr_solaris \
6                       filter_helgrind \
7                       filter_xml
9 EXTRA_DIST = \
10         annotate_hbefore.vgtest annotate_hbefore.stdout.exp \
11                 annotate_hbefore.stderr.exp \
12         annotate_rwlock.vgtest annotate_rwlock.stdout.exp \
13                 annotate_rwlock.stderr.exp \
14         annotate_smart_pointer.vgtest annotate_smart_pointer.stdout.exp \
15                 annotate_smart_pointer.stderr.exp \
16         bug322621.vgtest bug322621.stderr.exp \
17         cond_init_destroy.vgtest cond_init_destroy.stderr.exp \
18         cond_timedwait_invalid.vgtest cond_timedwait_invalid.stdout.exp \
19                 cond_timedwait_invalid.stderr.exp \
20         cond_timedwait_test.vgtest cond_timedwait_test.stdout.exp \
21                 cond_timedwait_test.stderr.exp \
22         bar_bad.vgtest bar_bad.stdout.exp bar_bad.stderr.exp \
23                 bar_bad.stderr.exp-destroy-hang \
24         bar_trivial.vgtest bar_trivial.stdout.exp bar_trivial.stderr.exp \
25         free_is_write.vgtest free_is_write.stdout.exp \
26                 free_is_write.stderr.exp \
27         hg01_all_ok.vgtest hg01_all_ok.stdout.exp hg01_all_ok.stderr.exp \
28         hg02_deadlock.vgtest hg02_deadlock.stdout.exp hg02_deadlock.stderr.exp \
29         hg03_inherit.vgtest hg03_inherit.stdout.exp hg03_inherit.stderr.exp \
30         hg04_race.vgtest hg04_race.stdout.exp hg04_race.stderr.exp \
31         hg05_race2.vgtest hg05_race2.stdout.exp hg05_race2.stderr.exp \
32         hg06_readshared.vgtest hg06_readshared.stdout.exp \
33                 hg06_readshared.stderr.exp \
34         locked_vs_unlocked1_fwd.vgtest \
35                 locked_vs_unlocked1_fwd.stderr.exp \
36                 locked_vs_unlocked1_fwd.stdout.exp \
37         locked_vs_unlocked1_rev.vgtest \
38                 locked_vs_unlocked1_rev.stderr.exp \
39                 locked_vs_unlocked1_rev.stdout.exp \
40         locked_vs_unlocked2.vgtest \
41                 locked_vs_unlocked2.stderr.exp \
42                 locked_vs_unlocked2.stdout.exp \
43         locked_vs_unlocked3.vgtest \
44                 locked_vs_unlocked3.stderr.exp \
45                 locked_vs_unlocked3.stdout.exp \
46         pth_barrier1.vgtest pth_barrier1.stdout.exp pth_barrier1.stderr.exp \
47         pth_barrier2.vgtest pth_barrier2.stdout.exp pth_barrier2.stderr.exp \
48         pth_barrier3.vgtest pth_barrier3.stdout.exp pth_barrier3.stderr.exp \
49         pth_destroy_cond.vgtest \
50                 pth_destroy_cond.stdout.exp \
51                 pth_destroy_cond.stderr.exp pth_destroy_cond.stderr.exp2 \
52         pth_cond_destroy_busy.vgtest pth_cond_destroy_busy.stderr.exp \
53                 pth_cond_destroy_busy.stderr.exp-ppc64 \
54                 pth_cond_destroy_busy.stderr.exp-solaris \
55         pth_spinlock.vgtest pth_spinlock.stdout.exp pth_spinlock.stderr.exp \
56         rwlock_race.vgtest rwlock_race.stdout.exp rwlock_race.stderr.exp \
57         rwlock_test.vgtest rwlock_test.stdout.exp rwlock_test.stderr.exp \
58         shmem_abits.vgtest shmem_abits.stdout.exp shmem_abits.stderr.exp \
59         stackteardown.vgtest stackteardown.stdout.exp stackteardown.stderr.exp \
60         t2t_laog.vgtest t2t_laog.stdout.exp t2t_laog.stderr.exp \
61         tc01_simple_race.vgtest tc01_simple_race.stdout.exp \
62                 tc01_simple_race.stderr.exp \
63         tc02_simple_tls.vgtest tc02_simple_tls.stdout.exp \
64                 tc02_simple_tls.stderr.exp \
65         tc03_re_excl.vgtest tc03_re_excl.stdout.exp \
66                 tc03_re_excl.stderr.exp \
67         tc04_free_lock.vgtest tc04_free_lock.stdout.exp \
68                 tc04_free_lock.stderr.exp \
69         tc05_simple_race.vgtest tc05_simple_race.stdout.exp \
70                 tc05_simple_race.stderr.exp \
71         tc06_two_races.vgtest tc06_two_races.stdout.exp \
72                 tc06_two_races.stderr.exp \
73         tc06_two_races_xml.vgtest tc06_two_races_xml.stdout.exp \
74                 tc06_two_races_xml.stderr.exp \
75         tc07_hbl1.vgtest tc07_hbl1.stdout.exp tc07_hbl1.stderr.exp \
76         tc08_hbl2.vgtest tc08_hbl2.stdout.exp tc08_hbl2.stderr.exp \
77         tc09_bad_unlock.vgtest tc09_bad_unlock.stdout.exp \
78                 tc09_bad_unlock.stderr.exp tc09_bad_unlock.stderr.exp-solaris \
79         tc10_rec_lock.vgtest tc10_rec_lock.stdout.exp tc10_rec_lock.stderr.exp \
80         tc11_XCHG.vgtest tc11_XCHG.stdout.exp tc11_XCHG.stderr.exp \
81         tc12_rwl_trivial.vgtest tc12_rwl_trivial.stdout.exp \
82                 tc12_rwl_trivial.stderr.exp \
83                 tc12_rwl_trivial.stderr.exp-darwin970 \
84                 tc12_rwl_trivial.stderr.exp-solaris \
85         tc13_laog1.vgtest tc13_laog1.stdout.exp tc13_laog1.stderr.exp \
86         tc14_laog_dinphils.vgtest tc14_laog_dinphils.stdout.exp \
87                 tc14_laog_dinphils.stderr.exp \
88         tc15_laog_lockdel.vgtest tc15_laog_lockdel.stdout.exp \
89                 tc15_laog_lockdel.stderr.exp \
90         tc16_byterace.vgtest tc16_byterace.stdout.exp \
91                 tc16_byterace.stderr.exp \
92         tc17_sembar.vgtest tc17_sembar.stdout.exp \
93                 tc17_sembar.stderr.exp \
94         tc18_semabuse.vgtest tc18_semabuse.stdout.exp \
95                 tc18_semabuse.stderr.exp \
96                 tc18_semabuse.stderr.exp-linux-mips32 \
97                 tc18_semabuse.stderr.exp-linux-mips32-b \
98                 tc18_semabuse.stderr.exp-solaris \
99         tc19_shadowmem.vgtest tc19_shadowmem.stdout.exp \
100                 tc19_shadowmem.stderr.exp tc19_shadowmem.stderr.exp-mips32 \
101                 tc19_shadowmem.stderr.exp-mips32-BE \
102         tc20_verifywrap.vgtest tc20_verifywrap.stdout.exp \
103                 tc20_verifywrap.stderr.exp \
104                 tc20_verifywrap.stderr.exp-glibc-2.18 \
105                 tc20_verifywrap.stderr.exp-glibc-2.21 \
106                 tc20_verifywrap.stderr.exp-mips32 \
107                 tc20_verifywrap.stderr.exp-mips32-b \
108                 tc20_verifywrap.stderr.exp-s390x \
109                 tc20_verifywrap.stderr.exp-solaris \
110         tc21_pthonce.vgtest tc21_pthonce.stdout.exp tc21_pthonce.stderr.exp \
111         tc22_exit_w_lock.vgtest tc22_exit_w_lock.stdout.exp \
112                 tc22_exit_w_lock.stderr.exp \
113                 tc22_exit_w_lock.stderr.exp-kfail-x86 \
114                 tc22_exit_w_lock.stderr.exp-solaris \
115         tc23_bogus_condwait.vgtest tc23_bogus_condwait.stdout.exp \
116                 tc23_bogus_condwait.stderr.exp \
117                 tc23_bogus_condwait.stderr.exp-mips32 \
118         tc24_nonzero_sem.vgtest tc24_nonzero_sem.stdout.exp \
119                 tc24_nonzero_sem.stderr.exp \
120         tls_threads.vgtest tls_threads.stdout.exp \
121                 tls_threads.stderr.exp
123 # Wrapper headers used by some check programs.
124 noinst_HEADERS = safe-pthread.h safe-semaphore.h
126 # XXX: tc18_semabuse uses operations that are unsupported on Darwin.  It
127 # should be conditionally compiled like tc20_verifywrap is.
128 check_PROGRAMS = \
129         annotate_hbefore \
130         bug322621 \
131         cond_init_destroy \
132         cond_timedwait_invalid \
133         cond_timedwait_test \
134         free_is_write \
135         hg01_all_ok \
136         hg02_deadlock \
137         hg03_inherit \
138         hg04_race \
139         hg05_race2 \
140         hg06_readshared \
141         locked_vs_unlocked1 \
142         locked_vs_unlocked2 \
143         locked_vs_unlocked3 \
144         pth_destroy_cond \
145         shmem_abits \
146         stackteardown \
147         t2t \
148         tc01_simple_race \
149         tc02_simple_tls \
150         tc03_re_excl \
151         tc04_free_lock \
152         tc05_simple_race \
153         tc06_two_races \
154         tc07_hbl1 \
155         tc08_hbl2 \
156         tc09_bad_unlock \
157         tc10_rec_lock \
158         tc11_XCHG \
159         tc12_rwl_trivial \
160         tc13_laog1 \
161         tc14_laog_dinphils \
162         tc15_laog_lockdel \
163         tc16_byterace \
164         tc17_sembar \
165         tc18_semabuse \
166         tc19_shadowmem \
167         tc21_pthonce \
168         tc23_bogus_condwait \
169         tc24_nonzero_sem \
170         tls_threads
172 # DDD: it seg faults, and then the Valgrind exit path hangs
173 # JRS 29 July 09: it craps out in the stack unwinder, in
174 #==13480==    at 0xF00B81FF: ??? f00b8180 VG_(get_StackTrace_wrk)
175 #==13480==    by 0xF00B83F8: ??? f00b8340 VG_(get_StackTrace)
176 #==13480==    by 0xF009FE19: ??? f009fd70 record_ExeContext_wrk
177 #==13480==    by 0xF009D92E: ??? f009d8c0 construct_error
178 #==13480==    by 0xF009F001: ??? f009eef0 VG_(maybe_record_error)
179 #==13480==    by 0xF0081F80: ??? f0081f00 HG_(record_error_misc)
180 #==13480==    by 0xF0089C00: ??? f0089b80 evh__pre_thread_ll_exit
181 #==13480==    by 0xF01111D1: ??? f0111070 run_a_thread_NORETURN
182 #==13480==    by 0xF0111512: ??? f0111500 start_thread_NORETURN
183 # when the thread being unwound is at __bsdthread_terminate+0
185 # Like Tom says, the stack unwinder protection is bollocks.
186 # We should junk all previous schemes and simply get the 
187 # stack unwinder to consult aspacem at each frame (cache-accelerated,
188 # of course) to check each page it visits is accessible.
190 if ! VGCONF_PLATFORMS_INCLUDE_X86_DARWIN
191    check_PROGRAMS += \
192         tc22_exit_w_lock
193 endif
195 if VGCONF_PLATFORMS_INCLUDE_ARM_LINUX
196 annotate_hbefore_CFLAGS = $(AM_CFLAGS) -mcpu=cortex-a8
197 tc07_hbl1_CFLAGS        = $(AM_CFLAGS) -mcpu=cortex-a8
198 tc08_hbl2_CFLAGS        = $(AM_CFLAGS) -mcpu=cortex-a8
199 else
200 annotate_hbefore_CFLAGS = $(AM_CFLAGS)
201 tc07_hbl1_CFLAGS        = $(AM_CFLAGS)
202 tc08_hbl2_CFLAGS        = $(AM_CFLAGS)
203 endif
205 if HAVE_PTHREAD_BARRIER
206 check_PROGRAMS += bar_bad bar_trivial bug322621
207 endif
209 if HAVE_PTHREAD_MUTEX_TIMEDLOCK
210 check_PROGRAMS += tc20_verifywrap
211 endif
213 if HAVE_BUILTIN_ATOMIC
214 check_PROGRAMS += annotate_rwlock
215 endif
217 AM_CFLAGS   += $(AM_FLAG_M3264_PRI)
218 AM_CXXFLAGS += $(AM_FLAG_M3264_PRI)
220 LDADD = -lpthread
222 if VGCONF_OS_IS_DARWIN
223 annotate_hbefore_CFLAGS = $(AM_CFLAGS) -mdynamic-no-pic
224 else
225 annotate_hbefore_CFLAGS = $(AM_CFLAGS)
226 endif
228 bug322621_SOURCES = bug322621.cpp