mirror of
https://github.com/RPCSX/llvm.git
synced 2025-02-03 19:15:30 +00:00
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133658 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
e6240e8b83
commit
aa0a8f3177
@ -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…
x
Reference in New Issue
Block a user