Add a __LD,__compact_unwind section.
If the linker supports it, this will hold the CIE and FDE information in a compact format. The implementation of the compact unwinding emission is coming soon. llvm-svn: 133658
This commit is contained in:
parent
64ec101eb6
commit
d346304373
|
@ -68,6 +68,11 @@ protected:
|
|||
/// LSDASection - If exception handling is supported by the target, this is
|
||||
/// the section the Language Specific Data Area information is emitted to.
|
||||
const MCSection *LSDASection;
|
||||
|
||||
/// CompactUnwindSection - If exception handling is supported by the target
|
||||
/// and the target can support a compact representation of the CIE and FDE,
|
||||
/// this is the section to emit them into.
|
||||
const MCSection *CompactUnwindSection;
|
||||
|
||||
// Dwarf sections for debug info. If a target supports debug info, these must
|
||||
// be set.
|
||||
|
@ -132,6 +137,7 @@ public:
|
|||
const MCSection *getStaticCtorSection() const { return StaticCtorSection; }
|
||||
const MCSection *getStaticDtorSection() const { return StaticDtorSection; }
|
||||
const MCSection *getLSDASection() const { return LSDASection; }
|
||||
const MCSection *getCompactUnwindSection() const{return CompactUnwindSection;}
|
||||
virtual const MCSection *getEHFrameSection() const = 0;
|
||||
virtual void emitPersonalityValue(MCStreamer &Streamer,
|
||||
const TargetMachine &TM,
|
||||
|
|
|
@ -605,6 +605,12 @@ void TargetLoweringObjectFileMachO::Initialize(MCContext &Ctx,
|
|||
// Exception Handling.
|
||||
LSDASection = getContext().getMachOSection("__TEXT", "__gcc_except_tab", 0,
|
||||
SectionKind::getReadOnlyWithRel());
|
||||
|
||||
CompactUnwindSection =
|
||||
getContext().getMachOSection("__LD", "__compact_unwind",
|
||||
MCSectionMachO::S_ATTR_DEBUG,
|
||||
SectionKind::getReadOnly());
|
||||
|
||||
// Debug Information.
|
||||
DwarfAbbrevSection =
|
||||
getContext().getMachOSection("__DWARF", "__debug_abbrev",
|
||||
|
|
|
@ -43,6 +43,7 @@ TargetLoweringObjectFile::TargetLoweringObjectFile() : Ctx(0) {
|
|||
StaticCtorSection = 0;
|
||||
StaticDtorSection = 0;
|
||||
LSDASection = 0;
|
||||
CompactUnwindSection = 0;
|
||||
|
||||
CommDirectiveSupportsAlignment = true;
|
||||
DwarfAbbrevSection = 0;
|
||||
|
|
Loading…
Reference in New Issue