Skip to content

Conversation

@llvmbot
Copy link
Member

@llvmbot llvmbot commented Jul 31, 2024

Backport 3a4c7cc

Requested by: @aemerson

@llvmbot
Copy link
Member Author

llvmbot commented Jul 31, 2024

@llvm/pr-subscribers-compiler-rt-sanitizer

Author: None (llvmbot)

Changes

Backport 3a4c7cc

Requested by: @aemerson


Full diff: https://github.com/llvm/llvm-project/pull/101432.diff

1 Files Affected:

  • (modified) compiler-rt/lib/rtsan/rtsan_interceptors.cpp (+12)
diff --git a/compiler-rt/lib/rtsan/rtsan_interceptors.cpp b/compiler-rt/lib/rtsan/rtsan_interceptors.cpp
index 4d5423ec629d2..b63040446e53c 100644
--- a/compiler-rt/lib/rtsan/rtsan_interceptors.cpp
+++ b/compiler-rt/lib/rtsan/rtsan_interceptors.cpp
@@ -21,6 +21,18 @@
 #include "rtsan/rtsan_context.h"
 
 #if SANITIZER_APPLE
+
+#if TARGET_OS_MAC
+// On MacOS OSSpinLockLock is deprecated and no longer present in the headers,
+// but the symbol still exists on the system. Forward declare here so we
+// don't get compilation errors.
+#include <stdint.h>
+extern "C" {
+typedef int32_t OSSpinLock;
+void OSSpinLockLock(volatile OSSpinLock *__lock);
+}
+#endif
+
 #include <libkern/OSAtomic.h>
 #include <os/lock.h>
 #endif

@TNorthover
Copy link
Contributor

Looks safe enough to me. The added declaration matches the one in the header. I don't think it's actually gone yet in the latest Xcode 16 beta public SDK, but presumably it's happening soon.

… system. (llvm#101392)

Fixes build errors on some SDKs.

rdar://132607572
(cherry picked from commit 3a4c7cc)
@tru tru merged commit 2193e4f into llvm:release/19.x Aug 5, 2024
@github-actions
Copy link

github-actions bot commented Aug 5, 2024

@aemerson (or anyone else). If you would like to add a note about this fix in the release notes (completely optional). Please reply to this comment with a one or two sentence description of the fix. When you are done, please add the release:note label to this PR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Development

Successfully merging this pull request may close these issues.

4 participants