Skip to content

Conversation

DougGregor
Copy link
Member

IRGen introduces the symbol _swift_dead_method_stub for dead vtable entries to point to. This symbol was given internal linkage, which would result in multiply-defined symbols when combined with Embedded Swift's use of aggressive CMO. Switch to linkonce_odr hidden linkage so multiple versions of this symbol can be coalesced by the linker (and dropped if not needed).

Fixes rdar://162392119.

@DougGregor
Copy link
Member Author

@swift-ci please smoke test

IRGen introduces the symbol _swift_dead_method_stub for dead vtable
entries to point to. This symbol was given internal linkage, which
would result in multiply-defined symbols when combined with Embedded
Swift's use of aggressive CMO. Switch to linkonce_odr hidden linkage
so multiple versions of this symbol can be coalesced by the linker
(and dropped if not needed).

Fixes rdar://162392119.
@DougGregor DougGregor force-pushed the linkonce-odr-dead-method-stub branch from 4d9d1df to 5ed051a Compare October 11, 2025 14:11
@DougGregor
Copy link
Member Author

@swift-ci please smoke test

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant