summaryrefslogtreecommitdiffstats
path: root/include/llvm/MC/MCObjectFileInfo.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/llvm/MC/MCObjectFileInfo.h')
-rw-r--r--include/llvm/MC/MCObjectFileInfo.h26
1 files changed, 25 insertions, 1 deletions
diff --git a/include/llvm/MC/MCObjectFileInfo.h b/include/llvm/MC/MCObjectFileInfo.h
index c48dcb0..1c5c19e 100644
--- a/include/llvm/MC/MCObjectFileInfo.h
+++ b/include/llvm/MC/MCObjectFileInfo.h
@@ -39,6 +39,11 @@ protected:
/// non-.globl label. This defaults to true.
bool IsFunctionEHFrameSymbolPrivate;
+ /// SupportsCompactUnwindWithoutEHFrame - True if the target object file
+ /// supports emitting a compact unwind section without an associated EH frame
+ /// section.
+ bool SupportsCompactUnwindWithoutEHFrame;
+
/// PersonalityEncoding, LSDAEncoding, FDEEncoding, TTypeEncoding - Some
/// encoding values for EH.
unsigned PersonalityEncoding;
@@ -129,6 +134,8 @@ protected:
const MCSection *DwarfGnuPubNamesSection;
const MCSection *DwarfGnuPubTypesSection;
+ const MCSection *COFFDebugSymbolsSection;
+
// Extra TLS Variable Data section. If the target needs to put additional
// information for a TLS variable, it'll go here.
const MCSection *TLSExtraDataSection;
@@ -201,6 +208,9 @@ public:
bool getSupportsWeakOmittedEHFrame() const {
return SupportsWeakOmittedEHFrame;
}
+ bool getSupportsCompactUnwindWithoutEHFrame() const {
+ return SupportsCompactUnwindWithoutEHFrame;
+ }
bool getCommDirectiveSupportsAlignment() const {
return CommDirectiveSupportsAlignment;
}
@@ -262,6 +272,8 @@ public:
const MCSection *getDwarfInfoDWOSection() const {
return DwarfInfoDWOSection;
}
+ const MCSection *getDwarfTypesSection(uint64_t Hash) const;
+ const MCSection *getDwarfTypesDWOSection(uint64_t Hash) const;
const MCSection *getDwarfAbbrevDWOSection() const {
return DwarfAbbrevDWOSection;
}
@@ -281,6 +293,10 @@ public:
return DwarfAddrSection;
}
+ const MCSection *getCOFFDebugSymbolsSection() const {
+ return COFFDebugSymbolsSection;
+ }
+
const MCSection *getTLSExtraDataSection() const {
return TLSExtraDataSection;
}
@@ -353,8 +369,16 @@ public:
return EHFrameSection;
}
-private:
enum Environment { IsMachO, IsELF, IsCOFF };
+ Environment getObjectFileType() const {
+ return Env;
+ }
+
+ Reloc::Model getRelocM() const {
+ return RelocM;
+ }
+
+private:
Environment Env;
Reloc::Model RelocM;
CodeModel::Model CMModel;