Details:
See bug report: https://github.com/llvm/llvm-project/issues/63039
Differential D151824
[lld-macho]Ensure canonicalization happen even for "skipped" referent sections. oontvoo on May 31 2023, 11:25 AM. Authored by
Details
Details: See bug report: https://github.com/llvm/llvm-project/issues/63039
Diff Detail
Event TimelineComment Actions I might not be understanding this diff correctly, but it seems like the code change just ensures that referent section canonicalization occurs for the UNSIGNED relocation following a SUBTRACTOR relocation. Is that the gist of the issue, and if so, could you update the summary to explain where such relocations are used in the unwind data and why it fixes the bug? The test case is missing any assertions.
Comment Actions +1 to what @smeenai said Also re your commit message:
Is this actually a problem? Does the unwinder not like it when otherwise identical functions at two separate addresses share the same gcc_except_table?
Comment Actions I've updated the tests to add more assertions. But originally, the fact that the test didn't crash was sort of enough to cover to bug this aimed to fix.
Actually, the most serious issue here was that the linker crashed on the assertion (stacktrace attached in the bug report). Thanks!
|
this is now being done in scanSymbols (I'm aware this was from an existing comment)