diff options
author | Chris Lattner <sabre@nondot.org> | 2009-08-02 01:34:32 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2009-08-02 01:34:32 +0000 |
commit | d5bbb07ec806e6fa1e804afd7073987fdacc83e4 (patch) | |
tree | cfc4d2c2187d044c70d23c05086d146dce8ff69e /include/llvm/Target/TargetLoweringObjectFile.h | |
parent | 967ce7f5e1239be52386afa0439d2c433809aeeb (diff) |
move getDwarfExceptionSection from TAI to TLOF and rename it to
getLSDASection() to be more specific. This makes it pretty obvious
that the ELF LSDA section is being specified wrong in PIC mode. We're
probably getting a lot of startup-time relocations to a readonly page,
which is expensive and bad.
Someone who cares about ELF C++ should investigate this.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77847 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/Target/TargetLoweringObjectFile.h')
-rw-r--r-- | include/llvm/Target/TargetLoweringObjectFile.h | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/include/llvm/Target/TargetLoweringObjectFile.h b/include/llvm/Target/TargetLoweringObjectFile.h index ec6b697585..377b9eeae4 100644 --- a/include/llvm/Target/TargetLoweringObjectFile.h +++ b/include/llvm/Target/TargetLoweringObjectFile.h @@ -58,6 +58,10 @@ protected: /// list. const MCSection *StaticDtorSection; + /// 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; + public: // FIXME: NONPUB. const MCSection *getOrCreateSection(const char *Name, @@ -77,10 +81,10 @@ public: const MCSection *getTextSection() const { return TextSection; } const MCSection *getDataSection() const { return DataSection; } - const MCSection *getStaticCtorSection() const { return StaticCtorSection; } const MCSection *getStaticDtorSection() const { return StaticDtorSection; } - + const MCSection *getLSDASection() const { return LSDASection; } + /// shouldEmitUsedDirectiveFor - This hook allows targets to selectively /// decide not to emit the UsedDirective for some symbols in llvm.used. /// FIXME: REMOVE this (rdar://7071300) |