Don't bother creating LabelBegin for .dwo units
authorDavid Blaikie <dblaikie@gmail.com>
Sun, 2 Nov 2014 02:26:24 +0000 (02:26 +0000)
committerDavid Blaikie <dblaikie@gmail.com>
Sun, 2 Nov 2014 02:26:24 +0000 (02:26 +0000)
This would help catch cases where we might otherwise try to reference a
dwo CU label, which would be weird - because without relocations in the
dwo file it's not generally meaningful to talk about the CU offsets
there (or, if it is, we can do so in absolute terms without using a
relocation to compute it).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@221078 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
lib/CodeGen/AsmPrinter/DwarfCompileUnit.h

index 885be61b7c9414e03246a196432ed022637c5e2c..63cf62c03f948900aea8ce98e3fd09d2363aa238 100644 (file)
@@ -687,8 +687,9 @@ void DwarfCompileUnit::collectDeadVariables(DISubprogram SP) {
 }
 
 void DwarfCompileUnit::emitHeader(const MCSymbol *ASectionSym) const {
-  // Emit the compile units header.
-  Asm->OutStreamer.EmitLabel(LabelBegin);
+  // Don't bother labeling the .dwo unit, as its offset isn't used.
+  if (!Skeleton)
+    Asm->OutStreamer.EmitLabel(LabelBegin);
 
   DwarfUnit::emitHeader(ASectionSym);
 }
index 5f80e0cfc23b6ed6ae01996a7152a6bda10c3082..27ed6fc1431816ca7f14e99d76a96e3690002948 100644 (file)
@@ -158,8 +158,11 @@ public:
   void initSection(const MCSection *Section, MCSymbol *SectionSym) {
     DwarfUnit::initSection(Section);
     this->SectionSym = SectionSym;
-    LabelBegin =
-        Asm->GetTempSymbol(Section->getLabelBeginName(), getUniqueID());
+
+    // Don't bother labeling the .dwo unit, as its offset isn't used.
+    if (!Skeleton)
+      LabelBegin =
+          Asm->GetTempSymbol(Section->getLabelBeginName(), getUniqueID());
   }
 
   unsigned getLength() {