summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJulian Lettner <jlettner@apple.com>2019-07-01 18:06:31 +0000
committerJulian Lettner <jlettner@apple.com>2019-07-01 18:06:31 +0000
commit2e140cf321ee5da0b6c9917f12f558565c7b2f57 (patch)
tree68ea18caa1c7d8c528e1297a058422e87b77cbb2
parent65810c2e188863286347069dbd52a89905adbe89 (diff)
downloadcompiler-rt-2e140cf321ee5da0b6c9917f12f558565c7b2f57.tar.gz
[TSan] Fix initialized and declared ‘extern’ warning
Avoid the following warning which fails a bot (via -Werror). ``` /tmp/gotsan.JfrpVPu7pG/gotsan.cc:10456:25: error: ‘_tsan_pointer_chk_guard’ initialized and declared ‘extern’ [-Werror] extern "C" __tsan::uptr _tsan_pointer_chk_guard = 0; ^~~~~~~~~~~~~~~~~~~~~~~ ``` git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@364823 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/tsan/rtl/tsan_platform_linux.cc7
1 files changed, 5 insertions, 2 deletions
diff --git a/lib/tsan/rtl/tsan_platform_linux.cc b/lib/tsan/rtl/tsan_platform_linux.cc
index 5de6f6a80..1d4ef6b54 100644
--- a/lib/tsan/rtl/tsan_platform_linux.cc
+++ b/lib/tsan/rtl/tsan_platform_linux.cc
@@ -69,9 +69,8 @@ void *__libc_stack_end = 0;
#if SANITIZER_LINUX && defined(__aarch64__)
void InitializeGuardPtr() __attribute__((visibility("hidden")));
-#endif
-// TODO(yln): only define this when necessary
extern "C" __tsan::uptr _tsan_pointer_chk_guard = 0;
+#endif
namespace __tsan {
@@ -353,7 +352,11 @@ uptr UnmangleLongJmpSp(uptr mangled_sp) {
return sp;
#endif
#elif defined(__aarch64__)
+# if SANITIZER_LINUX
return mangled_sp ^ _tsan_pointer_chk_guard;
+# else
+ return mangled_sp;
+# endif
#elif defined(__powerpc64__)
// Reverse of:
// ld r4, -28696(r13)