mirror of
https://github.com/RPCS3/llvm.git
synced 2025-01-30 07:14:53 +00:00
Expose a way to get the beginning of the dwarf string section.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143920 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
6370118b16
commit
d8a8752d5b
@ -136,6 +136,18 @@ DwarfDebug::DwarfDebug(AsmPrinter *A, Module *M)
|
||||
DwarfDebug::~DwarfDebug() {
|
||||
}
|
||||
|
||||
/// EmitSectionSym - Switch to the specified MCSection and emit an assembler
|
||||
/// temporary label to it if SymbolStem is specified.
|
||||
static MCSymbol *EmitSectionSym(AsmPrinter *Asm, const MCSection *Section,
|
||||
const char *SymbolStem = 0) {
|
||||
Asm->OutStreamer.SwitchSection(Section);
|
||||
if (!SymbolStem) return 0;
|
||||
|
||||
MCSymbol *TmpSym = Asm->GetTempSymbol(SymbolStem);
|
||||
Asm->OutStreamer.EmitLabel(TmpSym);
|
||||
return TmpSym;
|
||||
}
|
||||
|
||||
MCSymbol *DwarfDebug::getStringPool() {
|
||||
return Asm->GetTempSymbol("section_str");
|
||||
}
|
||||
@ -148,6 +160,13 @@ MCSymbol *DwarfDebug::getStringPoolEntry(StringRef Str) {
|
||||
return Entry.first = Asm->GetTempSymbol("string", Entry.second);
|
||||
}
|
||||
|
||||
MCSymbol *DwarfDebug::getDwarfStrSectionSym(void) {
|
||||
if (DwarfStrSectionSym) return DwarfStrSectionSym;
|
||||
DwarfStrSectionSym =
|
||||
EmitSectionSym(Asm, Asm->getObjFileLowering().getDwarfStrSection(),
|
||||
"section_str");
|
||||
return DwarfStrSectionSym;
|
||||
}
|
||||
|
||||
/// assignAbbrevNumber - Define a unique number for the abbreviation.
|
||||
///
|
||||
@ -1465,18 +1484,6 @@ void DwarfDebug::computeSizeAndOffsets() {
|
||||
}
|
||||
}
|
||||
|
||||
/// EmitSectionSym - Switch to the specified MCSection and emit an assembler
|
||||
/// temporary label to it if SymbolStem is specified.
|
||||
static MCSymbol *EmitSectionSym(AsmPrinter *Asm, const MCSection *Section,
|
||||
const char *SymbolStem = 0) {
|
||||
Asm->OutStreamer.SwitchSection(Section);
|
||||
if (!SymbolStem) return 0;
|
||||
|
||||
MCSymbol *TmpSym = Asm->GetTempSymbol(SymbolStem);
|
||||
Asm->OutStreamer.EmitLabel(TmpSym);
|
||||
return TmpSym;
|
||||
}
|
||||
|
||||
/// EmitSectionLabels - Emit initial Dwarf sections with a label at
|
||||
/// the start of each one.
|
||||
void DwarfDebug::EmitSectionLabels() {
|
||||
|
@ -513,6 +513,10 @@ public:
|
||||
/// getStringPoolEntry - returns an entry into the string pool with the given
|
||||
/// string text.
|
||||
MCSymbol *getStringPoolEntry(StringRef Str);
|
||||
|
||||
/// getDwarfStrSectionSym - returns the symbol that starts the dwarf string
|
||||
/// section.
|
||||
MCSymbol *getDwarfStrSectionSym();
|
||||
};
|
||||
} // End of namespace llvm
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user