[PATCH] D144999: [RFC][MC][MachO]Only emits compact-unwind format for "canonical" personality symbols. For the rest, use DWARFs.

James Y Knight via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Mar 6 16:26:55 PST 2023


jyknight added a comment.

> +1 Agreed that impl simplicity should be prioritized.

With a goal of simplicity, I think we should just go back to the earlier proposal: Clang emits all functions with a personality other than the 3 canonical personalities as DWARF unwind ONLY. Agreed we can have a flag to opt-into compact unwind here, if a user knows it'll be ok in their build.

And hopefully with the linker fix proposed in an earlier comment to not waste the compact-unwind personality space on DWARF unwind functions, we should be good to go:

> To fix this, the linker should skip encoding a personality for the compact-unwind entry when the compact-unwind is MODE_DWARF. In lld, that's probably most easily done by setting cu.personality = nullptr instead of fde.personality in UnwindInfoSectionImpl::relocateCompactUnwind.

It shouldn't need a new linker flag.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D144999/new/

https://reviews.llvm.org/D144999



More information about the llvm-commits mailing list