diff --git a/libsanitizer/ChangeLog b/libsanitizer/ChangeLog
index e56cef9c8f437be8409e396bab45a2377b31e732..215c44465bc5866902095b774859592e69948f0e 100644
--- a/libsanitizer/ChangeLog
+++ b/libsanitizer/ChangeLog
@@ -1,3 +1,8 @@
+2016-11-16  Markus Trippelsdorf  <markus@trippelsdorf.de>
+
+	PR sanitizer/78294
+	* tsan/tsan_rtl.cc: Add missing attribute.
+
 2016-11-16  Maxim Ostapenko  <m.ostapenko@samsung.com>
 
 	* LOCAL_PATCHES: New file.
diff --git a/libsanitizer/tsan/tsan_rtl.cc b/libsanitizer/tsan/tsan_rtl.cc
index 07fa165e939c198a4c84cf2e7fac4acb8f7fe82d..5be28ce5502e442e54b11a5fcd1b19e6ac30fcc5 100644
--- a/libsanitizer/tsan/tsan_rtl.cc
+++ b/libsanitizer/tsan/tsan_rtl.cc
@@ -43,6 +43,7 @@ extern "C" void __tsan_resume() {
 namespace __tsan {
 
 #if !SANITIZER_GO && !SANITIZER_MAC
+  __attribute__((tls_model("initial-exec")))
 THREADLOCAL char cur_thread_placeholder[sizeof(ThreadState)] ALIGNED(64);
 #endif
 static char ctx_placeholder[sizeof(Context)] ALIGNED(64);