[TSan] Fix initialized and declared ‘extern’ warning
authorJulian Lettner <jlettner@apple.com>
Mon, 1 Jul 2019 18:06:31 +0000 (18:06 +0000)
committerJulian Lettner <jlettner@apple.com>
Mon, 1 Jul 2019 18:06:31 +0000 (18:06 +0000)
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;
                        ^~~~~~~~~~~~~~~~~~~~~~~
```

llvm-svn: 364823

compiler-rt/lib/tsan/rtl/tsan_platform_linux.cc

index 5de6f6a..1d4ef6b 100644 (file)
@@ -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)