From cc579aeba624eaf1da336662de78554447b193ee Mon Sep 17 00:00:00 2001 From: Dmitry Vyukov Date: Wed, 19 Mar 2014 13:24:52 +0000 Subject: [PATCH] tsan: use attribute instead of compiler flag for tls-model=initial-exec as asked in comments for r203111 llvm-svn: 204232 --- compiler-rt/lib/tsan/dd/CMakeLists.txt | 1 - compiler-rt/lib/tsan/dd/dd_interceptors.cc | 2 ++ 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/compiler-rt/lib/tsan/dd/CMakeLists.txt b/compiler-rt/lib/tsan/dd/CMakeLists.txt index da43f6621dca..305e26c078af 100644 --- a/compiler-rt/lib/tsan/dd/CMakeLists.txt +++ b/compiler-rt/lib/tsan/dd/CMakeLists.txt @@ -4,7 +4,6 @@ include_directories(../..) set(DD_CFLAGS ${SANITIZER_COMMON_CFLAGS}) append_no_rtti_flag(DD_CFLAGS) -list(APPEND DD_CFLAGS -ftls-model=initial-exec) if("${CMAKE_BUILD_TYPE}" EQUAL "Release") set(DD_COMMON_DEFINITIONS DEBUG=0) diff --git a/compiler-rt/lib/tsan/dd/dd_interceptors.cc b/compiler-rt/lib/tsan/dd/dd_interceptors.cc index 4d3b15f0a592..8151f7fd3c67 100644 --- a/compiler-rt/lib/tsan/dd/dd_interceptors.cc +++ b/compiler-rt/lib/tsan/dd/dd_interceptors.cc @@ -18,7 +18,9 @@ using namespace __dsan; extern "C" void *__libc_malloc(uptr size); extern "C" void __libc_free(void *ptr); +__attribute__((tls_model("initial-exec"))) static __thread Thread *thr; +__attribute__((tls_model("initial-exec"))) static __thread volatile int initing; static bool inited; static uptr g_data_start;