diff --git a/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp b/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp index 6404e4b52299..1a906e10331f 100644 --- a/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp +++ b/llvm/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/llvm/test/DebugInfo/X86/gnu-public-names-empty.ll b/llvm/test/DebugInfo/X86/gnu-public-names-empty.ll index 8ee77a6d9982..46ae65d00384 100644 --- a/llvm/test/DebugInfo/X86/gnu-public-names-empty.ll +++ b/llvm/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/llvm/test/DebugInfo/X86/gnu-public-names.ll b/llvm/test/DebugInfo/X86/gnu-public-names.ll index b89978229380..f4001e3af927 100644 --- a/llvm/test/DebugInfo/X86/gnu-public-names.ll +++ b/llvm/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"