summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/CodeGen/AsmPrinter/DwarfDebug.cpp8
-rw-r--r--test/DebugInfo/X86/gnu-public-names-empty.ll4
-rw-r--r--test/DebugInfo/X86/gnu-public-names.ll8
3 files changed, 7 insertions, 13 deletions
diff --git a/lib/CodeGen/AsmPrinter/DwarfDebug.cpp b/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
index 6404e4b522..1a906e1033 100644
--- a/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
+++ b/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
@@ -733,13 +733,7 @@ void DwarfDebug::addGnuPubAttributes(DwarfUnit *U, DIE *D) const {
if (!GenerateGnuPubSections)
return;
- addSectionLabel(Asm, U, D, dwarf::DW_AT_GNU_pubnames,
- Asm->GetTempSymbol("gnu_pubnames", U->getUniqueID()),
- DwarfGnuPubNamesSectionSym);
-
- addSectionLabel(Asm, U, D, dwarf::DW_AT_GNU_pubtypes,
- Asm->GetTempSymbol("gnu_pubtypes", U->getUniqueID()),
- DwarfGnuPubTypesSectionSym);
+ U->addFlag(D, dwarf::DW_AT_GNU_pubnames);
}
// Create new DwarfCompileUnit for the given metadata node with tag
diff --git a/test/DebugInfo/X86/gnu-public-names-empty.ll b/test/DebugInfo/X86/gnu-public-names-empty.ll
index 8ee77a6d99..46ae65d003 100644
--- a/test/DebugInfo/X86/gnu-public-names-empty.ll
+++ b/test/DebugInfo/X86/gnu-public-names-empty.ll
@@ -6,8 +6,8 @@
; Check that the attributes in the compile unit both point to a correct
; location, even when nothing is exported.
-; CHECK: DW_AT_GNU_pubnames [DW_FORM_sec_offset] (0x00000000)
-; CHECK: DW_AT_GNU_pubtypes [DW_FORM_sec_offset] (0x00000000)
+; CHECK: DW_AT_GNU_pubnames [DW_FORM_flag_present] (true)
+; CHECK-NOT: DW_AT_GNU_pubtypes [
!llvm.dbg.cu = !{!0}
!llvm.module.flags = !{!3, !4}
diff --git a/test/DebugInfo/X86/gnu-public-names.ll b/test/DebugInfo/X86/gnu-public-names.ll
index b899782293..f4001e3af9 100644
--- a/test/DebugInfo/X86/gnu-public-names.ll
+++ b/test/DebugInfo/X86/gnu-public-names.ll
@@ -47,8 +47,8 @@
; CHECK: .debug_info contents:
; CHECK: Compile Unit: length = [[UNIT_SIZE:[0-9a-f]+]]
-; CHECK: DW_AT_GNU_pubnames [DW_FORM_sec_offset] (0x00000000)
-; CHECK: DW_AT_GNU_pubtypes [DW_FORM_sec_offset] (0x00000000)
+; CHECK: DW_AT_GNU_pubnames [DW_FORM_flag_present] (true)
+; CHECK-NOT: DW_AT_GNU_pubtypes [
; CHECK: [[C:[0-9a-f]+]]: DW_TAG_structure_type
; CHECK-NEXT: DW_AT_name {{.*}} "C"
@@ -127,8 +127,8 @@
; DWARF3: .debug_info contents:
; DWARF3: Compile Unit: length = [[UNIT_SIZE:[0-9a-f]+]]
-; DWARF3: DW_AT_GNU_pubnames [DW_FORM_data4] (0x00000000)
-; DWARF3: DW_AT_GNU_pubtypes [DW_FORM_data4] (0x00000000)
+; DWARF3: DW_AT_GNU_pubnames [DW_FORM_flag] (0x01)
+; DWARF3-NOT: DW_AT_GNU_pubtypes [
; DWARF3: [[C:[0-9a-f]+]]: DW_TAG_structure_type
; DWARF3-NEXT: DW_AT_name {{.*}} "C"