From 41c73028887080eb61ef843db16fc188bcae6c5b Mon Sep 17 00:00:00 2001 From: Alexey Samsonov Date: Fri, 16 May 2014 20:33:56 +0000 Subject: [PATCH] [TSan] Improve support for running TSan test suite with GCC-TSan. Test results with GCC-4.9.0: 78 expected passes, 74 unexpected failures. llvm-svn: 209014 --- compiler-rt/test/tsan/lit.cfg | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/compiler-rt/test/tsan/lit.cfg b/compiler-rt/test/tsan/lit.cfg index ef9ac91d7f14..ae2197135a72 100644 --- a/compiler-rt/test/tsan/lit.cfg +++ b/compiler-rt/test/tsan/lit.cfg @@ -22,14 +22,18 @@ tsan_options = "atexit_sleep_ms=0" config.environment['TSAN_OPTIONS'] = tsan_options +# GCC driver doesn't add necessary compile/link flags with -fsanitize=thread. +if config.compiler_id == 'GNU': + extra_cflags = ["-fPIE", "-lpthread", "-ldl", "-lstdc++", "-lrt", "-pie"] +else: + extra_cflags = [] + # Setup default compiler flags used with -fsanitize=thread option. # FIXME: Review the set of required flags and check if it can be reduced. clang_tsan_cflags = ["-fsanitize=thread", "-g", "-Wall", - "-lpthread", - "-ldl", - "-m64"] + "-m64"] + extra_cflags clang_tsan_cxxflags = config.cxx_mode_flags + clang_tsan_cflags # Add additional flags if we're using instrumented libc++. if config.has_libcxx: