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