From: Xing GUO Date: Tue, 30 Jun 2020 07:07:45 +0000 (+0800) Subject: [DWARFYAML][debug_info] Replace 'InitialLength' with 'Format' and 'Length'. X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=fe08ab542bd6328a7906e38ae473cf655eb6a228;p=platform%2Fupstream%2Fllvm.git [DWARFYAML][debug_info] Replace 'InitialLength' with 'Format' and 'Length'. 'InitialLength' is replaced with 'Format' (DWARF32 by default) and 'Length' in this patch. Besides, test cases for DWARFv4 and DWARFv5, DWARF32 and DWARF64 is added. Reviewed By: jhenderson Differential Revision: https://reviews.llvm.org/D82622 --- diff --git a/lldb/test/API/functionalities/source-map/a.yaml b/lldb/test/API/functionalities/source-map/a.yaml index 08fd989..cf2fe7b 100644 --- a/lldb/test/API/functionalities/source-map/a.yaml +++ b/lldb/test/API/functionalities/source-map/a.yaml @@ -296,8 +296,7 @@ DWARF: - Attribute: DW_AT_type Form: DW_FORM_ref4 debug_info: - - Length: - TotalLength: 122 + - Length: 122 Version: 4 AbbrOffset: 0 AddrSize: 8 diff --git a/lldb/unittests/Expression/DWARFExpressionTest.cpp b/lldb/unittests/Expression/DWARFExpressionTest.cpp index 572c585..78c400c 100644 --- a/lldb/unittests/Expression/DWARFExpressionTest.cpp +++ b/lldb/unittests/Expression/DWARFExpressionTest.cpp @@ -94,8 +94,7 @@ TEST(DWARFExpression, DW_OP_convert) { " - Attribute: DW_AT_byte_size\n" " Form: DW_FORM_data1\n" "debug_info:\n" - " - Length:\n" - " TotalLength: 0\n" + " - Length: 0\n" " Version: 4\n" " AbbrOffset: 0\n" " AddrSize: 8\n" diff --git a/lldb/unittests/Symbol/Inputs/inlined-functions.yaml b/lldb/unittests/Symbol/Inputs/inlined-functions.yaml index 14573da..8ce9211 100644 --- a/lldb/unittests/Symbol/Inputs/inlined-functions.yaml +++ b/lldb/unittests/Symbol/Inputs/inlined-functions.yaml @@ -342,8 +342,7 @@ DWARF: - Attribute: DW_AT_type Form: DW_FORM_ref4 debug_info: - - Length: - TotalLength: 579 + - Length: 579 Version: 4 AbbrOffset: 0 AddrSize: 8 diff --git a/lldb/unittests/SymbolFile/DWARF/DWARFASTParserClangTests.cpp b/lldb/unittests/SymbolFile/DWARF/DWARFASTParserClangTests.cpp index 44251e9..858aa61 100644 --- a/lldb/unittests/SymbolFile/DWARF/DWARFASTParserClangTests.cpp +++ b/lldb/unittests/SymbolFile/DWARF/DWARFASTParserClangTests.cpp @@ -56,8 +56,7 @@ TEST_F(DWARFASTParserClangTests, " - Attribute: DW_AT_byte_size\n" " Form: DW_FORM_data1\n" "debug_info:\n" - " - Length:\n" - " TotalLength: 0\n" + " - Length: 0\n" " Version: 4\n" " AbbrOffset: 0\n" " AddrSize: 8\n" diff --git a/llvm/include/llvm/ObjectYAML/DWARFYAML.h b/llvm/include/llvm/ObjectYAML/DWARFYAML.h index 73965dc..a492972 100644 --- a/llvm/include/llvm/ObjectYAML/DWARFYAML.h +++ b/llvm/include/llvm/ObjectYAML/DWARFYAML.h @@ -117,7 +117,8 @@ struct Entry { }; struct Unit { - InitialLength Length; + dwarf::DwarfFormat Format; + uint64_t Length; uint16_t Version; llvm::dwarf::UnitType Type; // Added in DWARF 5 yaml::Hex64 AbbrOffset; diff --git a/llvm/lib/ObjectYAML/DWARFEmitter.cpp b/llvm/lib/ObjectYAML/DWARFEmitter.cpp index 7f8de2c..67509ba 100644 --- a/llvm/lib/ObjectYAML/DWARFEmitter.cpp +++ b/llvm/lib/ObjectYAML/DWARFEmitter.cpp @@ -208,18 +208,18 @@ class DumpVisitor : public DWARFYAML::ConstVisitor { protected: void onStartCompileUnit(const DWARFYAML::Unit &CU) override { - writeInitialLength(CU.Length, OS, DebugInfo.IsLittleEndian); + writeInitialLength(CU.Format, CU.Length, OS, DebugInfo.IsLittleEndian); writeInteger((uint16_t)CU.Version, OS, DebugInfo.IsLittleEndian); if (CU.Version >= 5) { writeInteger((uint8_t)CU.Type, OS, DebugInfo.IsLittleEndian); writeInteger((uint8_t)CU.AddrSize, OS, DebugInfo.IsLittleEndian); cantFail(writeVariableSizedInteger(CU.AbbrOffset, - CU.Length.isDWARF64() ? 8 : 4, OS, - DebugInfo.IsLittleEndian)); + CU.Format == dwarf::DWARF64 ? 8 : 4, + OS, DebugInfo.IsLittleEndian)); } else { cantFail(writeVariableSizedInteger(CU.AbbrOffset, - CU.Length.isDWARF64() ? 8 : 4, OS, - DebugInfo.IsLittleEndian)); + CU.Format == dwarf::DWARF64 ? 8 : 4, + OS, DebugInfo.IsLittleEndian)); writeInteger((uint8_t)CU.AddrSize, OS, DebugInfo.IsLittleEndian); } } @@ -442,9 +442,7 @@ private: Length = CU.Version >= 5 ? 8 : 7; } - virtual void onEndCompileUnit(DWARFYAML::Unit &CU) { - CU.Length.setLength(Length); - } + virtual void onEndCompileUnit(DWARFYAML::Unit &CU) { CU.Length = Length; } virtual void onStartDIE(DWARFYAML::Unit &CU, DWARFYAML::Entry &DIE) { Length += getULEB128Size(DIE.AbbrCode); diff --git a/llvm/lib/ObjectYAML/DWARFVisitor.cpp b/llvm/lib/ObjectYAML/DWARFVisitor.cpp index 5c07b6a..f478a1b 100644 --- a/llvm/lib/ObjectYAML/DWARFVisitor.cpp +++ b/llvm/lib/ObjectYAML/DWARFVisitor.cpp @@ -9,6 +9,7 @@ //===----------------------------------------------------------------------===// #include "DWARFVisitor.h" +#include "llvm/BinaryFormat/Dwarf.h" #include "llvm/ObjectYAML/DWARFYAML.h" #include "llvm/Support/Errc.h" #include "llvm/Support/Error.h" @@ -36,7 +37,7 @@ void DWARFYAML::VisitorImpl::onVariableSizeValue(uint64_t U, unsigned Size) { } static unsigned getOffsetSize(const DWARFYAML::Unit &Unit) { - return Unit.Length.isDWARF64() ? 8 : 4; + return Unit.Format == dwarf::DWARF64 ? 8 : 4; } static unsigned getRefSize(const DWARFYAML::Unit &Unit) { diff --git a/llvm/lib/ObjectYAML/DWARFYAML.cpp b/llvm/lib/ObjectYAML/DWARFYAML.cpp index 9865c1b..5182756 100644 --- a/llvm/lib/ObjectYAML/DWARFYAML.cpp +++ b/llvm/lib/ObjectYAML/DWARFYAML.cpp @@ -132,6 +132,7 @@ void MappingTraits::mapping( } void MappingTraits::mapping(IO &IO, DWARFYAML::Unit &Unit) { + IO.mapOptional("Format", Unit.Format, dwarf::DWARF32); IO.mapRequired("Length", Unit.Length); IO.mapRequired("Version", Unit.Version); if (Unit.Version >= 5) diff --git a/llvm/test/ObjectYAML/MachO/DWARF-debug_info.yaml b/llvm/test/ObjectYAML/MachO/DWARF-debug_info.yaml index af997b0..8c500f4 100644 --- a/llvm/test/ObjectYAML/MachO/DWARF-debug_info.yaml +++ b/llvm/test/ObjectYAML/MachO/DWARF-debug_info.yaml @@ -1,4 +1,10 @@ -# RUN: yaml2obj %s | obj2yaml | FileCheck %s +## This file contains test cases for generating a DAWRFv4 .debug_info +## section in object files from the DWARF entry of Mach-O YAML inputs. + +## a) Test that yaml2obj emits a DWARF32 .debug_info sections and obj2yaml +## converts it back. + +# RUN: yaml2obj --docnum=1 %s | obj2yaml | FileCheck %s --check-prefix=DWARF32 --- !mach-o FileHeader: @@ -384,8 +390,7 @@ DWARF: - Address: 0x0000000100000F50 Length: 52 debug_info: - - Length: - TotalLength: 117 + - Length: 117 Version: 4 AbbrOffset: 0 AddrSize: 8 @@ -506,69 +511,192 @@ DWARF: ... ... +# DWARF32: DWARF: +# DWARF32: debug_info: +# DWARF32-NEXT: - Length: 117 +# DWARF32-NEXT: Version: 4 +# DWARF32-NEXT: AbbrOffset: 0 +# DWARF32-NEXT: AddrSize: 8 +# DWARF32-NEXT: Entries: +# DWARF32-NEXT: - AbbrCode: 0x00000001 +# DWARF32-NEXT: Values: +# DWARF32-NEXT: - Value: 0x0000000000000001 +# DWARF32-NEXT: - Value: 0x000000000000000C +# DWARF32-NEXT: - Value: 0x0000000000000038 +# DWARF32-NEXT: - Value: 0x0000000000000000 +# DWARF32-NEXT: - Value: 0x0000000000000046 +# DWARF32-NEXT: - Value: 0x0000000100000F50 +# DWARF32-NEXT: - Value: 0x0000000000000034 +# DWARF32-NEXT: - AbbrCode: 0x00000002 +# DWARF32-NEXT: Values: +# DWARF32-NEXT: - Value: 0x0000000100000F50 +# DWARF32-NEXT: - Value: 0x0000000000000034 +# DWARF32-NEXT: - Value: 0x0000000000000001 +# DWARF32-NEXT: BlockData: [ 0x56 ] +# DWARF32-NEXT: - Value: 0x0000000000000076 +# DWARF32-NEXT: - Value: 0x0000000000000001 +# DWARF32-NEXT: - Value: 0x0000000000000003 +# DWARF32-NEXT: - Value: 0x0000000000000001 +# DWARF32-NEXT: - Value: 0x0000000000000060 +# DWARF32-NEXT: - Value: 0x0000000000000001 +# DWARF32-NEXT: - AbbrCode: 0x00000003 +# DWARF32-NEXT: Values: +# DWARF32-NEXT: - Value: 0x0000000000000002 +# DWARF32-NEXT: BlockData: [ 0x91, 0x78 ] +# DWARF32-NEXT: - Value: 0x000000000000007B +# DWARF32-NEXT: - Value: 0x0000000000000001 +# DWARF32-NEXT: - Value: 0x0000000000000003 +# DWARF32-NEXT: - Value: 0x0000000000000060 +# DWARF32-NEXT: - AbbrCode: 0x00000003 +# DWARF32-NEXT: Values: +# DWARF32-NEXT: - Value: 0x0000000000000002 +# DWARF32-NEXT: BlockData: [ 0x91, 0x70 ] +# DWARF32-NEXT: - Value: 0x0000000000000080 +# DWARF32-NEXT: - Value: 0x0000000000000001 +# DWARF32-NEXT: - Value: 0x0000000000000003 +# DWARF32-NEXT: - Value: 0x0000000000000067 +# DWARF32-NEXT: - AbbrCode: 0x00000000 +# DWARF32-NEXT: Values: +# DWARF32-NEXT: - AbbrCode: 0x00000004 +# DWARF32-NEXT: Values: +# DWARF32-NEXT: - Value: 0x0000000000000085 +# DWARF32-NEXT: - Value: 0x0000000000000005 +# DWARF32-NEXT: - Value: 0x0000000000000004 +# DWARF32-NEXT: - AbbrCode: 0x00000005 +# DWARF32-NEXT: Values: +# DWARF32-NEXT: - Value: 0x000000000000006C +# DWARF32-NEXT: - AbbrCode: 0x00000005 +# DWARF32-NEXT: Values: +# DWARF32-NEXT: - Value: 0x0000000000000071 +# DWARF32-NEXT: - AbbrCode: 0x00000004 +# DWARF32-NEXT: Values: +# DWARF32-NEXT: - Value: 0x0000000000000089 +# DWARF32-NEXT: - Value: 0x0000000000000006 +# DWARF32-NEXT: - Value: 0x0000000000000001 +# DWARF32-NEXT: - AbbrCode: 0x00000000 +# DWARF32-NEXT: Values: + +## b) Test that yaml2obj emits a correct unit header and obj2yaml is able to convert it back. + +## Test DWARF32 unit header. + +# RUN: yaml2obj --docnum=2 -DFORMAT=DWARF32 %s -o %t2.dwarf32.o +# RUN: llvm-readobj --hex-dump=__debug_info %t2.dwarf32.o | \ +# RUN: FileCheck %s --check-prefix=DWARF32-HEADER + +# DWARF32-HEADER: Hex dump of section '__debug_info': +# DWARF32-HEADER-NEXT: 0x00000000 0c000000 04000000 00000801 34120000 ............4... +## ^------- unit_length (4-byte) +## ^--- version (2-byte) +## ^-------- debug_abbrev_offset (4-byte) +## ^- address_size (1-byte) +## ^- abbrev code (ULEB128) +## ^------- value, Form: DW_FORM_addr (4-byte) + +# RUN: obj2yaml %t2.dwarf32.o | FileCheck %s --check-prefix=DWARF32-YAML + +# DWARF32-YAML: debug_info: +# DWARF32-YAML-NEXT: - Length: 12 +# DWARF32-YAML-NEXT: Version: 4 +# DWARF32-YAML-NEXT: AbbrOffset: 0 +# DWARF32-YAML-NEXT: AddrSize: 8 +# DWARF32-YAML-NEXT: Entries: +# DWARF32-YAML-NEXT: - AbbrCode: 0x00000001 +# DWARF32-YAML-NEXT: Values: +# DWARF32-YAML-NEXT: - Value: 0x0000000000001234 + +--- !mach-o +FileHeader: + magic: 0xFEEDFACF + cputype: 0x01000007 + cpusubtype: 0x00000003 + filetype: 0x0000000A + ncmds: 1 + sizeofcmds: 232 + flags: 0x00000000 + reserved: 0x00000000 +LoadCommands: + - cmd: LC_SEGMENT_64 + cmdsize: 232 + segname: __DWARF + vmaddr: 0x00 + vmsize: 0x00 + fileoff: 0x00 + filesize: 0x00 + maxprot: 0 + initprot: 0 + nsects: 2 + flags: 0 + Sections: + - sectname: __debug_abbrev + segname: __DWARF + addr: 0x00 + size: 12 + offset: 528 + align: 0 + reloff: 0x00000000 + nreloc: 0 + flags: 0x00000000 + reserved1: 0x00000000 + reserved2: 0x00000000 + reserved3: 0x00000000 + - sectname: __debug_info + segname: __DWARF + addr: 0x00 + size: 0xffff + offset: 1070 + align: 0 + reloff: 0x00000000 + nreloc: 0 + flags: 0x00000000 + reserved1: 0x00000000 + reserved2: 0x00000000 + reserved3: 0x00000000 +DWARF: + debug_abbrev: + - Code: 1 + Tag: DW_TAG_compile_unit + Children: DW_CHILDREN_no + Attributes: + - Attribute: DW_AT_low_pc + Form: DW_FORM_addr + debug_info: + - Format: [[FORMAT]] + Length: 12 + Version: 4 + AbbrOffset: 0 + AddrSize: 8 + Entries: + - AbbrCode: 1 + Values: + - Value: 0x1234 + +## Test DWARF64 unit header. + +# RUN: yaml2obj --docnum=2 -DFORMAT=DWARF64 %s -o %t2.dwarf64.o +# RUN: llvm-readobj --hex-dump=__debug_info %t2.dwarf64.o | \ +# RUN: FileCheck %s --check-prefix=DWARF64-HEADER + +# DWARF64-HEADER: Hex dump of section '__debug_info': +# DWARF64-HEADER-NEXT: 0x00000000 ffffffff 0c000000 00000000 04000000 ................ +## ^------------------------- unit_length (12-byte) +## ^--- version (2-byte) +## ^--- debug_abbrev_offset (8-byte) +# DWARF64-HEADER-NEXT: 0x00000010 00000000 00000801 34120000 00000000 ........4....... +## ------------- +## ^- address_size (1-byte) +## ^- abbrev code (ULEB128) +## ^---------------- value, Form: DW_FORM_addr (8-byte) + +# RUN: obj2yaml %t2.dwarf64.o | FileCheck %s --check-prefix=DWARF64-YAML -#CHECK: DWARF: -#CHECK: debug_info: -#CHECK: - Length: -#CHECK: TotalLength: 117 -#CHECK: Version: 4 -#CHECK: AbbrOffset: 0 -#CHECK: AddrSize: 8 -#CHECK: Entries: -#CHECK: - AbbrCode: 0x00000001 -#CHECK: Values: -#CHECK: - Value: 0x0000000000000001 -#CHECK: - Value: 0x000000000000000C -#CHECK: - Value: 0x0000000000000038 -#CHECK: - Value: 0x0000000000000000 -#CHECK: - Value: 0x0000000000000046 -#CHECK: - Value: 0x0000000100000F50 -#CHECK: - Value: 0x0000000000000034 -#CHECK: - AbbrCode: 0x00000002 -#CHECK: Values: -#CHECK: - Value: 0x0000000100000F50 -#CHECK: - Value: 0x0000000000000034 -#CHECK: - Value: 0x0000000000000001 -#CHECK: BlockData: [ 0x56 ] -#CHECK: - Value: 0x0000000000000076 -#CHECK: - Value: 0x0000000000000001 -#CHECK: - Value: 0x0000000000000003 -#CHECK: - Value: 0x0000000000000001 -#CHECK: - Value: 0x0000000000000060 -#CHECK: - Value: 0x0000000000000001 -#CHECK: - AbbrCode: 0x00000003 -#CHECK: Values: -#CHECK: - Value: 0x0000000000000002 -#CHECK: BlockData: [ 0x91, 0x78 ] -#CHECK: - Value: 0x000000000000007B -#CHECK: - Value: 0x0000000000000001 -#CHECK: - Value: 0x0000000000000003 -#CHECK: - Value: 0x0000000000000060 -#CHECK: - AbbrCode: 0x00000003 -#CHECK: Values: -#CHECK: - Value: 0x0000000000000002 -#CHECK: BlockData: [ 0x91, 0x70 ] -#CHECK: - Value: 0x0000000000000080 -#CHECK: - Value: 0x0000000000000001 -#CHECK: - Value: 0x0000000000000003 -#CHECK: - Value: 0x0000000000000067 -#CHECK: - AbbrCode: 0x00000000 -#CHECK: Values: -#CHECK: - AbbrCode: 0x00000004 -#CHECK: Values: -#CHECK: - Value: 0x0000000000000085 -#CHECK: - Value: 0x0000000000000005 -#CHECK: - Value: 0x0000000000000004 -#CHECK: - AbbrCode: 0x00000005 -#CHECK: Values: -#CHECK: - Value: 0x000000000000006C -#CHECK: - AbbrCode: 0x00000005 -#CHECK: Values: -#CHECK: - Value: 0x0000000000000071 -#CHECK: - AbbrCode: 0x00000004 -#CHECK: Values: -#CHECK: - Value: 0x0000000000000089 -#CHECK: - Value: 0x0000000000000006 -#CHECK: - Value: 0x0000000000000001 -#CHECK: - AbbrCode: 0x00000000 -#CHECK: Values: +# DWARF64-YAML: debug_info: +# DWARF64-YAML-NEXT: - Format: DWARF64 +# DWARF64-YAML-NEXT: Length: 12 +# DWARF64-YAML-NEXT: Version: 4 +# DWARF64-YAML-NEXT: AbbrOffset: 0 +# DWARF64-YAML-NEXT: AddrSize: 8 +# DWARF64-YAML-NEXT: Entries: +# DWARF64-YAML-NEXT: - AbbrCode: 0x00000001 +# DWARF64-YAML-NEXT: Values: +# DWARF64-YAML-NEXT: - Value: 0x0000000000001234 diff --git a/llvm/test/ObjectYAML/MachO/DWARF-debug_line.yaml b/llvm/test/ObjectYAML/MachO/DWARF-debug_line.yaml index d24fe7c..6575e95 100644 --- a/llvm/test/ObjectYAML/MachO/DWARF-debug_line.yaml +++ b/llvm/test/ObjectYAML/MachO/DWARF-debug_line.yaml @@ -423,8 +423,7 @@ DWARF: - DieOffset: 0x00000071 Name: char debug_info: - - Length: - TotalLength: 117 + - Length: 117 Version: 4 AbbrOffset: 0 AddrSize: 8 diff --git a/llvm/test/ObjectYAML/MachO/DWARF-debug_ranges.yaml b/llvm/test/ObjectYAML/MachO/DWARF-debug_ranges.yaml index fe972a0..df1ee73 100644 --- a/llvm/test/ObjectYAML/MachO/DWARF-debug_ranges.yaml +++ b/llvm/test/ObjectYAML/MachO/DWARF-debug_ranges.yaml @@ -213,8 +213,7 @@ DWARF: - LowOffset: 0x0000000000000000 HighOffset: 0x0000000000001000 debug_info: - - Length: - TotalLength: 82 + - Length: 82 Version: 4 AbbrOffset: 0 AddrSize: 8 diff --git a/llvm/test/ObjectYAML/MachO/DWARF2-AddrSize8-FormValues.yaml b/llvm/test/ObjectYAML/MachO/DWARF2-AddrSize8-FormValues.yaml index 8e30d49..73a1092 100644 --- a/llvm/test/ObjectYAML/MachO/DWARF2-AddrSize8-FormValues.yaml +++ b/llvm/test/ObjectYAML/MachO/DWARF2-AddrSize8-FormValues.yaml @@ -334,8 +334,7 @@ DWARF: - Attribute: 0x201A Form: DW_FORM_addr debug_info: - - Length: - TotalLength: 168 + - Length: 168 Version: 2 AbbrOffset: 0 AddrSize: 8 @@ -416,8 +415,7 @@ DWARF: ... #CHECK: debug_info: -#CHECK: - Length: -#CHECK: TotalLength: 168 +#CHECK: - Length: 168 #CHECK: Version: 2 #CHECK: AbbrOffset: 0 #CHECK: AddrSize: 8 diff --git a/llvm/test/ObjectYAML/MachO/DWARF5-debug_info.yaml b/llvm/test/ObjectYAML/MachO/DWARF5-debug_info.yaml index 9e8865f..50dfb0c 100644 --- a/llvm/test/ObjectYAML/MachO/DWARF5-debug_info.yaml +++ b/llvm/test/ObjectYAML/MachO/DWARF5-debug_info.yaml @@ -1,4 +1,10 @@ -# RUN: yaml2obj %s | obj2yaml | FileCheck %s +## This file contains test cases for generating a DWARFv5 .debug_info +## section in object files from the DWARF entry of Mach-O YAML inputs. + +## a) Test that yaml2obj emits a DWARF32 .debug_info sections and obj2yaml +## converts it back. + +# RUN: yaml2obj --docnum=1 %s | obj2yaml | FileCheck %s --check-prefix=DWARF32 --- !mach-o FileHeader: @@ -384,8 +390,7 @@ DWARF: - Address: 0x0000000100000F50 Length: 52 debug_info: - - Length: - TotalLength: 118 + - Length: 118 Version: 5 UnitType: DW_UT_compile AbbrOffset: 0 @@ -506,70 +511,201 @@ DWARF: Data: 11 ... +# DWARF32: DWARF: +# DWARF32: debug_info: +# DWARF32-NEXT: - Length: 118 +# DWARF32-NEXT: Version: 5 +# DWARF32-NEXT: UnitType: DW_UT_compile +# DWARF32-NEXT: AbbrOffset: 0 +# DWARF32-NEXT: AddrSize: 8 +# DWARF32-NEXT: Entries: +# DWARF32-NEXT: - AbbrCode: 0x00000001 +# DWARF32-NEXT: Values: +# DWARF32-NEXT: - Value: 0x0000000000000001 +# DWARF32-NEXT: - Value: 0x000000000000000C +# DWARF32-NEXT: - Value: 0x0000000000000038 +# DWARF32-NEXT: - Value: 0x0000000000000000 +# DWARF32-NEXT: - Value: 0x0000000000000046 +# DWARF32-NEXT: - Value: 0x0000000100000F50 +# DWARF32-NEXT: - Value: 0x0000000000000034 +# DWARF32-NEXT: - AbbrCode: 0x00000002 +# DWARF32-NEXT: Values: +# DWARF32-NEXT: - Value: 0x0000000100000F50 +# DWARF32-NEXT: - Value: 0x0000000000000034 +# DWARF32-NEXT: - Value: 0x0000000000000001 +# DWARF32-NEXT: BlockData: [ 0x56 ] +# DWARF32-NEXT: - Value: 0x0000000000000076 +# DWARF32-NEXT: - Value: 0x0000000000000001 +# DWARF32-NEXT: - Value: 0x0000000000000003 +# DWARF32-NEXT: - Value: 0x0000000000000001 +# DWARF32-NEXT: - Value: 0x0000000000000060 +# DWARF32-NEXT: - Value: 0x0000000000000001 +# DWARF32-NEXT: - AbbrCode: 0x00000003 +# DWARF32-NEXT: Values: +# DWARF32-NEXT: - Value: 0x0000000000000002 +# DWARF32-NEXT: BlockData: [ 0x91, 0x78 ] +# DWARF32-NEXT: - Value: 0x000000000000007B +# DWARF32-NEXT: - Value: 0x0000000000000001 +# DWARF32-NEXT: - Value: 0x0000000000000003 +# DWARF32-NEXT: - Value: 0x0000000000000060 +# DWARF32-NEXT: - AbbrCode: 0x00000003 +# DWARF32-NEXT: Values: +# DWARF32-NEXT: - Value: 0x0000000000000002 +# DWARF32-NEXT: BlockData: [ 0x91, 0x70 ] +# DWARF32-NEXT: - Value: 0x0000000000000080 +# DWARF32-NEXT: - Value: 0x0000000000000001 +# DWARF32-NEXT: - Value: 0x0000000000000003 +# DWARF32-NEXT: - Value: 0x0000000000000067 +# DWARF32-NEXT: - AbbrCode: 0x00000000 +# DWARF32-NEXT: Values: +# DWARF32-NEXT: - AbbrCode: 0x00000004 +# DWARF32-NEXT: Values: +# DWARF32-NEXT: - Value: 0x0000000000000085 +# DWARF32-NEXT: - Value: 0x0000000000000005 +# DWARF32-NEXT: - Value: 0x0000000000000004 +# DWARF32-NEXT: - AbbrCode: 0x00000005 +# DWARF32-NEXT: Values: +# DWARF32-NEXT: - Value: 0x000000000000006C +# DWARF32-NEXT: - AbbrCode: 0x00000005 +# DWARF32-NEXT: Values: +# DWARF32-NEXT: - Value: 0x0000000000000071 +# DWARF32-NEXT: - AbbrCode: 0x00000004 +# DWARF32-NEXT: Values: +# DWARF32-NEXT: - Value: 0x0000000000000089 +# DWARF32-NEXT: - Value: 0x0000000000000006 +# DWARF32-NEXT: - Value: 0x0000000000000001 +# DWARF32-NEXT: - AbbrCode: 0x00000000 +# DWARF32-NEXT: Values: + +## b) Test that yaml2obj emits a correct unit header and obj2yaml is able to convert it back. + +## Test DWARF32 unit header. + +# RUN: yaml2obj --docnum=2 -DFORMAT=DWARF32 -DLENGTH=12 %s -o %t2.dwarf32.o +# RUN: llvm-readobj --hex-dump=__debug_info %t2.dwarf32.o | \ +# RUN: FileCheck %s --check-prefix=DWARF32-HEADER + +# DWARF32-HEADER: Hex dump of section '__debug_info': +# DWARF32-HEADER-NEXT: 0x00000000 0c000000 05000108 00000000 01341200 .............4.. +## ^------- unit_header (4-byte) +## ^--- version (2-byte) +## ^- unit_type (1-byte) +## ^- address_size (1-byte) +## ^------- deubug_abbrev_offset (4-byte) +## ^- abbrev code (ULEB128) +## ^----- value, Form: DW_AT_addr (8-byte) +# DWARF32-HEADER-NEXT: 0x00000010 00000000 00 ..... +## ----------- + +# RUN: obj2yaml %t2.dwarf32.o | FileCheck %s --check-prefix=DWARF32-YAML + +# DWARF32-YAML: debug_info: +# DWARF32-YAML-NEXT: - Length: 12 +# DWARF32-YAML-NEXT: Version: 5 +# DWARF32-YAML-NEXT: UnitType: DW_UT_compile +# DWARF32-YAML-NEXT: AbbrOffset: 0x0000000000000000 +# DWARF32-YAML-NEXT: AddrSize: 8 +# DWARF32-YAML-NEXT: Entries: +# DWARF32-YAML-NEXT: - AbbrCode: 0x00000001 +# DWARF32-YAML-NEXT: Values: +# DWARF32-YAML-NEXT: - Value: 0x0000000000001234 + +--- !mach-o +FileHeader: + magic: 0xFEEDFACF + cputype: 0x01000007 + cpusubtype: 0x00000003 + filetype: 0x0000000A + ncmds: 1 + sizeofcmds: 232 + flags: 0x00000000 + reserved: 0x00000000 +LoadCommands: + - cmd: LC_SEGMENT_64 + cmdsize: 232 + segname: __DWARF + vmaddr: 0x00 + vmsize: 0x00 + fileoff: 0x00 + filesize: 0x00 + maxprot: 0 + initprot: 0 + nsects: 2 + flags: 0 + Sections: + - sectname: __debug_abbrev + segname: __DWARF + addr: 0x00 + size: 12 + offset: 528 + align: 0 + reloff: 0x00000000 + nreloc: 0 + flags: 0x00000000 + reserved1: 0x00000000 + reserved2: 0x00000000 + reserved3: 0x00000000 + - sectname: __debug_info + segname: __DWARF + addr: 0x00 + size: 0xffff + offset: 1070 + align: 0 + reloff: 0x00000000 + nreloc: 0 + flags: 0x00000000 + reserved1: 0x00000000 + reserved2: 0x00000000 + reserved3: 0x00000000 +DWARF: + debug_abbrev: + - Code: 1 + Tag: DW_TAG_compile_unit + Children: DW_CHILDREN_no + Attributes: + - Attribute: DW_AT_low_pc + Form: DW_FORM_addr + debug_info: + - Format: [[FORMAT]] + Length: [[LENGTH]] + Version: 5 + UnitType: DW_UT_compile + AbbrOffset: 0 + AddrSize: 8 + Entries: + - AbbrCode: 1 + Values: + - Value: 0x1234 + +## Test DWARF64 unit header. + +# RUN: yaml2obj --docnum=2 -DFORMAT=DWARF64 -DLENGTH=20 %s -o %t2.dwarf64.o +# RUN: llvm-readobj --hex-dump=__debug_info %t2.dwarf64.o | \ +# RUN: FileCheck %s --check-prefix=DWARF64-HEADER + +# DWARF64-HEADER: Hex dump of section '__debug_info': +# DWARF64-HEADER-NEXT: 0x00000000 ffffffff 14000000 00000000 05000108 ................ +## ^------------------------- unit_length (12-byte) +## ^--- version (2-byte) +## ^- unit_type (1-byte) +## ^- address_size (1-byte) +# DWARF64-HEADER-NEXT: 0x00000010 00000000 00000000 01341200 00000000 .........4...... +## ^---------------- debug_abbrev_offset (8-byte) +## ^- abbrev code (ULEB128) +## ^-------------- value, Form: DW_AT_addr (8-byte) +# DWARF64-HEADER-NEXT: 0x00000020 00 . +## -- + +# RUN: obj2yaml %t2.dwarf64.o | FileCheck %s --check-prefix=DWARF64-YAML -#CHECK: DWARF: -#CHECK: debug_info: -#CHECK: - Length: -#CHECK: TotalLength: 118 -#CHECK: Version: 5 -#CHECK: UnitType: DW_UT_compile -#CHECK: AbbrOffset: 0 -#CHECK: AddrSize: 8 -#CHECK: Entries: -#CHECK: - AbbrCode: 0x00000001 -#CHECK: Values: -#CHECK: - Value: 0x0000000000000001 -#CHECK: - Value: 0x000000000000000C -#CHECK: - Value: 0x0000000000000038 -#CHECK: - Value: 0x0000000000000000 -#CHECK: - Value: 0x0000000000000046 -#CHECK: - Value: 0x0000000100000F50 -#CHECK: - Value: 0x0000000000000034 -#CHECK: - AbbrCode: 0x00000002 -#CHECK: Values: -#CHECK: - Value: 0x0000000100000F50 -#CHECK: - Value: 0x0000000000000034 -#CHECK: - Value: 0x0000000000000001 -#CHECK: BlockData: [ 0x56 ] -#CHECK: - Value: 0x0000000000000076 -#CHECK: - Value: 0x0000000000000001 -#CHECK: - Value: 0x0000000000000003 -#CHECK: - Value: 0x0000000000000001 -#CHECK: - Value: 0x0000000000000060 -#CHECK: - Value: 0x0000000000000001 -#CHECK: - AbbrCode: 0x00000003 -#CHECK: Values: -#CHECK: - Value: 0x0000000000000002 -#CHECK: BlockData: [ 0x91, 0x78 ] -#CHECK: - Value: 0x000000000000007B -#CHECK: - Value: 0x0000000000000001 -#CHECK: - Value: 0x0000000000000003 -#CHECK: - Value: 0x0000000000000060 -#CHECK: - AbbrCode: 0x00000003 -#CHECK: Values: -#CHECK: - Value: 0x0000000000000002 -#CHECK: BlockData: [ 0x91, 0x70 ] -#CHECK: - Value: 0x0000000000000080 -#CHECK: - Value: 0x0000000000000001 -#CHECK: - Value: 0x0000000000000003 -#CHECK: - Value: 0x0000000000000067 -#CHECK: - AbbrCode: 0x00000000 -#CHECK: Values: -#CHECK: - AbbrCode: 0x00000004 -#CHECK: Values: -#CHECK: - Value: 0x0000000000000085 -#CHECK: - Value: 0x0000000000000005 -#CHECK: - Value: 0x0000000000000004 -#CHECK: - AbbrCode: 0x00000005 -#CHECK: Values: -#CHECK: - Value: 0x000000000000006C -#CHECK: - AbbrCode: 0x00000005 -#CHECK: Values: -#CHECK: - Value: 0x0000000000000071 -#CHECK: - AbbrCode: 0x00000004 -#CHECK: Values: -#CHECK: - Value: 0x0000000000000089 -#CHECK: - Value: 0x0000000000000006 -#CHECK: - Value: 0x0000000000000001 -#CHECK: - AbbrCode: 0x00000000 -#CHECK: Values: +# DWARF64-YAML: debug_info: +# DWARF64-YAML-NEXT: - Format: DWARF64 +# DWARF64-YAML-NEXT: Length: 20 +# DWARF64-YAML-NEXT: Version: 5 +# DWARF64-YAML-NEXT: UnitType: DW_UT_compile +# DWARF64-YAML-NEXT: AbbrOffset: 0x0000000000000000 +# DWARF64-YAML-NEXT: AddrSize: 8 +# DWARF64-YAML-NEXT: Entries: +# DWARF64-YAML-NEXT: - AbbrCode: 0x00000001 +# DWARF64-YAML-NEXT: Values: +# DWARF64-YAML-NEXT: - Value: 0x0000000000001234 diff --git a/llvm/test/tools/llvm-dwarfdump/X86/verify_overlapping_cu_ranges.yaml b/llvm/test/tools/llvm-dwarfdump/X86/verify_overlapping_cu_ranges.yaml index 37cc139..fa6b2fb 100644 --- a/llvm/test/tools/llvm-dwarfdump/X86/verify_overlapping_cu_ranges.yaml +++ b/llvm/test/tools/llvm-dwarfdump/X86/verify_overlapping_cu_ranges.yaml @@ -223,8 +223,7 @@ DWARF: - LowOffset: 0x0000000000001000 HighOffset: 0x0000000000002000 debug_info: - - Length: - TotalLength: 99 + - Length: 99 Version: 4 AbbrOffset: 0 AddrSize: 8 diff --git a/llvm/test/tools/llvm-gsymutil/ARM_AArch64/fat-macho-dwarf.yaml b/llvm/test/tools/llvm-gsymutil/ARM_AArch64/fat-macho-dwarf.yaml index 3693075..aef0624 100644 --- a/llvm/test/tools/llvm-gsymutil/ARM_AArch64/fat-macho-dwarf.yaml +++ b/llvm/test/tools/llvm-gsymutil/ARM_AArch64/fat-macho-dwarf.yaml @@ -407,8 +407,7 @@ Slices: - DieOffset: 0x0000006F Name: char debug_info: - - Length: - TotalLength: 115 + - Length: 115 Version: 4 AbbrOffset: 0 AddrSize: 4 @@ -886,8 +885,7 @@ Slices: - DieOffset: 0x00000076 Name: char debug_info: - - Length: - TotalLength: 122 + - Length: 122 Version: 4 AbbrOffset: 0 AddrSize: 8 diff --git a/llvm/test/tools/llvm-gsymutil/X86/mach-dwarf.yaml b/llvm/test/tools/llvm-gsymutil/X86/mach-dwarf.yaml index d68d330..1368257 100644 --- a/llvm/test/tools/llvm-gsymutil/X86/mach-dwarf.yaml +++ b/llvm/test/tools/llvm-gsymutil/X86/mach-dwarf.yaml @@ -574,8 +574,7 @@ DWARF: - DieOffset: 0x000000D8 Name: char debug_info: - - Length: - TotalLength: 220 + - Length: 220 Version: 4 AbbrOffset: 0 AddrSize: 8 diff --git a/llvm/test/tools/llvm-objcopy/MachO/Inputs/strip-all-with-dwarf.yaml b/llvm/test/tools/llvm-objcopy/MachO/Inputs/strip-all-with-dwarf.yaml index 88d9b67..c8b5875 100644 --- a/llvm/test/tools/llvm-objcopy/MachO/Inputs/strip-all-with-dwarf.yaml +++ b/llvm/test/tools/llvm-objcopy/MachO/Inputs/strip-all-with-dwarf.yaml @@ -391,8 +391,7 @@ DWARF: - Attribute: DW_AT_external Form: DW_FORM_flag_present debug_info: - - Length: - TotalLength: 113 + - Length: 113 Version: 4 AbbrOffset: 0 AddrSize: 8 diff --git a/llvm/test/tools/yaml2obj/ELF/DWARF/debug-info.yaml b/llvm/test/tools/yaml2obj/ELF/DWARF/debug-info.yaml index f69d664..00fd224 100644 --- a/llvm/test/tools/yaml2obj/ELF/DWARF/debug-info.yaml +++ b/llvm/test/tools/yaml2obj/ELF/DWARF/debug-info.yaml @@ -200,8 +200,7 @@ DWARF: - Attribute: 0x01 Form: DW_FORM_addrx4 ## 0x2c debug_info: - - Length: - TotalLength: 0x1234 + - Length: 0x1234 Version: 5 UnitType: DW_UT_type AbbrOffset: 0x1234 @@ -262,8 +261,7 @@ DWARF: - Value: 0x1234 ## DW_FORM_addrx2 - Value: 0x123456 ## DW_FORM_addrx3 (unimplemented) - Value: 0x12345678 ## DW_FORM_addrx4 - - Length: - TotalLength: 0x1234 + - Length: 0x1234 Version: 5 ## Test another unit type. UnitType: DW_UT_compile @@ -272,8 +270,7 @@ DWARF: Entries: - AbbrCode: 0 Values: [] - - Length: - TotalLength: 0x5678 + - Length: 0x5678 ## Test DWARFv4 Version: 4 AbbrOffset: 0x5678 @@ -440,8 +437,7 @@ DWARF: Children: DW_CHILDREN_no Attributes: [] debug_info: - - Length: - TotalLength: 0x1234 + - Length: 0x1234 Version: 5 UnitType: DW_UT_type AbbrOffset: 0x1234 @@ -470,8 +466,7 @@ DWARF: Children: DW_CHILDREN_no Attributes: [] debug_info: - - Length: - TotalLength: 0x1234 + - Length: 0x1234 Version: 5 UnitType: DW_UT_type AbbrOffset: 0x1234 @@ -539,8 +534,7 @@ DWARF: Children: DW_CHILDREN_no Attributes: [] debug_info: - - Length: - TotalLength: 0x1234 + - Length: 0x1234 Version: 5 UnitType: DW_UT_type AbbrOffset: 0x1234 @@ -568,8 +562,7 @@ FileHeader: Machine: EM_X86_64 DWARF: debug_info: - - Length: - TotalLength: 0x1234 + - Length: 0x1234 Version: 5 UnitType: DW_UT_type AbbrOffset: 0x1234 @@ -620,8 +613,7 @@ DWARF: - Attribute: DW_AT_high_pc Form: DW_FORM_data4 debug_info: - - Length: - TotalLength: 0x1234 + - Length: 0x1234 Version: 5 UnitType: DW_UT_type AbbrOffset: 0x1234 @@ -659,8 +651,7 @@ FileHeader: Machine: EM_X86_64 DWARF: debug_info: - - Length: - TotalLength: 0x1234 + - Length: 0x1234 Version: 5 UnitType: DW_UT_type AbbrOffset: 0x1234 @@ -695,9 +686,8 @@ FileHeader: Machine: EM_X86_64 DWARF: debug_info: - - Length: - TotalLength: 0xffffffff - TotalLength64: 0x0c + - Format: DWARF64 + Length: 0x0c Version: 5 UnitType: DW_UT_type AbbrOffset: 0x1234 @@ -727,9 +717,8 @@ FileHeader: Machine: EM_X86_64 DWARF: debug_info: - - Length: - TotalLength: 0xffffffff - TotalLength64: 0x0c + - Format: DWARF64 + Length: 0x0c Version: 4 AbbrOffset: 0x1234 AddrSize: 8 diff --git a/llvm/tools/obj2yaml/dwarf2yaml.cpp b/llvm/tools/obj2yaml/dwarf2yaml.cpp index 88f53c1..e79787e 100644 --- a/llvm/tools/obj2yaml/dwarf2yaml.cpp +++ b/llvm/tools/obj2yaml/dwarf2yaml.cpp @@ -165,7 +165,8 @@ void dumpDebugPubSections(DWARFContext &DCtx, DWARFYAML::Data &Y) { void dumpDebugInfo(DWARFContext &DCtx, DWARFYAML::Data &Y) { for (const auto &CU : DCtx.compile_units()) { DWARFYAML::Unit NewUnit; - NewUnit.Length.setLength(CU->getLength()); + NewUnit.Format = CU->getFormat(); + NewUnit.Length = CU->getLength(); NewUnit.Version = CU->getVersion(); if(NewUnit.Version >= 5) NewUnit.Type = (dwarf::UnitType)CU->getUnitType(); diff --git a/llvm/unittests/DebugInfo/DWARF/DWARFDebugInfoTest.cpp b/llvm/unittests/DebugInfo/DWARF/DWARFDebugInfoTest.cpp index d481299..6825981 100644 --- a/llvm/unittests/DebugInfo/DWARF/DWARFDebugInfoTest.cpp +++ b/llvm/unittests/DebugInfo/DWARF/DWARFDebugInfoTest.cpp @@ -1368,8 +1368,7 @@ TEST(DWARFDebugInfo, TestEmptyChildren) { " Children: DW_CHILDREN_yes\n" " Attributes:\n" "debug_info:\n" - " - Length:\n" - " TotalLength: 0\n" + " - Length: 0\n" " Version: 4\n" " AbbrOffset: 0\n" " AddrSize: 8\n" @@ -1902,8 +1901,7 @@ TEST(DWARFDebugInfo, TestDwarfVerifyInvalidCURef) { - Attribute: DW_AT_type Form: DW_FORM_ref4 debug_info: - - Length: - TotalLength: 22 + - Length: 22 Version: 4 AbbrOffset: 0 AddrSize: 8 @@ -1951,8 +1949,7 @@ TEST(DWARFDebugInfo, TestDwarfVerifyInvalidRefAddr) { - Attribute: DW_AT_type Form: DW_FORM_ref_addr debug_info: - - Length: - TotalLength: 22 + - Length: 22 Version: 4 AbbrOffset: 0 AddrSize: 8 @@ -1992,8 +1989,7 @@ TEST(DWARFDebugInfo, TestDwarfVerifyInvalidRanges) { - Attribute: DW_AT_ranges Form: DW_FORM_sec_offset debug_info: - - Length: - TotalLength: 16 + - Length: 16 Version: 4 AbbrOffset: 0 AddrSize: 8 @@ -2030,8 +2026,7 @@ TEST(DWARFDebugInfo, TestDwarfVerifyInvalidRnglists) { - Attribute: DW_AT_ranges Form: DW_FORM_sec_offset debug_info: - - Length: - TotalLength: 17 + - Length: 17 Version: 5 UnitType: DW_UT_compile AbbrOffset: 0 @@ -2068,8 +2063,7 @@ TEST(DWARFDebugInfo, TestDwarfVerifyInvalidStmtList) { - Attribute: DW_AT_stmt_list Form: DW_FORM_sec_offset debug_info: - - Length: - TotalLength: 16 + - Length: 16 Version: 4 AbbrOffset: 0 AddrSize: 8 @@ -2103,8 +2097,7 @@ TEST(DWARFDebugInfo, TestDwarfVerifyInvalidStrp) { - Attribute: DW_AT_name Form: DW_FORM_strp debug_info: - - Length: - TotalLength: 12 + - Length: 12 Version: 4 AbbrOffset: 0 AddrSize: 8 @@ -2145,8 +2138,7 @@ TEST(DWARFDebugInfo, TestDwarfVerifyInvalidRefAddrBetween) { - Attribute: DW_AT_type Form: DW_FORM_ref_addr debug_info: - - Length: - TotalLength: 22 + - Length: 22 Version: 4 AbbrOffset: 0 AddrSize: 8 @@ -2187,8 +2179,7 @@ TEST(DWARFDebugInfo, TestDwarfVerifyInvalidLineSequence) { - Attribute: DW_AT_stmt_list Form: DW_FORM_sec_offset debug_info: - - Length: - TotalLength: 16 + - Length: 16 Version: 4 AbbrOffset: 0 AddrSize: 8 @@ -2256,8 +2247,7 @@ TEST(DWARFDebugInfo, TestDwarfVerifyInvalidLineFileIndex) { - Attribute: DW_AT_stmt_list Form: DW_FORM_sec_offset debug_info: - - Length: - TotalLength: 16 + - Length: 16 Version: 4 AbbrOffset: 0 AddrSize: 8 @@ -2327,8 +2317,7 @@ TEST(DWARFDebugInfo, TestDwarfVerifyInvalidLineTablePorlogueDirIndex) { - Attribute: DW_AT_stmt_list Form: DW_FORM_sec_offset debug_info: - - Length: - TotalLength: 16 + - Length: 16 Version: 4 AbbrOffset: 0 AddrSize: 8 @@ -2399,8 +2388,7 @@ TEST(DWARFDebugInfo, TestDwarfVerifyDuplicateFileWarning) { - Attribute: DW_AT_stmt_list Form: DW_FORM_sec_offset debug_info: - - Length: - TotalLength: 16 + - Length: 16 Version: 4 AbbrOffset: 0 AddrSize: 8 @@ -2476,8 +2464,7 @@ TEST(DWARFDebugInfo, TestDwarfVerifyCUDontShareLineTable) { - Attribute: DW_AT_stmt_list Form: DW_FORM_sec_offset debug_info: - - Length: - TotalLength: 16 + - Length: 16 Version: 4 AbbrOffset: 0 AddrSize: 8 @@ -2486,8 +2473,7 @@ TEST(DWARFDebugInfo, TestDwarfVerifyCUDontShareLineTable) { Values: - Value: 0x0000000000000001 - Value: 0x0000000000000000 - - Length: - TotalLength: 16 + - Length: 16 Version: 4 AbbrOffset: 0 AddrSize: 8 @@ -2603,8 +2589,7 @@ TEST(DWARFDebugInfo, TestDwarfVerifyCURangesIncomplete) { - Attribute: DW_AT_high_pc Form: DW_FORM_addr debug_info: - - Length: - TotalLength: 46 + - Length: 46 Version: 4 AbbrOffset: 0 AddrSize: 8 @@ -2663,8 +2648,7 @@ TEST(DWARFDebugInfo, TestDwarfVerifyLexicalBlockRanges) { - Attribute: DW_AT_high_pc Form: DW_FORM_addr debug_info: - - Length: - TotalLength: 52 + - Length: 52 Version: 4 AbbrOffset: 0 AddrSize: 8 @@ -2721,8 +2705,7 @@ TEST(DWARFDebugInfo, TestDwarfVerifyOverlappingFunctionRanges) { - Attribute: DW_AT_high_pc Form: DW_FORM_addr debug_info: - - Length: - TotalLength: 55 + - Length: 55 Version: 4 AbbrOffset: 0 AddrSize: 8 @@ -2788,8 +2771,7 @@ TEST(DWARFDebugInfo, TestDwarfVerifyOverlappingLexicalBlockRanges) { - Attribute: DW_AT_high_pc Form: DW_FORM_addr debug_info: - - Length: - TotalLength: 85 + - Length: 85 Version: 4 AbbrOffset: 0 AddrSize: 8 @@ -2850,8 +2832,7 @@ TEST(DWARFDebugInfo, TestDwarfVerifyInvalidDIERange) { - Attribute: DW_AT_high_pc Form: DW_FORM_addr debug_info: - - Length: - TotalLength: 34 + - Length: 34 Version: 4 AbbrOffset: 0 AddrSize: 8 @@ -2907,8 +2888,7 @@ TEST(DWARFDebugInfo, TestDwarfVerifyElidedDoesntFail) { - Attribute: DW_AT_high_pc Form: DW_FORM_addr debug_info: - - Length: - TotalLength: 71 + - Length: 71 Version: 4 AbbrOffset: 0 AddrSize: 8 @@ -2970,8 +2950,7 @@ TEST(DWARFDebugInfo, TestDwarfVerifyNestedFunctions) { - Attribute: DW_AT_high_pc Form: DW_FORM_addr debug_info: - - Length: - TotalLength: 73 + - Length: 73 Version: 4 AbbrOffset: 0 AddrSize: 8 diff --git a/llvm/unittests/DebugInfo/DWARF/DWARFDieTest.cpp b/llvm/unittests/DebugInfo/DWARF/DWARFDieTest.cpp index cd82c56..983f062 100644 --- a/llvm/unittests/DebugInfo/DWARF/DWARFDieTest.cpp +++ b/llvm/unittests/DebugInfo/DWARF/DWARFDieTest.cpp @@ -34,8 +34,7 @@ TEST(DWARFDie, getLocations) { - Attribute: DW_AT_call_data_location Form: DW_FORM_sec_offset debug_info: - - Length: - TotalLength: 0 + - Length: 0 Version: 5 UnitType: DW_UT_compile AbbrOffset: 0 diff --git a/llvm/unittests/DebugInfo/GSYM/GSYMTest.cpp b/llvm/unittests/DebugInfo/GSYM/GSYMTest.cpp index f55e90b..1e5d79c 100644 --- a/llvm/unittests/DebugInfo/GSYM/GSYMTest.cpp +++ b/llvm/unittests/DebugInfo/GSYM/GSYMTest.cpp @@ -1437,8 +1437,7 @@ TEST(GSYMTest, TestDWARFFunctionWithAddresses) { - Attribute: DW_AT_high_pc Form: DW_FORM_addr debug_info: - - Length: - TotalLength: 52 + - Length: 52 Version: 4 AbbrOffset: 0 AddrSize: 8 @@ -1517,8 +1516,7 @@ TEST(GSYMTest, TestDWARFFunctionWithAddressAndOffset) { - Attribute: DW_AT_high_pc Form: DW_FORM_data4 debug_info: - - Length: - TotalLength: 44 + - Length: 44 Version: 4 AbbrOffset: 0 AddrSize: 8 @@ -1617,8 +1615,7 @@ TEST(GSYMTest, TestDWARFStructMethodNoMangled) { - Attribute: DW_AT_artificial Form: DW_FORM_flag_present debug_info: - - Length: - TotalLength: 68 + - Length: 68 Version: 4 AbbrOffset: 0 AddrSize: 8 @@ -1722,8 +1719,7 @@ TEST(GSYMTest, TestDWARFTextRanges) { - Attribute: DW_AT_high_pc Form: DW_FORM_data4 debug_info: - - Length: - TotalLength: 78 + - Length: 78 Version: 4 AbbrOffset: 0 AddrSize: 8 @@ -1836,8 +1832,7 @@ TEST(GSYMTest, TestDWARFInlineInfo) { - Attribute: DW_AT_call_line Form: DW_FORM_data4 debug_info: - - Length: - TotalLength: 74 + - Length: 74 Version: 4 AbbrOffset: 0 AddrSize: 8 @@ -2092,8 +2087,7 @@ TEST(GSYMTest, TestDWARFNoLines) { - Attribute: DW_AT_decl_line Form: DW_FORM_data1 debug_info: - - Length: - TotalLength: 103 + - Length: 103 Version: 4 AbbrOffset: 0 AddrSize: 8 @@ -2342,8 +2336,7 @@ TEST(GSYMTest, TestDWARFDeadStripAddr4) { - Attribute: DW_AT_high_pc Form: DW_FORM_addr debug_info: - - Length: - TotalLength: 75 + - Length: 75 Version: 4 AbbrOffset: 0 AddrSize: 4 @@ -2485,8 +2478,7 @@ TEST(GSYMTest, TestDWARFDeadStripAddr8) { - Attribute: DW_AT_high_pc Form: DW_FORM_addr debug_info: - - Length: - TotalLength: 103 + - Length: 103 Version: 4 AbbrOffset: 0 AddrSize: 8