[PATCH] [lld] Enable writing of compact unwind sections

Tim Northover t.p.northover at gmail.com
Wed Jun 25 02:49:25 PDT 2014


On 23 June 2014 17:09, Nick Kledzik <kledzik at apple.com> wrote:
> If you want to get around the assert, for now you can create a place holder
> function that takes all the __compact_unwind unwind atoms and replaces
> them with one __unwind_info atom.

OK, having looked around I'm not sure I do understand what you're saying here.

It looks like some kind of architectural change will be needed to give
typeCompactUnwind atoms any kind of special behaviour: either a new
typeProcessedCompactUnwind and a pass to do the mapping during link
(which I'd suggest simply drop all compact-unwind atoms for now, even
producing a trivial __unwind_info is not actually trivial), or some
kind of modularity in MachONormalizedFileFromAtoms.

Which one did you mean originally, or something entirely different?

Another option for the assert might be simply putting the data back
into an __LD,__compact_unwind section for now. As I understand it,
that would be harmless for correctness (libUnwind just carries on to
__eh_frame directly if there's no __TEXT,__unwind_info), and it would
fit reasonably into the current scheme.

Cheers.

Tim.



More information about the llvm-commits mailing list