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