Skip to content

Conversation

llvmbot
Copy link
Member

@llvmbot llvmbot commented Oct 12, 2022

We already do this for personality pointers referenced from compact
unwind entries; this patch extends that behavior to personalities
referenced via EH frames as well.

This reduces the number of distinct personalities we need in the final
binary, and helps us avoid hitting the "too many personalities" error.

I renamed `UnwindInfoSection::prepareRelocations()` to simply `prepare`
since we now do some non-reloc-specific stuff within.

Fixes #58277.

Reviewed By: #lld-macho, oontvoo

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

(cherry picked from commit 7b45dfc)
@tru
Copy link
Contributor

tru commented Oct 21, 2022

@oontvoo does this look good for merging to 15.0.4?

@tru
Copy link
Contributor

tru commented Oct 25, 2022

@int3 anyone else that can review this?

@tru tru merged commit dd711a9 into release/15.x Oct 28, 2022
@tru tru deleted the llvm-issue58277 branch October 28, 2022 07:37
@int3
Copy link
Contributor

int3 commented Oct 28, 2022

Sorry, missed the notification for your previous comment. Thanks for merging!

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.

ld64.lld: error: too many personalities (4) for compact unwind to encode

3 participants