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
diff --git a/lib/CodeGen/AsmPrinter/DwarfDebug.cpp b/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
index d1e4ca4..037b4ac 100644
--- a/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
+++ b/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
@@ -136,6 +136,18 @@
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 @@
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 @@
}
}
-/// 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() {