1 2 include $(top_srcdir)/Makefile.tool-tests.am 3 4 dist_noinst_SCRIPTS = filter_stderr 5 6 EXTRA_DIST = \ 7 annotate_hbefore.vgtest annotate_hbefore.stdout.exp \ 8 annotate_hbefore.stderr.exp \ 9 annotate_rwlock.vgtest annotate_rwlock.stdout.exp \ 10 annotate_rwlock.stderr.exp \ 11 bar_bad.vgtest bar_bad.stdout.exp bar_bad.stderr.exp \ 12 bar_trivial.vgtest bar_trivial.stdout.exp bar_trivial.stderr.exp \ 13 hg01_all_ok.vgtest hg01_all_ok.stdout.exp hg01_all_ok.stderr.exp \ 14 hg02_deadlock.vgtest hg02_deadlock.stdout.exp hg02_deadlock.stderr.exp \ 15 hg03_inherit.vgtest hg03_inherit.stdout.exp hg03_inherit.stderr.exp \ 16 hg04_race.vgtest hg04_race.stdout.exp hg04_race.stderr.exp \ 17 hg05_race2.vgtest hg05_race2.stdout.exp hg05_race2.stderr.exp \ 18 hg06_readshared.vgtest hg06_readshared.stdout.exp \ 19 hg06_readshared.stderr.exp \ 20 pth_barrier1.vgtest pth_barrier1.stdout.exp pth_barrier1.stderr.exp \ 21 pth_barrier2.vgtest pth_barrier2.stdout.exp pth_barrier2.stderr.exp \ 22 pth_barrier3.vgtest pth_barrier3.stdout.exp pth_barrier3.stderr.exp \ 23 pth_spinlock.vgtest pth_spinlock.stdout.exp pth_spinlock.stderr.exp \ 24 rwlock_race.vgtest rwlock_race.stdout.exp rwlock_race.stderr.exp \ 25 rwlock_test.vgtest rwlock_test.stdout.exp rwlock_test.stderr.exp \ 26 tc01_simple_race.vgtest tc01_simple_race.stdout.exp \ 27 tc01_simple_race.stderr.exp \ 28 tc02_simple_tls.vgtest tc02_simple_tls.stdout.exp \ 29 tc02_simple_tls.stderr.exp \ 30 tc03_re_excl.vgtest tc03_re_excl.stdout.exp \ 31 tc03_re_excl.stderr.exp \ 32 tc04_free_lock.vgtest tc04_free_lock.stdout.exp \ 33 tc04_free_lock.stderr.exp \ 34 tc05_simple_race.vgtest tc05_simple_race.stdout.exp \ 35 tc05_simple_race.stderr.exp \ 36 tc06_two_races.vgtest tc06_two_races.stdout.exp \ 37 tc06_two_races.stderr.exp \ 38 tc06_two_races_xml.vgtest tc06_two_races_xml.stdout.exp \ 39 tc06_two_races_xml.stderr.exp \ 40 tc07_hbl1.vgtest tc07_hbl1.stdout.exp tc07_hbl1.stderr.exp \ 41 tc08_hbl2.vgtest tc08_hbl2.stdout.exp tc08_hbl2.stderr.exp \ 42 tc09_bad_unlock.vgtest tc09_bad_unlock.stdout.exp \ 43 tc09_bad_unlock.stderr.exp-glibc23-amd64 \ 44 tc09_bad_unlock.stderr.exp-glibc25-amd64 \ 45 tc09_bad_unlock.stderr.exp-glibc25-x86 \ 46 tc10_rec_lock.vgtest tc10_rec_lock.stdout.exp tc10_rec_lock.stderr.exp \ 47 tc11_XCHG.vgtest tc11_XCHG.stdout.exp tc11_XCHG.stderr.exp \ 48 tc12_rwl_trivial.vgtest tc12_rwl_trivial.stdout.exp \ 49 tc12_rwl_trivial.stderr.exp \ 50 tc12_rwl_trivial.stderr.exp-darwin970 \ 51 tc13_laog1.vgtest tc13_laog1.stdout.exp tc13_laog1.stderr.exp \ 52 tc14_laog_dinphils.vgtest tc14_laog_dinphils.stdout.exp \ 53 tc14_laog_dinphils.stderr.exp \ 54 tc15_laog_lockdel.vgtest tc15_laog_lockdel.stdout.exp \ 55 tc15_laog_lockdel.stderr.exp \ 56 tc16_byterace.vgtest tc16_byterace.stdout.exp \ 57 tc16_byterace.stderr.exp \ 58 tc17_sembar.vgtest tc17_sembar.stdout.exp \ 59 tc17_sembar.stderr.exp \ 60 tc18_semabuse.vgtest tc18_semabuse.stdout.exp \ 61 tc18_semabuse.stderr.exp-glibc25-amd64 \ 62 tc18_semabuse.stderr.exp-glibc28-amd64 \ 63 tc19_shadowmem.vgtest tc19_shadowmem.stdout.exp \ 64 tc19_shadowmem.stderr.exp \ 65 tc20_verifywrap.vgtest tc20_verifywrap.stdout.exp \ 66 tc20_verifywrap.stderr.exp-glibc25-amd64 \ 67 tc20_verifywrap.stderr.exp-glibc27-amd64 \ 68 tc21_pthonce.vgtest tc21_pthonce.stdout.exp tc21_pthonce.stderr.exp \ 69 tc22_exit_w_lock.vgtest tc22_exit_w_lock.stdout.exp \ 70 tc22_exit_w_lock.stderr.exp \ 71 tc23_bogus_condwait.vgtest tc23_bogus_condwait.stdout.exp \ 72 tc23_bogus_condwait.stderr.exp \ 73 tc24_nonzero_sem.vgtest tc24_nonzero_sem.stdout.exp \ 74 tc24_nonzero_sem.stderr.exp 75 76 # XXX: tc18_semabuse uses operations that are unsupported on Darwin. It 77 # should be conditionally compiled like tc20_verifywrap is. 78 check_PROGRAMS = \ 79 annotate_hbefore \ 80 hg01_all_ok \ 81 hg02_deadlock \ 82 hg03_inherit \ 83 hg04_race \ 84 hg05_race2 \ 85 hg06_readshared \ 86 tc01_simple_race \ 87 tc02_simple_tls \ 88 tc03_re_excl \ 89 tc04_free_lock \ 90 tc05_simple_race \ 91 tc06_two_races \ 92 tc07_hbl1 \ 93 tc08_hbl2 \ 94 tc09_bad_unlock \ 95 tc10_rec_lock \ 96 tc11_XCHG \ 97 tc12_rwl_trivial \ 98 tc13_laog1 \ 99 tc14_laog_dinphils \ 100 tc15_laog_lockdel \ 101 tc16_byterace \ 102 tc17_sembar \ 103 tc18_semabuse \ 104 tc19_shadowmem \ 105 tc21_pthonce \ 106 tc23_bogus_condwait \ 107 tc24_nonzero_sem 108 109 # DDD: it seg faults, and then the Valgrind exit path hangs 110 # JRS 29 July 09: it craps out in the stack unwinder, in 111 #==13480== at 0xF00B81FF: ??? f00b8180 VG_(get_StackTrace_wrk) 112 #==13480== by 0xF00B83F8: ??? f00b8340 VG_(get_StackTrace) 113 #==13480== by 0xF009FE19: ??? f009fd70 record_ExeContext_wrk 114 #==13480== by 0xF009D92E: ??? f009d8c0 construct_error 115 #==13480== by 0xF009F001: ??? f009eef0 VG_(maybe_record_error) 116 #==13480== by 0xF0081F80: ??? f0081f00 HG_(record_error_misc) 117 #==13480== by 0xF0089C00: ??? f0089b80 evh__pre_thread_ll_exit 118 #==13480== by 0xF01111D1: ??? f0111070 run_a_thread_NORETURN 119 #==13480== by 0xF0111512: ??? f0111500 start_thread_NORETURN 120 # when the thread being unwound is at __bsdthread_terminate+0 121 # 122 # Like Tom says, the stack unwinder protection is bollocks. 123 # We should junk all previous schemes and simply get the 124 # stack unwinder to consult aspacem at each frame (cache-accelerated, 125 # of course) to check each page it visits is accessible. 126 # 127 if ! VGCONF_PLATFORMS_INCLUDE_X86_DARWIN 128 check_PROGRAMS += \ 129 tc22_exit_w_lock 130 endif 131 132 if VGCONF_PLATFORMS_INCLUDE_ARM_LINUX 133 annotate_hbefore_CFLAGS = $(AM_CFLAGS) -mcpu=cortex-a8 134 tc07_hbl1_CFLAGS = $(AM_CFLAGS) -mcpu=cortex-a8 135 tc08_hbl2_CFLAGS = $(AM_CFLAGS) -mcpu=cortex-a8 136 else 137 annotate_hbefore_CFLAGS = $(AM_CFLAGS) 138 tc07_hbl1_CFLAGS = $(AM_CFLAGS) 139 tc08_hbl2_CFLAGS = $(AM_CFLAGS) 140 endif 141 142 if HAVE_PTHREAD_BARRIER 143 check_PROGRAMS += bar_bad bar_trivial 144 endif 145 146 if HAVE_PTHREAD_MUTEX_TIMEDLOCK 147 check_PROGRAMS += tc20_verifywrap 148 endif 149 150 if HAVE_BUILTIN_ATOMIC 151 check_PROGRAMS += annotate_rwlock 152 endif 153 154 AM_CFLAGS += $(AM_FLAG_M3264_PRI) 155 AM_CXXFLAGS += $(AM_FLAG_M3264_PRI) 156 157 LDADD = -lpthread 158 159 if VGCONF_OS_IS_DARWIN 160 annotate_hbefore_CFLAGS = $(AM_CFLAGS) -mdynamic-no-pic 161 else 162 annotate_hbefore_CFLAGS = $(AM_CFLAGS) 163 endif 164 165 166