1 2 include $(top_srcdir)/Makefile.tool-tests.am 3 4 dist_noinst_SCRIPTS = \ 5 compare_error_count_with \ 6 filter_annotate_barrier_xml \ 7 filter_error_count \ 8 filter_error_summary \ 9 filter_stderr \ 10 filter_stderr_and_thread_no \ 11 filter_stderr_and_thread_no_and_offset \ 12 filter_thread_no \ 13 filter_xml_and_thread_no \ 14 run_openmp_test \ 15 supported_libpthread \ 16 supported_sem_init 17 18 noinst_HEADERS = \ 19 tsan_thread_wrappers_pthread.h \ 20 unified_annotations.h 21 22 EXTRA_DIST = \ 23 annotate_barrier.stderr.exp \ 24 annotate_barrier.vgtest \ 25 annotate_barrier_xml.stderr.exp \ 26 annotate_barrier_xml.vgtest \ 27 annotate_hb_err.stderr.exp \ 28 annotate_hb_err.vgtest \ 29 annotate_hb_race.stderr.exp \ 30 annotate_hb_race.vgtest \ 31 annotate_hbefore.stderr.exp \ 32 annotate_hbefore.vgtest \ 33 annotate_order_1.stderr.exp \ 34 annotate_order_1.vgtest \ 35 annotate_order_2.stderr.exp \ 36 annotate_order_2.vgtest \ 37 annotate_order_3.stderr.exp \ 38 annotate_order_3.vgtest \ 39 annotate_publish_hg.stderr.exp \ 40 annotate_publish_hg.vgtest \ 41 annotate_smart_pointer.stderr.exp \ 42 annotate_smart_pointer.vgtest \ 43 annotate_smart_pointer2.stderr.exp \ 44 annotate_smart_pointer2.vgtest \ 45 annotate_spinlock.stderr.exp \ 46 annotate_spinlock.vgtest \ 47 annotate_rwlock.stderr.exp \ 48 annotate_rwlock.vgtest \ 49 annotate_rwlock_hg.stderr.exp \ 50 annotate_rwlock_hg.vgtest \ 51 annotate_ignore_read.stderr.exp \ 52 annotate_ignore_read.vgtest \ 53 annotate_ignore_rw.stderr.exp \ 54 annotate_ignore_rw.vgtest \ 55 annotate_ignore_rw2.stderr.exp \ 56 annotate_ignore_rw2.vgtest \ 57 annotate_ignore_write.stderr.exp \ 58 annotate_ignore_write.vgtest \ 59 annotate_ignore_write2.stderr.exp \ 60 annotate_ignore_write2.vgtest \ 61 annotate_trace_memory.stderr.exp \ 62 annotate_trace_memory.vgtest \ 63 annotate_trace_memory_xml.stderr.exp \ 64 annotate_trace_memory_xml.vgtest \ 65 annotate_static.stderr.exp \ 66 annotate_static.vgtest \ 67 atomic_var.stderr.exp \ 68 atomic_var.vgtest \ 69 bar_bad.stderr.exp \ 70 bar_bad.vgtest \ 71 bar_bad_xml.stderr.exp \ 72 bar_bad_xml.vgtest \ 73 bar_trivial.stderr.exp \ 74 bar_trivial.stdout.exp \ 75 bar_trivial.vgtest \ 76 boost_thread.stderr.exp \ 77 boost_thread.vgtest \ 78 bug-235681.stderr.exp \ 79 bug-235681.vgtest \ 80 circular_buffer.stderr.exp \ 81 circular_buffer.vgtest \ 82 custom_alloc.stderr.exp \ 83 custom_alloc.vgtest \ 84 custom_alloc_fiw.stderr.exp \ 85 custom_alloc_fiw.vgtest \ 86 fp_race.stderr.exp \ 87 fp_race.vgtest \ 88 fp_race2.stderr.exp \ 89 fp_race2.vgtest \ 90 fp_race_xml.stderr.exp \ 91 fp_race_xml.vgtest \ 92 free_is_write.stderr.exp \ 93 free_is_write.vgtest \ 94 free_is_write2.stderr.exp \ 95 free_is_write2.vgtest \ 96 hg01_all_ok.stderr.exp \ 97 hg01_all_ok.vgtest \ 98 hg02_deadlock.stderr.exp \ 99 hg02_deadlock.vgtest \ 100 hg03_inherit.stderr.exp \ 101 hg03_inherit.vgtest \ 102 hg04_race.stderr.exp \ 103 hg04_race.vgtest \ 104 hg05_race2.stderr.exp \ 105 hg05_race2.stderr.exp-powerpc \ 106 hg05_race2.vgtest \ 107 hg06_readshared.stderr.exp \ 108 hg06_readshared.vgtest \ 109 hold_lock_1.stderr.exp \ 110 hold_lock_1.vgtest \ 111 hold_lock_2.stderr.exp \ 112 hold_lock_2.vgtest \ 113 linuxthreads_det.stderr.exp \ 114 linuxthreads_det.stderr.exp-linuxthreads \ 115 linuxthreads_det.stdout.exp \ 116 linuxthreads_det.stdout.exp-linuxthreads \ 117 linuxthreads_det.vgtest \ 118 matinv.stderr.exp \ 119 matinv.stdout.exp \ 120 matinv.vgtest \ 121 memory_allocation.stderr.exp \ 122 memory_allocation.vgtest \ 123 monitor_example.stderr.exp \ 124 monitor_example.vgtest \ 125 new_delete.stderr.exp \ 126 new_delete.vgtest \ 127 omp_matinv.stderr.exp \ 128 omp_matinv.stdout.exp \ 129 omp_matinv.vgtest \ 130 omp_matinv_racy.stderr.exp \ 131 omp_matinv_racy.stdout.exp \ 132 omp_matinv_racy.vgtest \ 133 omp_prime_racy.stderr.exp \ 134 omp_prime_racy.vgtest \ 135 omp_printf.stderr.exp \ 136 omp_printf.vgtest \ 137 pth_barrier.stderr.exp \ 138 pth_barrier.vgtest \ 139 pth_barrier2.stderr.exp \ 140 pth_barrier2.vgtest \ 141 pth_barrier3.stderr.exp \ 142 pth_barrier3.vgtest \ 143 pth_barrier_race.stderr.exp \ 144 pth_barrier_race.vgtest \ 145 pth_barrier_reinit.stderr.exp \ 146 pth_barrier_reinit.vgtest \ 147 pth_barrier_thr_cr.stderr.exp \ 148 pth_barrier_thr_cr.vgtest \ 149 pth_barrier_thr_cr.supp \ 150 pth_broadcast.stderr.exp \ 151 pth_broadcast.vgtest \ 152 pth_cancel_locked.stderr.exp \ 153 pth_cancel_locked.stderr.exp-darwin \ 154 pth_cancel_locked.vgtest \ 155 pth_cleanup_handler.stderr.exp \ 156 pth_cleanup_handler.vgtest \ 157 pth_cond_race.stderr.exp \ 158 pth_cond_race.vgtest \ 159 pth_cond_race2.stderr.exp \ 160 pth_cond_race2.vgtest \ 161 pth_cond_race3.stderr.exp \ 162 pth_cond_race3.vgtest \ 163 pth_create_chain.stderr.exp \ 164 pth_create_chain.vgtest \ 165 pth_create_glibc_2_0.stderr.exp \ 166 pth_create_glibc_2_0.vgtest \ 167 pth_detached.stderr.exp \ 168 pth_detached.stdout.exp \ 169 pth_detached.vgtest \ 170 pth_detached2.stderr.exp \ 171 pth_detached2.stdout.exp \ 172 pth_detached2.vgtest \ 173 pth_detached3.stderr.exp1 \ 174 pth_detached3.stderr.exp2 \ 175 pth_detached3.vgtest \ 176 pth_detached_sem.stderr.exp \ 177 pth_detached_sem.stdout.exp \ 178 pth_detached_sem.vgtest \ 179 pth_inconsistent_cond_wait.stderr.exp1 \ 180 pth_inconsistent_cond_wait.stderr.exp2 \ 181 pth_inconsistent_cond_wait.vgtest \ 182 pth_mutex_reinit.stderr.exp \ 183 pth_mutex_reinit.vgtest \ 184 pth_once.stderr.exp \ 185 pth_once.vgtest \ 186 pth_process_shared_mutex.stderr.exp \ 187 pth_process_shared_mutex.vgtest \ 188 pth_spinlock.stderr.exp \ 189 pth_spinlock.vgtest \ 190 pth_uninitialized_cond.stderr.exp \ 191 pth_uninitialized_cond.vgtest \ 192 read_and_free_race.stderr.exp \ 193 read_and_free_race.vgtest \ 194 recursive_mutex.stderr.exp-linux \ 195 recursive_mutex.stderr.exp-darwin \ 196 recursive_mutex.vgtest \ 197 rwlock_race.stderr.exp \ 198 rwlock_race.stderr.exp2 \ 199 rwlock_race.vgtest \ 200 rwlock_test.stderr.exp \ 201 rwlock_test.vgtest \ 202 rwlock_type_checking.stderr.exp \ 203 rwlock_type_checking.vgtest \ 204 sem_as_mutex.stderr.exp \ 205 sem_as_mutex.vgtest \ 206 sem_as_mutex2.stderr.exp \ 207 sem_as_mutex2.vgtest \ 208 sem_as_mutex3.stderr.exp \ 209 sem_as_mutex3.vgtest \ 210 sem_open.stderr.exp \ 211 sem_open.vgtest \ 212 sem_open2.stderr.exp \ 213 sem_open2.vgtest \ 214 sem_open3.stderr.exp \ 215 sem_open3.vgtest \ 216 sem_open_traced.stderr.exp \ 217 sem_open_traced.vgtest \ 218 sigalrm.stderr.exp \ 219 sigalrm.vgtest \ 220 sigaltstack.stderr.exp \ 221 sigaltstack.vgtest \ 222 tc01_simple_race.stderr.exp \ 223 tc01_simple_race.vgtest \ 224 tc02_simple_tls.stderr.exp \ 225 tc02_simple_tls.vgtest \ 226 tc03_re_excl.stderr.exp \ 227 tc03_re_excl.vgtest \ 228 tc04_free_lock.stderr.exp \ 229 tc04_free_lock.vgtest \ 230 tc05_simple_race.stderr.exp \ 231 tc05_simple_race.vgtest \ 232 tc06_two_races.stderr.exp \ 233 tc06_two_races.vgtest \ 234 tc07_hbl1.stderr.exp \ 235 tc07_hbl1.stdout.exp \ 236 tc07_hbl1.vgtest \ 237 tc08_hbl2.stderr.exp \ 238 tc08_hbl2.stdout.exp \ 239 tc08_hbl2.vgtest \ 240 tc09_bad_unlock.stderr.exp \ 241 tc09_bad_unlock.stderr.exp-glibc2.8 \ 242 tc09_bad_unlock.vgtest \ 243 tc10_rec_lock.stderr.exp \ 244 tc10_rec_lock.vgtest \ 245 tc11_XCHG.stderr.exp tc11_XCHG.stdout.exp \ 246 tc11_XCHG.vgtest \ 247 tc12_rwl_trivial.stderr.exp \ 248 tc12_rwl_trivial.vgtest \ 249 tc13_laog1.stderr.exp \ 250 tc13_laog1.vgtest \ 251 tc15_laog_lockdel.stderr.exp \ 252 tc15_laog_lockdel.vgtest \ 253 tc16_byterace.stderr.exp \ 254 tc16_byterace.vgtest \ 255 tc17_sembar.stderr.exp \ 256 tc17_sembar.vgtest \ 257 tc18_semabuse.stderr.exp \ 258 tc18_semabuse.vgtest \ 259 tc19_shadowmem.stderr.exp-32bit \ 260 tc19_shadowmem.stderr.exp-64bit \ 261 tc19_shadowmem.vgtest \ 262 tc21_pthonce.stderr.exp \ 263 tc21_pthonce.stdout.exp \ 264 tc21_pthonce.vgtest \ 265 tc22_exit_w_lock.stderr.exp-32bit \ 266 tc22_exit_w_lock.stderr.exp-64bit \ 267 tc22_exit_w_lock.vgtest \ 268 tc23_bogus_condwait.stderr.exp-linux-x86 \ 269 tc23_bogus_condwait.stderr.exp-linux-ppc \ 270 tc23_bogus_condwait.stderr.exp-darwin-x86 \ 271 tc23_bogus_condwait.stderr.exp-darwin-amd64 \ 272 tc23_bogus_condwait.vgtest \ 273 tc24_nonzero_sem.stderr.exp \ 274 tc24_nonzero_sem.vgtest \ 275 thread_name.stderr.exp \ 276 thread_name.vgtest \ 277 thread_name_xml.stderr.exp \ 278 thread_name_xml.vgtest \ 279 threaded-fork.stderr.exp \ 280 threaded-fork.vgtest \ 281 trylock.stderr.exp \ 282 trylock.vgtest \ 283 unit_bitmap.stderr.exp \ 284 unit_bitmap.vgtest \ 285 unit_vc.stderr.exp \ 286 unit_vc.vgtest 287 288 289 check_PROGRAMS = \ 290 annotate_hb_err \ 291 annotate_hb_race \ 292 annotate_ignore_rw \ 293 annotate_ignore_write \ 294 annotate_publish_hg \ 295 annotate_static \ 296 bug-235681 \ 297 custom_alloc \ 298 fp_race \ 299 free_is_write \ 300 hold_lock \ 301 linuxthreads_det \ 302 memory_allocation \ 303 monitor_example \ 304 new_delete \ 305 pth_broadcast \ 306 pth_cancel_locked \ 307 pth_cleanup_handler \ 308 pth_cond_race \ 309 pth_create_chain \ 310 pth_detached \ 311 pth_detached_sem \ 312 pth_detached3 \ 313 pth_inconsistent_cond_wait \ 314 pth_mutex_reinit \ 315 pth_process_shared_mutex \ 316 pth_uninitialized_cond \ 317 recursive_mutex \ 318 rwlock_race \ 319 rwlock_test \ 320 rwlock_type_checking \ 321 sem_as_mutex \ 322 sem_open \ 323 sigalrm \ 324 thread_name \ 325 threaded-fork \ 326 trylock \ 327 unit_bitmap \ 328 unit_vc 329 330 if HAVE_BOOST_1_35 331 check_PROGRAMS += boost_thread 332 endif 333 334 if HAVE_BUILTIN_ATOMIC 335 check_PROGRAMS += \ 336 annotate_barrier \ 337 annotate_rwlock \ 338 atomic_var \ 339 circular_buffer 340 endif 341 342 if HAVE_BUILTIN_ATOMIC_CXX 343 check_PROGRAMS += \ 344 annotate_smart_pointer \ 345 tsan_unittest 346 endif 347 348 if HAVE_OPENMP 349 check_PROGRAMS += omp_matinv omp_prime omp_printf 350 endif 351 352 if HAVE_PTHREAD_BARRIER 353 check_PROGRAMS += matinv pth_barrier pth_barrier_race pth_barrier_reinit \ 354 pth_barrier_thr_cr 355 endif 356 357 if HAVE_PTHREAD_CREATE_GLIBC_2_0 358 check_PROGRAMS += pth_create_glibc_2_0 359 endif 360 361 if HAVE_PTHREAD_SPINLOCK 362 check_PROGRAMS += pth_spinlock 363 endif 364 365 366 AM_CFLAGS += $(AM_FLAG_M3264_PRI) @FLAG_W_EXTRA@ -Wno-inline -Wno-unused-parameter 367 AM_CXXFLAGS += $(AM_FLAG_M3264_PRI) @FLAG_W_EXTRA@ -Wno-inline -Wno-unused-parameter 368 369 LDADD = -lpthread 370 371 372 monitor_example_SOURCES = monitor_example.cpp 373 new_delete_SOURCES = new_delete.cpp 374 375 pth_cleanup_handler_CFLAGS = $(AM_CFLAGS) @FLAG_W_NO_EMPTY_BODY@ 376 377 tsan_unittest_SOURCES = tsan_unittest.cpp 378 tsan_unittest_CXXFLAGS = $(AM_CXXFLAGS) \ 379 -DTHREAD_WRAPPERS='"tsan_thread_wrappers_pthread.h"' 380 381 unit_bitmap_CFLAGS = $(AM_CFLAGS) -O2 \ 382 -DENABLE_DRD_CONSISTENCY_CHECKS \ 383 @FLAG_UNLIMITED_INLINE_UNIT_GROWTH@ 384 unit_bitmap_LDADD = # nothing, i.e. not -lpthread 385 386 unit_vc_CFLAGS = $(AM_CFLAGS) -DENABLE_DRD_CONSISTENCY_CHECKS 387 unit_vc_LDADD = # nothing, i.e. not -lpthread 388 389 if HAVE_BOOST_1_35 390 boost_thread_SOURCES = boost_thread.cpp 391 boost_thread_CXXFLAGS = $(AM_CXXFLAGS) $(BOOST_CFLAGS) 392 boost_thread_LDADD = $(BOOST_LIBS) 393 endif 394 395 if HAVE_BUILTIN_ATOMIC 396 annotate_smart_pointer_SOURCES = annotate_smart_pointer.cpp 397 endif 398 399 annotate_static_SOURCES = annotate_static.cpp 400 401 if HAVE_OPENMP 402 omp_matinv_CFLAGS = $(AM_CFLAGS) -fopenmp 403 omp_matinv_LDFLAGS = -fopenmp 404 omp_matinv_LDADD = $(LDADD) -lm 405 406 omp_prime_CFLAGS = $(AM_CFLAGS) -fopenmp 407 omp_prime_LDFLAGS = -fopenmp 408 omp_prime_LDADD = $(LDADD) -lm 409 410 omp_printf_CFLAGS = $(AM_CFLAGS) -fopenmp 411 omp_printf_LDFLAGS = -fopenmp 412 omp_printf_LDADD = $(LDADD) -lm 413 endif 414 415 if HAVE_PTHREAD_BARRIER 416 matinv_LDADD = $(LDADD) -lm 417 endif 418