From e1d20db8a2ef351106e03eb2a897179029f364fb Mon Sep 17 00:00:00 2001 From: Mike Ash Date: Wed, 29 Oct 2025 22:32:43 -0400 Subject: [PATCH] [Runtime] Temporarily remove swift_release_preservemost_weak_placeholder. This is breaking embedded due to its use of weak definitions for embedded versions of the runtime functions. The presence of a weak export in libswiftCore allows any strong symbol in libswiftCore to override a weak symbol elsewhere. Remove while we work out how to reconcile the two. rdar://163578646 --- stdlib/public/runtime/HeapObject.cpp | 8 -------- 1 file changed, 8 deletions(-) diff --git a/stdlib/public/runtime/HeapObject.cpp b/stdlib/public/runtime/HeapObject.cpp index 4026929928429..1848e6e2df258 100644 --- a/stdlib/public/runtime/HeapObject.cpp +++ b/stdlib/public/runtime/HeapObject.cpp @@ -86,14 +86,6 @@ asm(R"( .set _swift_retain_preservemost, _swift_retain .globl _swift_release_preservemost .set _swift_release_preservemost, _swift_release - -// A weak definition can only be overridden by a strong definition if the -// library with the strong definition contains at least one weak definition. -// Create a placeholder weak definition here to allow that to work. - .weak_definition _swift_release_preservemost_weak_placeholder - .globl _swift_release_preservemost_weak_placeholder - _swift_release_preservemost_weak_placeholder: - .byte 0 )"); #endif #endif