Index: llvm/lib/DebugInfo/DWARF/DWARFAcceleratorTable.cpp =================================================================== --- llvm/lib/DebugInfo/DWARF/DWARFAcceleratorTable.cpp +++ llvm/lib/DebugInfo/DWARF/DWARFAcceleratorTable.cpp @@ -365,6 +365,8 @@ void DWARFDebugNames::Header::dump(ScopedPrinter &W) const { DictScope HeaderScope(W, "Header"); W.printHex("Length", UnitLength); + if (Format == dwarf::DWARF64) + W.printString("Format", "DWARF64"); W.printNumber("Version", Version); W.printNumber("CU count", CompUnitCount); W.printNumber("Local TU count", LocalTypeUnitCount); Index: llvm/lib/DebugInfo/DWARF/DWARFCompileUnit.cpp =================================================================== --- llvm/lib/DebugInfo/DWARF/DWARFCompileUnit.cpp +++ llvm/lib/DebugInfo/DWARF/DWARFCompileUnit.cpp @@ -17,8 +17,10 @@ void DWARFCompileUnit::dump(raw_ostream &OS, DIDumpOptions DumpOpts) { int OffsetDumpWidth = getFormat() == dwarf::DWARF64 ? 16 : 8; OS << format("0x%08" PRIx64, getOffset()) << ": Compile Unit:" - << " length = " << format("0x%0*" PRIx64, OffsetDumpWidth, getLength()) - << " version = " << format("0x%04x", getVersion()); + << " length = " << format("0x%0*" PRIx64, OffsetDumpWidth, getLength()); + if (getFormat() == dwarf::DWARF64) + OS << " format = DWARF64"; + OS << " version = " << format("0x%04x", getVersion()); if (getVersion() >= 5) OS << " unit_type = " << dwarf::UnitTypeString(getUnitType()); OS << " abbr_offset = " Index: llvm/lib/DebugInfo/DWARF/DWARFDebugAddr.cpp =================================================================== --- llvm/lib/DebugInfo/DWARF/DWARFDebugAddr.cpp +++ llvm/lib/DebugInfo/DWARF/DWARFDebugAddr.cpp @@ -138,11 +138,14 @@ if (DumpOpts.Verbose) OS << format("0x%8.8" PRIx64 ": ", Offset); if (Length) { - int LengthFieldWidth = (Format == dwarf::DwarfFormat::DWARF64) ? 16 : 8; - OS << format("Address table header: length = 0x%0*" PRIx64 - ", version = 0x%4.4" PRIx16 ", addr_size = 0x%2.2" PRIx8 + OS << "Address table header: "; + if (Format == dwarf::DwarfFormat::DWARF64) + OS << format("length = 0x%016" PRIx64 ", format = DWARF64", Length); + else + OS << format("length = 0x%08" PRIx64, Length); + OS << format(", version = 0x%4.4" PRIx16 ", addr_size = 0x%2.2" PRIx8 ", seg_size = 0x%2.2" PRIx8 "\n", - LengthFieldWidth, Length, Version, AddrSize, SegSize); + Version, AddrSize, SegSize); } if (Addrs.size() > 0) { Index: llvm/lib/DebugInfo/DWARF/DWARFDebugArangeSet.cpp =================================================================== --- llvm/lib/DebugInfo/DWARF/DWARFDebugArangeSet.cpp +++ llvm/lib/DebugInfo/DWARF/DWARFDebugArangeSet.cpp @@ -159,8 +159,11 @@ void DWARFDebugArangeSet::dump(raw_ostream &OS) const { int OffsetDumpWidth = HeaderData.Format == dwarf::DWARF64 ? 16 : 8; OS << "Address Range Header: " - << format("length = 0x%0*" PRIx64 ", ", OffsetDumpWidth, HeaderData.Length) - << format("version = 0x%4.4x, ", HeaderData.Version) + << format("length = 0x%0*" PRIx64 ", ", OffsetDumpWidth, + HeaderData.Length); + if (HeaderData.Format == dwarf::DWARF64) + OS << "format = DWARF64, "; + OS << format("version = 0x%4.4x, ", HeaderData.Version) << format("cu_offset = 0x%0*" PRIx64 ", ", OffsetDumpWidth, HeaderData.CuOffset) << format("addr_size = 0x%2.2x, ", HeaderData.AddrSize) Index: llvm/lib/DebugInfo/DWARF/DWARFDebugFrame.cpp =================================================================== --- llvm/lib/DebugInfo/DWARF/DWARFDebugFrame.cpp +++ llvm/lib/DebugInfo/DWARF/DWARFDebugFrame.cpp @@ -309,6 +309,8 @@ << format(" %0*" PRIx64, IsDWARF64 && !IsEH ? 16 : 8, getCIEId(IsDWARF64, IsEH)) << " CIE\n"; + if (IsDWARF64) + OS << " Format: DWARF64\n"; OS << format(" Version: %d\n", Version); OS << " Augmentation: \"" << Augmentation << "\"\n"; if (Version >= 4) { @@ -343,6 +345,8 @@ OS << ""; OS << format(" pc=%08" PRIx64 "...%08" PRIx64 "\n", InitialLocation, InitialLocation + AddressRange); + if (IsDWARF64) + OS << " Format: DWARF64\n"; if (LSDAAddress) OS << format(" LSDA Address: %016" PRIx64 "\n", *LSDAAddress); CFIs.dump(OS, MRI, IsEH); Index: llvm/lib/DebugInfo/DWARF/DWARFDebugLine.cpp =================================================================== --- llvm/lib/DebugInfo/DWARF/DWARFDebugLine.cpp +++ llvm/lib/DebugInfo/DWARF/DWARFDebugLine.cpp @@ -109,8 +109,10 @@ int OffsetDumpWidth = isDWARF64() ? 16 : 8; OS << "Line table prologue:\n" << format(" total_length: 0x%0*" PRIx64 "\n", OffsetDumpWidth, - TotalLength) - << format(" version: %u\n", getVersion()); + TotalLength); + if (isDWARF64()) + OS << " format: DWARF64\n"; + OS << format(" version: %u\n", getVersion()); if (!versionIsSupported(getVersion())) return; if (getVersion() >= 5) Index: llvm/lib/DebugInfo/DWARF/DWARFDebugPubTable.cpp =================================================================== --- llvm/lib/DebugInfo/DWARF/DWARFDebugPubTable.cpp +++ llvm/lib/DebugInfo/DWARF/DWARFDebugPubTable.cpp @@ -52,6 +52,8 @@ for (const Set &S : Sets) { int OffsetDumpWidth = S.Format == dwarf::DWARF64 ? 16 : 8; OS << "length = " << format("0x%0*" PRIx64, OffsetDumpWidth, S.Length); + if (S.Format == dwarf::DWARF64) + OS << " format = DWARF64"; OS << " version = " << format("0x%04x", S.Version); OS << " unit_offset = " << format("0x%0*" PRIx64, OffsetDumpWidth, S.Offset); Index: llvm/lib/DebugInfo/DWARF/DWARFListTable.cpp =================================================================== --- llvm/lib/DebugInfo/DWARF/DWARFListTable.cpp +++ llvm/lib/DebugInfo/DWARF/DWARFListTable.cpp @@ -80,11 +80,13 @@ if (DumpOpts.Verbose) OS << format("0x%8.8" PRIx64 ": ", HeaderOffset); int OffsetDumpWidth = Format == dwarf::DWARF64 ? 16 : 8; - OS << format("%s list header: length = 0x%0*" PRIx64 - ", version = 0x%4.4" PRIx16 ", addr_size = 0x%2.2" PRIx8 + OS << format("%s list header: length = 0x%0*" PRIx64, ListTypeString.data(), + OffsetDumpWidth, HeaderData.Length); + if (Format == dwarf::DWARF64) + OS << ", format = DWARF64"; + OS << format(", version = 0x%4.4" PRIx16 ", addr_size = 0x%2.2" PRIx8 ", seg_size = 0x%2.2" PRIx8 ", offset_entry_count = 0x%8.8" PRIx32 "\n", - ListTypeString.data(), OffsetDumpWidth, HeaderData.Length, HeaderData.Version, HeaderData.AddrSize, HeaderData.SegSize, HeaderData.OffsetEntryCount); Index: llvm/lib/DebugInfo/DWARF/DWARFTypeUnit.cpp =================================================================== --- llvm/lib/DebugInfo/DWARF/DWARFTypeUnit.cpp +++ llvm/lib/DebugInfo/DWARF/DWARFTypeUnit.cpp @@ -31,8 +31,10 @@ } OS << format("0x%08" PRIx64, getOffset()) << ": Type Unit:" - << " length = " << format("0x%0*" PRIx64, OffsetDumpWidth, getLength()) - << " version = " << format("0x%04x", getVersion()); + << " length = " << format("0x%0*" PRIx64, OffsetDumpWidth, getLength()); + if (getFormat() == dwarf::DWARF64) + OS << " format = DWARF64"; + OS << " version = " << format("0x%04x", getVersion()); if (getVersion() >= 5) OS << " unit_type = " << dwarf::UnitTypeString(getUnitType()); OS << " abbr_offset = " Index: llvm/test/DebugInfo/X86/debug-frame-dwarf64.s =================================================================== --- llvm/test/DebugInfo/X86/debug-frame-dwarf64.s +++ llvm/test/DebugInfo/X86/debug-frame-dwarf64.s @@ -3,6 +3,7 @@ # RUN: FileCheck %s # CHECK: 00000000 0000000000000010 ffffffffffffffff CIE +# CHECK-NEXT: Format: DWARF64 # CHECK-NEXT: Version: 4 # CHECK-NEXT: Augmentation: "" # CHECK-NEXT: Address size: 8 @@ -14,6 +15,7 @@ # CHECK-NEXT: DW_CFA_nop: # CHECK: 0000001c 0000000000000018 0000000000000000 FDE cie=00000000 pc=00112233...00122233 +# CHECK-NEXT: Format: DWARF64 .section .debug_frame, "", @progbits .LCIE: Index: llvm/test/DebugInfo/X86/dwarfdump-debug-aranges.s =================================================================== --- llvm/test/DebugInfo/X86/dwarfdump-debug-aranges.s +++ llvm/test/DebugInfo/X86/dwarfdump-debug-aranges.s @@ -68,6 +68,7 @@ .long 0xffffffff # DWARF64 mark .quad .L4end - .L4version # Length # CHECK: Address Range Header: length = 0x000000000000001c, +# CHECK-SAME: format = DWARF64, .L4version: .short 2 # Version .quad 0x123456789abc # Debug Info Offset Index: llvm/test/DebugInfo/X86/dwarfdump-debug-loclists-dwarf64.s =================================================================== --- llvm/test/DebugInfo/X86/dwarfdump-debug-loclists-dwarf64.s +++ llvm/test/DebugInfo/X86/dwarfdump-debug-loclists-dwarf64.s @@ -5,6 +5,7 @@ # CHECK: .debug_loclists contents: # CHECK-NEXT: locations list header: # CHECK-SAME: length = 0x0000000000000028, +# CHECK-SAME: format = DWARF64, # CHECK-SAME: version = 0x0005, # CHECK-SAME: addr_size = 0x08, # CHECK-SAME: seg_size = 0x00, Index: llvm/test/DebugInfo/X86/dwarfdump-debug-names.s =================================================================== --- llvm/test/DebugInfo/X86/dwarfdump-debug-names.s +++ llvm/test/DebugInfo/X86/dwarfdump-debug-names.s @@ -215,6 +215,7 @@ # CHECK-NEXT: Name Index @ 0xac { # CHECK-NEXT: Header { # CHECK-NEXT: Length: 0x68 +# CHECK-NEXT: Format: DWARF64 # CHECK-NEXT: Version: 5 # CHECK-NEXT: CU count: 1 # CHECK-NEXT: Local TU count: 1 Index: llvm/test/DebugInfo/X86/dwarfdump-debug-pubnames.s =================================================================== --- llvm/test/DebugInfo/X86/dwarfdump-debug-pubnames.s +++ llvm/test/DebugInfo/X86/dwarfdump-debug-pubnames.s @@ -4,6 +4,7 @@ # CHECK: .debug_pubnames contents: # CHECK-NEXT: length = 0x0000000000000032 +# CHECK-SAME: format = DWARF64 # CHECK-SAME: version = 0x0002 # CHECK-SAME: unit_offset = 0x0000112233445566 # CHECK-SAME: unit_size = 0x0000110022003300 Index: llvm/test/DebugInfo/X86/dwarfdump-rnglists-dwarf64.s =================================================================== --- llvm/test/DebugInfo/X86/dwarfdump-rnglists-dwarf64.s +++ llvm/test/DebugInfo/X86/dwarfdump-rnglists-dwarf64.s @@ -216,6 +216,7 @@ # RNGLISTS: .debug_rnglists contents: # RNGLISTS: range list header: # RNGLISTS-SAME: length = 0x0000000000000031, +# RNGLISTS-SAME: format = DWARF64, # RNGLISTS-SAME: version = 0x0005, # RNGLISTS-SAME: addr_size = 0x04, # RNGLISTS-SAME: seg_size = 0x00, @@ -234,6 +235,7 @@ # RNGLISTS: .debug_rnglists.dwo contents: # RNGLISTS: range list header: # RNGLISTS-SAME: length = 0x0000000000000022, +# RNGLISTS-SAME: format = DWARF64, # RNGLISTS-SAME: version = 0x0005, # RNGLISTS-SAME: addr_size = 0x04, # RNGLISTS-SAME: seg_size = 0x00, Index: llvm/test/DebugInfo/dwarfdump-64-bit-dwarf.test =================================================================== --- llvm/test/DebugInfo/dwarfdump-64-bit-dwarf.test +++ llvm/test/DebugInfo/dwarfdump-64-bit-dwarf.test @@ -5,6 +5,7 @@ # .debug_line. CHECK: total_length: 0x0000000000000212 +CHECK: format: DWARF64 CHECK: version: 2 CHECK:prologue_length: 0x00000000000001ab CHECK:min_inst_length: 1 @@ -15,6 +16,7 @@ CHECK: is_stmt end_sequence CHECK: total_length: 0x000000000000007c +CHECK: format: DWARF64 CHECK: version: 2 CHECK:prologue_length: 0x0000000000000048 CHECK:min_inst_length: 1 @@ -25,6 +27,7 @@ CHECK: is_stmt end_sequence CHECK: total_length: 0x0000000000000094 +CHECK: format: DWARF64 CHECK: version: 2 CHECK:prologue_length: 0x0000000000000044 CHECK:min_inst_length: 1 @@ -35,6 +38,7 @@ CHECK: is_stmt end_sequence CHECK: total_length: 0x000000000000007c +CHECK: format: DWARF64 CHECK: version: 2 CHECK:prologue_length: 0x0000000000000048 CHECK:min_inst_length: 1 Index: llvm/test/tools/llvm-dwarfdump/X86/debug_addr_dwarf64.s =================================================================== --- llvm/test/tools/llvm-dwarfdump/X86/debug_addr_dwarf64.s +++ llvm/test/tools/llvm-dwarfdump/X86/debug_addr_dwarf64.s @@ -5,6 +5,7 @@ # CHECK: .debug_addr contents: # CHECK-NEXT: Address table header: # CHECK-SAME: length = 0x000000000000000c, +# CHECK-SAME: format = DWARF64, # CHECK-SAME: version = 0x0005, # CHECK-SAME: addr_size = 0x04, # CHECK-SAME: seg_size = 0x00 Index: llvm/test/tools/llvm-dwarfdump/X86/debug_info_min_dwarf64.s =================================================================== --- llvm/test/tools/llvm-dwarfdump/X86/debug_info_min_dwarf64.s +++ llvm/test/tools/llvm-dwarfdump/X86/debug_info_min_dwarf64.s @@ -19,6 +19,7 @@ .long 0xffffffff # DWARF64 mark .quad DI_4_64_end - DI_4_64_version # Length of Unit # CHECK-SAME: length = 0x000000000000000f +# CHECK-SAME: format = DWARF64 DI_4_64_version: .short 4 # DWARF version number # CHECK-SAME: version = 0x0004 Index: llvm/test/tools/llvm-dwarfdump/X86/debug_line_dwarf64_large_table.s =================================================================== --- llvm/test/tools/llvm-dwarfdump/X86/debug_line_dwarf64_large_table.s +++ llvm/test/tools/llvm-dwarfdump/X86/debug_line_dwarf64_large_table.s @@ -9,6 +9,7 @@ # CHECK-NEXT: warning: line table program with offset 0x00000000 has length 0xfffffffc but only 0x0000003a bytes are available # CHECK-NEXT: Line table prologue: # CHECK-NEXT: total_length: 0x00000000fffffff0 +# CHECK-NEXT: format: DWARF64 # CHECK-NEXT: version: 4 # CHECK-NEXT: prologue_length: 0x0000000000000016 Index: llvm/test/tools/llvm-dwarfdump/X86/debug_rnglists_dwarf64.s =================================================================== --- llvm/test/tools/llvm-dwarfdump/X86/debug_rnglists_dwarf64.s +++ llvm/test/tools/llvm-dwarfdump/X86/debug_rnglists_dwarf64.s @@ -5,6 +5,7 @@ # CHECK: .debug_rnglists contents: # CHECK-NEXT: 0x00000000: range list header: # CHECK-SAME: length = 0x000000000000001a, +# CHECK-SAME: format = DWARF64, # CHECK-SAME: version = 0x0005, # CHECK-SAME: addr_size = 0x08, # CHECK-SAME: seg_size = 0x00, Index: llvm/test/tools/llvm-dwarfdump/X86/typeunit-v4-dwarf64.s =================================================================== --- llvm/test/tools/llvm-dwarfdump/X86/typeunit-v4-dwarf64.s +++ llvm/test/tools/llvm-dwarfdump/X86/typeunit-v4-dwarf64.s @@ -26,6 +26,7 @@ .long 0xffffffff # DWARF64 mark .quad TU_4_64_end-TU_4_64_version # Length of Unit # CHECK-SAME: length = 0x0000000000000021 +# CHECK-SAME: format = DWARF64 TU_4_64_version: .short 4 # DWARF version number # CHECK-SAME: version = 0x0004 Index: llvm/test/tools/llvm-dwarfdump/X86/typeunit-v5-dwarf64.s =================================================================== --- llvm/test/tools/llvm-dwarfdump/X86/typeunit-v5-dwarf64.s +++ llvm/test/tools/llvm-dwarfdump/X86/typeunit-v5-dwarf64.s @@ -26,6 +26,7 @@ .long 0xffffffff # DWARF64 mark .quad TU_5_64_end-TU_5_64_version # Length of Unit # CHECK-SAME: length = 0x0000000000000022 +# CHECK-SAME: format = DWARF64 TU_5_64_version: .short 5 # DWARF version number # CHECK-SAME: version = 0x0005