[lld-macho] Emit LSDA info in compact unwind
authorJez Ng <jezng@fb.com>
Mon, 8 Feb 2021 18:47:34 +0000 (13:47 -0500)
committerJez Ng <jezng@fb.com>
Mon, 8 Feb 2021 18:48:00 +0000 (13:48 -0500)
commit51120357510949fe33cec85b088e1e8a1f46de3f
treed2055f34fbbff5c5d5e01dfd606fc60bcba530b7
parent525bfa10ec1d4e3dfa3932a299cd67ffe59a5827
[lld-macho] Emit LSDA info in compact unwind

The LSDA pointers are encoded as offsets from the image base,
and arranged in one big contiguous array. Each second-level page records
the offset within that LSDA array which corresponds to the LSDA for its
first CU entry.

Reviewed By: clayborg

Differential Revision: https://reviews.llvm.org/D95810
lld/MachO/UnwindInfoSection.cpp
lld/MachO/UnwindInfoSection.h
lld/test/MachO/compact-unwind.s