[TSAN][Darwin] x86_64 specific tests requiring weak symbols
authorBlue Gaston <blueg@Blues-MacBook-Pro.local>
Wed, 3 Aug 2022 22:09:50 +0000 (15:09 -0700)
committerBlue Gaston <blueg@Blues-MacBook-Pro.local>
Wed, 3 Aug 2022 22:51:23 +0000 (15:51 -0700)
Additional tests requiring weak symbol attribute work around for macOS 12.0

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

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

index 534dc5d..e6a3ee8 100644 (file)
@@ -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),
index ed7ffd3..bdf986a 100644 (file)
@@ -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)) {