summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2014-03-19 13:24:52 +0000
committerDmitry Vyukov <dvyukov@google.com>2014-03-19 13:24:52 +0000
commitaf3a2afe05edae65ac5f98f83bd10d5bbb97be88 (patch)
tree7d2942088cfe00e149ee8f6373bb92e99fbec46b
parent7f77eb06185b794569b922c8ed6845092a4281f3 (diff)
tsan: use attribute instead of compiler flag for tls-model=initial-exec as asked in comments for r203111
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@204232 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/tsan/dd/CMakeLists.txt1
-rw-r--r--lib/tsan/dd/dd_interceptors.cc2
2 files changed, 2 insertions, 1 deletions
diff --git a/lib/tsan/dd/CMakeLists.txt b/lib/tsan/dd/CMakeLists.txt
index da43f6621..305e26c07 100644
--- a/lib/tsan/dd/CMakeLists.txt
+++ b/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/lib/tsan/dd/dd_interceptors.cc b/lib/tsan/dd/dd_interceptors.cc
index 4d3b15f0a..8151f7fd3 100644
--- a/lib/tsan/dd/dd_interceptors.cc
+++ b/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;