Extension of D127929
rdar://
80997227
Differential Revision: https://reviews.llvm.org/D130499
static void *glob_ptr;
-extern "C" {
-void __sanitizer_free_hook(const volatile void *ptr) {
+// Required for dyld macOS 12.0+
+#if (__APPLE__)
+__attribute__((weak))
+#endif
+extern "C" void
+__sanitizer_free_hook(const volatile void *ptr) {
if (ptr == glob_ptr) {
*(int*)ptr = 0;
write(1, "FreeHook\n", sizeof("FreeHook\n"));
}
}
-}
int main() {
int *x = (int*)malloc(100);
static void *glob_ptr;
-extern "C" {
-void __sanitizer_free_hook(const volatile void *ptr) {
+// (Speculative fix if memprof is enabled on Apple platforms)
+// Required for dyld macOS 12.0+
+#if (__APPLE__)
+__attribute__((weak))
+#endif
+extern "C" void
+__sanitizer_free_hook(const volatile void *ptr) {
if (ptr == glob_ptr) {
*(int *)ptr = 0;
write(1, "FreeHook\n", sizeof("FreeHook\n"));
}
}
-}
int main() {
int *x = (int *)malloc(100);