[compiler-rt] 42c15ca - [TSAN][Darwin] x86_64 specific tests requiring weak symbols

Blue Gaston via llvm-commits llvm-commits at lists.llvm.org
Wed Aug 3 15:51:55 PDT 2022


Author: Blue Gaston
Date: 2022-08-03T15:51:23-07:00
New Revision: 42c15ca630126cafdd646ac3874fc6b1a110a8ca

URL: https://github.com/llvm/llvm-project/commit/42c15ca630126cafdd646ac3874fc6b1a110a8ca
DIFF: https://github.com/llvm/llvm-project/commit/42c15ca630126cafdd646ac3874fc6b1a110a8ca.diff

LOG: [TSAN][Darwin] x86_64 specific tests requiring weak symbols

Additional tests requiring weak symbol attribute work around for macOS 12.0

Differential Revision: https://reviews.llvm.org/D131119

Added: 
    

Modified: 
    compiler-rt/test/tsan/java_symbolization.cpp
    compiler-rt/test/tsan/java_symbolization_legacy.cpp

Removed: 
    


################################################################################
diff  --git a/compiler-rt/test/tsan/java_symbolization.cpp b/compiler-rt/test/tsan/java_symbolization.cpp
index 534dc5db4dce4..e6a3ee8ac1536 100644
--- a/compiler-rt/test/tsan/java_symbolization.cpp
+++ b/compiler-rt/test/tsan/java_symbolization.cpp
@@ -2,7 +2,11 @@
 #include "java.h"
 #include <memory.h>
 
-extern "C" __attribute__((disable_sanitizer_instrumentation)) void
+#if (__APPLE__)
+__attribute__((weak)) // Required for dyld macOS 12.0+
+#endif
+__attribute__((disable_sanitizer_instrumentation))
+extern "C" void
 __tsan_symbolize_external_ex(jptr pc,
                              void (*add_frame)(void *, const char *,
                                                const char *, int, int),

diff  --git a/compiler-rt/test/tsan/java_symbolization_legacy.cpp b/compiler-rt/test/tsan/java_symbolization_legacy.cpp
index ed7ffd35f8056..bdf986acfc1c4 100644
--- a/compiler-rt/test/tsan/java_symbolization_legacy.cpp
+++ b/compiler-rt/test/tsan/java_symbolization_legacy.cpp
@@ -2,7 +2,11 @@
 #include "java.h"
 #include <memory.h>
 
-extern "C" __attribute__((disable_sanitizer_instrumentation)) bool
+#if (__APPLE__)
+__attribute__((weak)) // Required for dyld macOS 12.0+
+#endif
+__attribute__((disable_sanitizer_instrumentation))
+extern "C" bool
 __tsan_symbolize_external(jptr pc, char *func_buf, jptr func_siz,
                           char *file_buf, jptr file_siz, int *line, int *col) {
   if (pc == (1234 | kExternalPCBit)) {


        


More information about the llvm-commits mailing list