[Lldb-commits] [lldb] 290e399 - [DWARFYAML] Add support for emitting multiple abbrev tables.
Xing GUO via lldb-commits
lldb-commits at lists.llvm.org
Thu Aug 20 19:31:44 PDT 2020
Author: Xing GUO
Date: 2020-08-21T10:12:08+08:00
New Revision: 290e399f967390648ec7cf53c4b75a883a90b609
URL: https://github.com/llvm/llvm-project/commit/290e399f967390648ec7cf53c4b75a883a90b609
DIFF: https://github.com/llvm/llvm-project/commit/290e399f967390648ec7cf53c4b75a883a90b609.diff
LOG: [DWARFYAML] Add support for emitting multiple abbrev tables.
This patch adds support for emitting multiple abbrev tables. Currently,
compilation units will always reference the first abbrev table.
Reviewed By: jhenderson, labath
Differential Revision: https://reviews.llvm.org/D86194
Added:
Modified:
lldb/test/API/functionalities/source-map/a.yaml
lldb/unittests/Expression/DWARFExpressionTest.cpp
lldb/unittests/Symbol/Inputs/inlined-functions.yaml
lldb/unittests/SymbolFile/DWARF/DWARFASTParserClangTests.cpp
lldb/unittests/SymbolFile/DWARF/XcodeSDKModuleTests.cpp
llvm/include/llvm/ObjectYAML/DWARFYAML.h
llvm/lib/ObjectYAML/DWARFEmitter.cpp
llvm/lib/ObjectYAML/DWARFYAML.cpp
llvm/test/ObjectYAML/MachO/DWARF-BigEndian.yaml
llvm/test/ObjectYAML/MachO/DWARF-LittleEndian.yaml
llvm/test/ObjectYAML/MachO/DWARF-debug_abbrev.yaml
llvm/test/ObjectYAML/MachO/DWARF-debug_info.yaml
llvm/test/ObjectYAML/MachO/DWARF-debug_line.yaml
llvm/test/ObjectYAML/MachO/DWARF-debug_ranges.yaml
llvm/test/ObjectYAML/MachO/DWARF2-AddrSize8-FormValues.yaml
llvm/test/ObjectYAML/MachO/DWARF5-abbrevValues.yaml
llvm/test/ObjectYAML/MachO/DWARF5-debug_info.yaml
llvm/test/tools/llvm-dwarfdump/X86/verify_attr_file_indexes.yaml
llvm/test/tools/llvm-dwarfdump/X86/verify_attr_file_indexes_no_files.yaml
llvm/test/tools/llvm-dwarfdump/X86/verify_file_encoding.yaml
llvm/test/tools/llvm-dwarfdump/X86/verify_overlapping_cu_ranges.yaml
llvm/test/tools/llvm-gsymutil/ARM_AArch64/fat-macho-dwarf.yaml
llvm/test/tools/llvm-gsymutil/X86/mach-dwarf.yaml
llvm/test/tools/llvm-objcopy/MachO/Inputs/strip-all-with-dwarf.yaml
llvm/test/tools/yaml2obj/ELF/DWARF/debug-abbrev.yaml
llvm/test/tools/yaml2obj/ELF/DWARF/debug-info.yaml
llvm/tools/obj2yaml/dwarf2yaml.cpp
llvm/unittests/DebugInfo/DWARF/DWARFDebugInfoTest.cpp
llvm/unittests/DebugInfo/DWARF/DWARFDieTest.cpp
llvm/unittests/DebugInfo/GSYM/GSYMTest.cpp
Removed:
################################################################################
diff --git a/lldb/test/API/functionalities/source-map/a.yaml b/lldb/test/API/functionalities/source-map/a.yaml
index cf2fe7b75c4e..477f0bd7b9da 100644
--- a/lldb/test/API/functionalities/source-map/a.yaml
+++ b/lldb/test/API/functionalities/source-map/a.yaml
@@ -218,83 +218,84 @@ DWARF:
- argc
- argv
- char
- debug_abbrev:
- - Code: 0x00000001
- Tag: DW_TAG_compile_unit
- Children: DW_CHILDREN_yes
- Attributes:
- - Attribute: DW_AT_producer
- Form: DW_FORM_strp
- - Attribute: DW_AT_language
- Form: DW_FORM_data2
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Attribute: DW_AT_stmt_list
- Form: DW_FORM_sec_offset
- - Attribute: DW_AT_comp_dir
- Form: DW_FORM_strp
- - Attribute: DW_AT_low_pc
- Form: DW_FORM_addr
- - Attribute: DW_AT_high_pc
- Form: DW_FORM_data4
- - Code: 0x00000002
- Tag: DW_TAG_subprogram
- Children: DW_CHILDREN_yes
- Attributes:
- - Attribute: DW_AT_low_pc
- Form: DW_FORM_addr
- - Attribute: DW_AT_high_pc
- Form: DW_FORM_data4
- - Attribute: DW_AT_frame_base
- Form: DW_FORM_exprloc
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Attribute: DW_AT_decl_file
- Form: DW_FORM_data1
- - Attribute: DW_AT_decl_line
- Form: DW_FORM_data1
- - Attribute: DW_AT_prototyped
- Form: DW_FORM_flag_present
- - Attribute: DW_AT_type
- Form: DW_FORM_ref4
- - Attribute: DW_AT_external
- Form: DW_FORM_flag_present
- - Code: 0x00000003
- Tag: DW_TAG_formal_parameter
- Children: DW_CHILDREN_no
- Attributes:
- - Attribute: DW_AT_location
- Form: DW_FORM_exprloc
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Attribute: DW_AT_decl_file
- Form: DW_FORM_data1
- - Attribute: DW_AT_decl_line
- Form: DW_FORM_data1
- - Attribute: DW_AT_type
- Form: DW_FORM_ref4
- - Code: 0x00000004
- Tag: DW_TAG_base_type
- Children: DW_CHILDREN_no
- Attributes:
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Attribute: DW_AT_encoding
- Form: DW_FORM_data1
- - Attribute: DW_AT_byte_size
- Form: DW_FORM_data1
- - Code: 0x00000005
- Tag: DW_TAG_pointer_type
- Children: DW_CHILDREN_no
- Attributes:
- - Attribute: DW_AT_type
- Form: DW_FORM_ref4
- - Code: 0x00000006
- Tag: DW_TAG_const_type
- Children: DW_CHILDREN_no
- Attributes:
- - Attribute: DW_AT_type
- Form: DW_FORM_ref4
+ debug_abbrev:
+ - Table:
+ - Code: 0x00000001
+ Tag: DW_TAG_compile_unit
+ Children: DW_CHILDREN_yes
+ Attributes:
+ - Attribute: DW_AT_producer
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_language
+ Form: DW_FORM_data2
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_stmt_list
+ Form: DW_FORM_sec_offset
+ - Attribute: DW_AT_comp_dir
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_low_pc
+ Form: DW_FORM_addr
+ - Attribute: DW_AT_high_pc
+ Form: DW_FORM_data4
+ - Code: 0x00000002
+ Tag: DW_TAG_subprogram
+ Children: DW_CHILDREN_yes
+ Attributes:
+ - Attribute: DW_AT_low_pc
+ Form: DW_FORM_addr
+ - Attribute: DW_AT_high_pc
+ Form: DW_FORM_data4
+ - Attribute: DW_AT_frame_base
+ Form: DW_FORM_exprloc
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_decl_file
+ Form: DW_FORM_data1
+ - Attribute: DW_AT_decl_line
+ Form: DW_FORM_data1
+ - Attribute: DW_AT_prototyped
+ Form: DW_FORM_flag_present
+ - Attribute: DW_AT_type
+ Form: DW_FORM_ref4
+ - Attribute: DW_AT_external
+ Form: DW_FORM_flag_present
+ - Code: 0x00000003
+ Tag: DW_TAG_formal_parameter
+ Children: DW_CHILDREN_no
+ Attributes:
+ - Attribute: DW_AT_location
+ Form: DW_FORM_exprloc
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_decl_file
+ Form: DW_FORM_data1
+ - Attribute: DW_AT_decl_line
+ Form: DW_FORM_data1
+ - Attribute: DW_AT_type
+ Form: DW_FORM_ref4
+ - Code: 0x00000004
+ Tag: DW_TAG_base_type
+ Children: DW_CHILDREN_no
+ Attributes:
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_encoding
+ Form: DW_FORM_data1
+ - Attribute: DW_AT_byte_size
+ Form: DW_FORM_data1
+ - Code: 0x00000005
+ Tag: DW_TAG_pointer_type
+ Children: DW_CHILDREN_no
+ Attributes:
+ - Attribute: DW_AT_type
+ Form: DW_FORM_ref4
+ - Code: 0x00000006
+ Tag: DW_TAG_const_type
+ Children: DW_CHILDREN_no
+ Attributes:
+ - Attribute: DW_AT_type
+ Form: DW_FORM_ref4
debug_info:
- Length: 122
Version: 4
diff --git a/lldb/unittests/Expression/DWARFExpressionTest.cpp b/lldb/unittests/Expression/DWARFExpressionTest.cpp
index ffa3775a6113..7c1f2ef8a764 100644
--- a/lldb/unittests/Expression/DWARFExpressionTest.cpp
+++ b/lldb/unittests/Expression/DWARFExpressionTest.cpp
@@ -79,20 +79,21 @@ TEST(DWARFExpression, DW_OP_convert) {
/// Auxiliary debug info.
const char *yamldata =
"debug_abbrev:\n"
- " - Code: 0x00000001\n"
- " Tag: DW_TAG_compile_unit\n"
- " Children: DW_CHILDREN_yes\n"
- " Attributes:\n"
- " - Attribute: DW_AT_language\n"
- " Form: DW_FORM_data2\n"
- " - Code: 0x00000002\n"
- " Tag: DW_TAG_base_type\n"
- " Children: DW_CHILDREN_no\n"
- " Attributes:\n"
- " - Attribute: DW_AT_encoding\n"
- " Form: DW_FORM_data1\n"
- " - Attribute: DW_AT_byte_size\n"
- " Form: DW_FORM_data1\n"
+ " - Table:\n"
+ " - Code: 0x00000001\n"
+ " Tag: DW_TAG_compile_unit\n"
+ " Children: DW_CHILDREN_yes\n"
+ " Attributes:\n"
+ " - Attribute: DW_AT_language\n"
+ " Form: DW_FORM_data2\n"
+ " - Code: 0x00000002\n"
+ " Tag: DW_TAG_base_type\n"
+ " Children: DW_CHILDREN_no\n"
+ " Attributes:\n"
+ " - Attribute: DW_AT_encoding\n"
+ " Form: DW_FORM_data1\n"
+ " - Attribute: DW_AT_byte_size\n"
+ " Form: DW_FORM_data1\n"
"debug_info:\n"
" - Version: 4\n"
" AbbrOffset: 0\n"
diff --git a/lldb/unittests/Symbol/Inputs/inlined-functions.yaml b/lldb/unittests/Symbol/Inputs/inlined-functions.yaml
index 8ce92115a0b5..0443fcca58f1 100644
--- a/lldb/unittests/Symbol/Inputs/inlined-functions.yaml
+++ b/lldb/unittests/Symbol/Inputs/inlined-functions.yaml
@@ -164,183 +164,184 @@ DWARF:
- argv
- char
- sum
- debug_abbrev:
- - Code: 0x00000001
- Tag: DW_TAG_compile_unit
- Children: DW_CHILDREN_yes
- Attributes:
- - Attribute: DW_AT_producer
- Form: DW_FORM_strp
- - Attribute: DW_AT_language
- Form: DW_FORM_data2
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Attribute: DW_AT_stmt_list
- Form: DW_FORM_sec_offset
- - Attribute: DW_AT_comp_dir
- Form: DW_FORM_strp
- - Attribute: DW_AT_low_pc
- Form: DW_FORM_addr
- - Attribute: DW_AT_high_pc
- Form: DW_FORM_data4
- - Code: 0x00000002
- Tag: DW_TAG_subprogram
- Children: DW_CHILDREN_yes
- Attributes:
- - Attribute: DW_AT_low_pc
- Form: DW_FORM_addr
- - Attribute: DW_AT_high_pc
- Form: DW_FORM_data4
- - Attribute: DW_AT_frame_base
- Form: DW_FORM_exprloc
- - Attribute: DW_AT_linkage_name
- Form: DW_FORM_strp
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Attribute: DW_AT_decl_file
- Form: DW_FORM_data1
- - Attribute: DW_AT_decl_line
- Form: DW_FORM_data1
- - Attribute: DW_AT_type
- Form: DW_FORM_ref4
- - Attribute: DW_AT_external
- Form: DW_FORM_flag_present
- - Code: 0x00000003
- Tag: DW_TAG_formal_parameter
- Children: DW_CHILDREN_no
- Attributes:
- - Attribute: DW_AT_location
- Form: DW_FORM_exprloc
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Attribute: DW_AT_decl_file
- Form: DW_FORM_data1
- - Attribute: DW_AT_decl_line
- Form: DW_FORM_data1
- - Attribute: DW_AT_type
- Form: DW_FORM_ref4
- - Code: 0x00000004
- Tag: DW_TAG_variable
- Children: DW_CHILDREN_no
- Attributes:
- - Attribute: DW_AT_location
- Form: DW_FORM_exprloc
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Attribute: DW_AT_decl_file
- Form: DW_FORM_data1
- - Attribute: DW_AT_decl_line
- Form: DW_FORM_data1
- - Attribute: DW_AT_type
- Form: DW_FORM_ref4
- - Code: 0x00000005
- Tag: DW_TAG_subprogram
- Children: DW_CHILDREN_yes
- Attributes:
- - Attribute: DW_AT_linkage_name
- Form: DW_FORM_strp
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Attribute: DW_AT_decl_file
- Form: DW_FORM_data1
- - Attribute: DW_AT_decl_line
- Form: DW_FORM_data1
- - Attribute: DW_AT_type
- Form: DW_FORM_ref4
- - Attribute: DW_AT_external
- Form: DW_FORM_flag_present
- - Attribute: DW_AT_inline
- Form: DW_FORM_data1
- - Code: 0x00000006
- Tag: DW_TAG_formal_parameter
- Children: DW_CHILDREN_no
- Attributes:
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Attribute: DW_AT_decl_file
- Form: DW_FORM_data1
- - Attribute: DW_AT_decl_line
- Form: DW_FORM_data1
- - Attribute: DW_AT_type
- Form: DW_FORM_ref4
- - Code: 0x00000007
- Tag: DW_TAG_variable
- Children: DW_CHILDREN_no
- Attributes:
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Attribute: DW_AT_decl_file
- Form: DW_FORM_data1
- - Attribute: DW_AT_decl_line
- Form: DW_FORM_data1
- - Attribute: DW_AT_type
- Form: DW_FORM_ref4
- - Code: 0x00000008
- Tag: DW_TAG_base_type
- Children: DW_CHILDREN_no
- Attributes:
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Attribute: DW_AT_encoding
- Form: DW_FORM_data1
- - Attribute: DW_AT_byte_size
- Form: DW_FORM_data1
- - Code: 0x00000009
- Tag: DW_TAG_subprogram
- Children: DW_CHILDREN_yes
- Attributes:
- - Attribute: DW_AT_low_pc
- Form: DW_FORM_addr
- - Attribute: DW_AT_high_pc
- Form: DW_FORM_data4
- - Attribute: DW_AT_frame_base
- Form: DW_FORM_exprloc
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Attribute: DW_AT_decl_file
- Form: DW_FORM_data1
- - Attribute: DW_AT_decl_line
- Form: DW_FORM_data1
- - Attribute: DW_AT_type
- Form: DW_FORM_ref4
- - Attribute: DW_AT_external
- Form: DW_FORM_flag_present
- - Code: 0x0000000A
- Tag: DW_TAG_inlined_subroutine
- Children: DW_CHILDREN_yes
- Attributes:
- - Attribute: DW_AT_abstract_origin
- Form: DW_FORM_ref4
- - Attribute: DW_AT_low_pc
- Form: DW_FORM_addr
- - Attribute: DW_AT_high_pc
- Form: DW_FORM_data4
- - Attribute: DW_AT_call_file
- Form: DW_FORM_data1
- - Attribute: DW_AT_call_line
- Form: DW_FORM_data1
- - Code: 0x0000000B
- Tag: DW_TAG_formal_parameter
- Children: DW_CHILDREN_no
- Attributes:
- - Attribute: DW_AT_location
- Form: DW_FORM_exprloc
- - Attribute: DW_AT_abstract_origin
- Form: DW_FORM_ref4
- - Code: 0x0000000C
- Tag: DW_TAG_variable
- Children: DW_CHILDREN_no
- Attributes:
- - Attribute: DW_AT_location
- Form: DW_FORM_exprloc
- - Attribute: DW_AT_abstract_origin
- Form: DW_FORM_ref4
- - Code: 0x0000000D
- Tag: DW_TAG_pointer_type
- Children: DW_CHILDREN_no
- Attributes:
- - Attribute: DW_AT_type
- Form: DW_FORM_ref4
+ debug_abbrev:
+ - Table:
+ - Code: 0x00000001
+ Tag: DW_TAG_compile_unit
+ Children: DW_CHILDREN_yes
+ Attributes:
+ - Attribute: DW_AT_producer
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_language
+ Form: DW_FORM_data2
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_stmt_list
+ Form: DW_FORM_sec_offset
+ - Attribute: DW_AT_comp_dir
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_low_pc
+ Form: DW_FORM_addr
+ - Attribute: DW_AT_high_pc
+ Form: DW_FORM_data4
+ - Code: 0x00000002
+ Tag: DW_TAG_subprogram
+ Children: DW_CHILDREN_yes
+ Attributes:
+ - Attribute: DW_AT_low_pc
+ Form: DW_FORM_addr
+ - Attribute: DW_AT_high_pc
+ Form: DW_FORM_data4
+ - Attribute: DW_AT_frame_base
+ Form: DW_FORM_exprloc
+ - Attribute: DW_AT_linkage_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_decl_file
+ Form: DW_FORM_data1
+ - Attribute: DW_AT_decl_line
+ Form: DW_FORM_data1
+ - Attribute: DW_AT_type
+ Form: DW_FORM_ref4
+ - Attribute: DW_AT_external
+ Form: DW_FORM_flag_present
+ - Code: 0x00000003
+ Tag: DW_TAG_formal_parameter
+ Children: DW_CHILDREN_no
+ Attributes:
+ - Attribute: DW_AT_location
+ Form: DW_FORM_exprloc
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_decl_file
+ Form: DW_FORM_data1
+ - Attribute: DW_AT_decl_line
+ Form: DW_FORM_data1
+ - Attribute: DW_AT_type
+ Form: DW_FORM_ref4
+ - Code: 0x00000004
+ Tag: DW_TAG_variable
+ Children: DW_CHILDREN_no
+ Attributes:
+ - Attribute: DW_AT_location
+ Form: DW_FORM_exprloc
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_decl_file
+ Form: DW_FORM_data1
+ - Attribute: DW_AT_decl_line
+ Form: DW_FORM_data1
+ - Attribute: DW_AT_type
+ Form: DW_FORM_ref4
+ - Code: 0x00000005
+ Tag: DW_TAG_subprogram
+ Children: DW_CHILDREN_yes
+ Attributes:
+ - Attribute: DW_AT_linkage_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_decl_file
+ Form: DW_FORM_data1
+ - Attribute: DW_AT_decl_line
+ Form: DW_FORM_data1
+ - Attribute: DW_AT_type
+ Form: DW_FORM_ref4
+ - Attribute: DW_AT_external
+ Form: DW_FORM_flag_present
+ - Attribute: DW_AT_inline
+ Form: DW_FORM_data1
+ - Code: 0x00000006
+ Tag: DW_TAG_formal_parameter
+ Children: DW_CHILDREN_no
+ Attributes:
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_decl_file
+ Form: DW_FORM_data1
+ - Attribute: DW_AT_decl_line
+ Form: DW_FORM_data1
+ - Attribute: DW_AT_type
+ Form: DW_FORM_ref4
+ - Code: 0x00000007
+ Tag: DW_TAG_variable
+ Children: DW_CHILDREN_no
+ Attributes:
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_decl_file
+ Form: DW_FORM_data1
+ - Attribute: DW_AT_decl_line
+ Form: DW_FORM_data1
+ - Attribute: DW_AT_type
+ Form: DW_FORM_ref4
+ - Code: 0x00000008
+ Tag: DW_TAG_base_type
+ Children: DW_CHILDREN_no
+ Attributes:
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_encoding
+ Form: DW_FORM_data1
+ - Attribute: DW_AT_byte_size
+ Form: DW_FORM_data1
+ - Code: 0x00000009
+ Tag: DW_TAG_subprogram
+ Children: DW_CHILDREN_yes
+ Attributes:
+ - Attribute: DW_AT_low_pc
+ Form: DW_FORM_addr
+ - Attribute: DW_AT_high_pc
+ Form: DW_FORM_data4
+ - Attribute: DW_AT_frame_base
+ Form: DW_FORM_exprloc
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_decl_file
+ Form: DW_FORM_data1
+ - Attribute: DW_AT_decl_line
+ Form: DW_FORM_data1
+ - Attribute: DW_AT_type
+ Form: DW_FORM_ref4
+ - Attribute: DW_AT_external
+ Form: DW_FORM_flag_present
+ - Code: 0x0000000A
+ Tag: DW_TAG_inlined_subroutine
+ Children: DW_CHILDREN_yes
+ Attributes:
+ - Attribute: DW_AT_abstract_origin
+ Form: DW_FORM_ref4
+ - Attribute: DW_AT_low_pc
+ Form: DW_FORM_addr
+ - Attribute: DW_AT_high_pc
+ Form: DW_FORM_data4
+ - Attribute: DW_AT_call_file
+ Form: DW_FORM_data1
+ - Attribute: DW_AT_call_line
+ Form: DW_FORM_data1
+ - Code: 0x0000000B
+ Tag: DW_TAG_formal_parameter
+ Children: DW_CHILDREN_no
+ Attributes:
+ - Attribute: DW_AT_location
+ Form: DW_FORM_exprloc
+ - Attribute: DW_AT_abstract_origin
+ Form: DW_FORM_ref4
+ - Code: 0x0000000C
+ Tag: DW_TAG_variable
+ Children: DW_CHILDREN_no
+ Attributes:
+ - Attribute: DW_AT_location
+ Form: DW_FORM_exprloc
+ - Attribute: DW_AT_abstract_origin
+ Form: DW_FORM_ref4
+ - Code: 0x0000000D
+ Tag: DW_TAG_pointer_type
+ Children: DW_CHILDREN_no
+ Attributes:
+ - Attribute: DW_AT_type
+ Form: DW_FORM_ref4
debug_info:
- Length: 579
Version: 4
diff --git a/lldb/unittests/SymbolFile/DWARF/DWARFASTParserClangTests.cpp b/lldb/unittests/SymbolFile/DWARF/DWARFASTParserClangTests.cpp
index 6b84a21c9d7f..031b5bcd66ac 100644
--- a/lldb/unittests/SymbolFile/DWARF/DWARFASTParserClangTests.cpp
+++ b/lldb/unittests/SymbolFile/DWARF/DWARFASTParserClangTests.cpp
@@ -41,20 +41,21 @@ TEST_F(DWARFASTParserClangTests,
/// Auxiliary debug info.
const char *yamldata =
"debug_abbrev:\n"
- " - Code: 0x00000001\n"
- " Tag: DW_TAG_compile_unit\n"
- " Children: DW_CHILDREN_yes\n"
- " Attributes:\n"
- " - Attribute: DW_AT_language\n"
- " Form: DW_FORM_data2\n"
- " - Code: 0x00000002\n"
- " Tag: DW_TAG_base_type\n"
- " Children: DW_CHILDREN_no\n"
- " Attributes:\n"
- " - Attribute: DW_AT_encoding\n"
- " Form: DW_FORM_data1\n"
- " - Attribute: DW_AT_byte_size\n"
- " Form: DW_FORM_data1\n"
+ " - Table:\n"
+ " - Code: 0x00000001\n"
+ " Tag: DW_TAG_compile_unit\n"
+ " Children: DW_CHILDREN_yes\n"
+ " Attributes:\n"
+ " - Attribute: DW_AT_language\n"
+ " Form: DW_FORM_data2\n"
+ " - Code: 0x00000002\n"
+ " Tag: DW_TAG_base_type\n"
+ " Children: DW_CHILDREN_no\n"
+ " Attributes:\n"
+ " - Attribute: DW_AT_encoding\n"
+ " Form: DW_FORM_data1\n"
+ " - Attribute: DW_AT_byte_size\n"
+ " Form: DW_FORM_data1\n"
"debug_info:\n"
" - Version: 4\n"
" AbbrOffset: 0\n"
diff --git a/lldb/unittests/SymbolFile/DWARF/XcodeSDKModuleTests.cpp b/lldb/unittests/SymbolFile/DWARF/XcodeSDKModuleTests.cpp
index 399eaf7aa648..6bda91564c58 100644
--- a/lldb/unittests/SymbolFile/DWARF/XcodeSDKModuleTests.cpp
+++ b/lldb/unittests/SymbolFile/DWARF/XcodeSDKModuleTests.cpp
@@ -38,14 +38,15 @@ TEST_F(XcodeSDKModuleTests, TestModuleGetXcodeSDK) {
debug_str:
- MacOSX10.9.sdk
debug_abbrev:
- - Code: 0x00000001
- Tag: DW_TAG_compile_unit
- Children: DW_CHILDREN_no
- Attributes:
- - Attribute: DW_AT_language
- Form: DW_FORM_data2
- - Attribute: DW_AT_APPLE_sdk
- Form: DW_FORM_strp
+ - Table:
+ - Code: 0x00000001
+ Tag: DW_TAG_compile_unit
+ Children: DW_CHILDREN_no
+ Attributes:
+ - Attribute: DW_AT_language
+ Form: DW_FORM_data2
+ - Attribute: DW_AT_APPLE_sdk
+ Form: DW_FORM_strp
debug_info:
- Length: 8
Version: 2
diff --git a/llvm/include/llvm/ObjectYAML/DWARFYAML.h b/llvm/include/llvm/ObjectYAML/DWARFYAML.h
index 88a0543b1c9f..a37cfd8460e3 100644
--- a/llvm/include/llvm/ObjectYAML/DWARFYAML.h
+++ b/llvm/include/llvm/ObjectYAML/DWARFYAML.h
@@ -39,6 +39,10 @@ struct Abbrev {
std::vector<AttributeAbbrev> Attributes;
};
+struct AbbrevTable {
+ std::vector<Abbrev> Table;
+};
+
struct ARangeDescriptor {
llvm::yaml::Hex64 Address;
yaml::Hex64 Length;
@@ -203,7 +207,7 @@ template <typename EntryType> struct ListTable {
struct Data {
bool IsLittleEndian;
bool Is64BitAddrSize;
- std::vector<Abbrev> AbbrevDecls;
+ std::vector<AbbrevTable> DebugAbbrev;
std::vector<StringRef> DebugStrings;
Optional<std::vector<StringOffsetsTable>> DebugStrOffsets;
Optional<std::vector<ARange>> DebugAranges;
@@ -231,6 +235,7 @@ struct Data {
LLVM_YAML_IS_SEQUENCE_VECTOR(llvm::DWARFYAML::AttributeAbbrev)
LLVM_YAML_IS_SEQUENCE_VECTOR(llvm::DWARFYAML::Abbrev)
+LLVM_YAML_IS_SEQUENCE_VECTOR(llvm::DWARFYAML::AbbrevTable)
LLVM_YAML_IS_SEQUENCE_VECTOR(llvm::DWARFYAML::ARangeDescriptor)
LLVM_YAML_IS_SEQUENCE_VECTOR(llvm::DWARFYAML::ARange)
LLVM_YAML_IS_SEQUENCE_VECTOR(llvm::DWARFYAML::RangeEntry)
@@ -264,6 +269,10 @@ template <> struct MappingTraits<DWARFYAML::Data> {
static void mapping(IO &IO, DWARFYAML::Data &DWARF);
};
+template <> struct MappingTraits<DWARFYAML::AbbrevTable> {
+ static void mapping(IO &IO, DWARFYAML::AbbrevTable &AbbrevTable);
+};
+
template <> struct MappingTraits<DWARFYAML::Abbrev> {
static void mapping(IO &IO, DWARFYAML::Abbrev &Abbrev);
};
diff --git a/llvm/lib/ObjectYAML/DWARFEmitter.cpp b/llvm/lib/ObjectYAML/DWARFEmitter.cpp
index cb2bf16392f2..682969a8e9fd 100644
--- a/llvm/lib/ObjectYAML/DWARFEmitter.cpp
+++ b/llvm/lib/ObjectYAML/DWARFEmitter.cpp
@@ -96,24 +96,27 @@ Error DWARFYAML::emitDebugStr(raw_ostream &OS, const DWARFYAML::Data &DI) {
Error DWARFYAML::emitDebugAbbrev(raw_ostream &OS, const DWARFYAML::Data &DI) {
uint64_t AbbrevCode = 0;
- for (auto AbbrevDecl : DI.AbbrevDecls) {
- AbbrevCode = AbbrevDecl.Code ? (uint64_t)*AbbrevDecl.Code : AbbrevCode + 1;
- encodeULEB128(AbbrevCode, OS);
- encodeULEB128(AbbrevDecl.Tag, OS);
- OS.write(AbbrevDecl.Children);
- for (auto Attr : AbbrevDecl.Attributes) {
- encodeULEB128(Attr.Attribute, OS);
- encodeULEB128(Attr.Form, OS);
- if (Attr.Form == dwarf::DW_FORM_implicit_const)
- encodeSLEB128(Attr.Value, OS);
+ for (const DWARFYAML::AbbrevTable &AbbrevTable : DI.DebugAbbrev) {
+ for (const DWARFYAML::Abbrev &AbbrevDecl : AbbrevTable.Table) {
+ AbbrevCode =
+ AbbrevDecl.Code ? (uint64_t)*AbbrevDecl.Code : AbbrevCode + 1;
+ encodeULEB128(AbbrevCode, OS);
+ encodeULEB128(AbbrevDecl.Tag, OS);
+ OS.write(AbbrevDecl.Children);
+ for (auto Attr : AbbrevDecl.Attributes) {
+ encodeULEB128(Attr.Attribute, OS);
+ encodeULEB128(Attr.Form, OS);
+ if (Attr.Form == dwarf::DW_FORM_implicit_const)
+ encodeSLEB128(Attr.Value, OS);
+ }
+ encodeULEB128(0, OS);
+ encodeULEB128(0, OS);
}
- encodeULEB128(0, OS);
- encodeULEB128(0, OS);
- }
- // The abbreviations for a given compilation unit end with an entry consisting
- // of a 0 byte for the abbreviation code.
- OS.write_zeros(1);
+ // The abbreviations for a given compilation unit end with an entry
+ // consisting of a 0 byte for the abbreviation code.
+ OS.write_zeros(1);
+ }
return Error::success();
}
@@ -243,7 +246,7 @@ Error DWARFYAML::emitDebugGNUPubtypes(raw_ostream &OS, const Data &DI) {
/*IsGNUStyle=*/true);
}
-static Expected<uint64_t> writeDIE(ArrayRef<DWARFYAML::Abbrev> AbbrevDecls,
+static Expected<uint64_t> writeDIE(ArrayRef<DWARFYAML::AbbrevTable> AbbrevTable,
const dwarf::FormParams &Params,
const DWARFYAML::Entry &Entry,
raw_ostream &OS, bool IsLittleEndian) {
@@ -253,6 +256,13 @@ static Expected<uint64_t> writeDIE(ArrayRef<DWARFYAML::Abbrev> AbbrevDecls,
if (AbbrCode == 0 || Entry.Values.empty())
return OS.tell() - EntryBegin;
+ if (AbbrevTable.empty())
+ return createStringError(
+ errc::invalid_argument,
+ "non-empty compilation unit should have an associated abbrev table");
+
+ ArrayRef<DWARFYAML::Abbrev> AbbrevDecls(AbbrevTable[0].Table);
+
if (AbbrCode > AbbrevDecls.size())
return createStringError(
errc::invalid_argument,
@@ -394,7 +404,7 @@ Error DWARFYAML::emitDebugInfo(raw_ostream &OS, const DWARFYAML::Data &DI) {
for (const DWARFYAML::Entry &Entry : Unit.Entries) {
if (Expected<uint64_t> EntryLength = writeDIE(
- DI.AbbrevDecls, Params, Entry, EntryBufferOS, DI.IsLittleEndian))
+ DI.DebugAbbrev, Params, Entry, EntryBufferOS, DI.IsLittleEndian))
Length += *EntryLength;
else
return EntryLength.takeError();
diff --git a/llvm/lib/ObjectYAML/DWARFYAML.cpp b/llvm/lib/ObjectYAML/DWARFYAML.cpp
index 1936026d3e48..5c4fd53a8259 100644
--- a/llvm/lib/ObjectYAML/DWARFYAML.cpp
+++ b/llvm/lib/ObjectYAML/DWARFYAML.cpp
@@ -32,7 +32,7 @@ SetVector<StringRef> DWARFYAML::Data::getNonEmptySectionNames() const {
SecNames.insert("debug_line");
if (!DebugAddr.empty())
SecNames.insert("debug_addr");
- if (!AbbrevDecls.empty())
+ if (!DebugAbbrev.empty())
SecNames.insert("debug_abbrev");
if (!CompileUnits.empty())
SecNames.insert("debug_info");
@@ -60,7 +60,7 @@ void MappingTraits<DWARFYAML::Data>::mapping(IO &IO, DWARFYAML::Data &DWARF) {
DWARFYAML::DWARFContext DWARFCtx;
IO.setContext(&DWARFCtx);
IO.mapOptional("debug_str", DWARF.DebugStrings);
- IO.mapOptional("debug_abbrev", DWARF.AbbrevDecls);
+ IO.mapOptional("debug_abbrev", DWARF.DebugAbbrev);
IO.mapOptional("debug_aranges", DWARF.DebugAranges);
if (!DWARF.DebugRanges.empty() || !IO.outputting())
IO.mapOptional("debug_ranges", DWARF.DebugRanges);
@@ -78,6 +78,11 @@ void MappingTraits<DWARFYAML::Data>::mapping(IO &IO, DWARFYAML::Data &DWARF) {
IO.setContext(OldContext);
}
+void MappingTraits<DWARFYAML::AbbrevTable>::mapping(
+ IO &IO, DWARFYAML::AbbrevTable &AbbrevTable) {
+ IO.mapOptional("Table", AbbrevTable.Table);
+}
+
void MappingTraits<DWARFYAML::Abbrev>::mapping(IO &IO,
DWARFYAML::Abbrev &Abbrev) {
IO.mapOptional("Code", Abbrev.Code);
diff --git a/llvm/test/ObjectYAML/MachO/DWARF-BigEndian.yaml b/llvm/test/ObjectYAML/MachO/DWARF-BigEndian.yaml
index 67bcf1dbd4fe..e80c694224a5 100644
--- a/llvm/test/ObjectYAML/MachO/DWARF-BigEndian.yaml
+++ b/llvm/test/ObjectYAML/MachO/DWARF-BigEndian.yaml
@@ -274,103 +274,104 @@ DWARF:
- a
- N
- t
- debug_abbrev:
- - Code: 0x00000001
- Tag: DW_TAG_compile_unit
- Children: DW_CHILDREN_yes
- Attributes:
- - Attribute: DW_AT_producer
- Form: DW_FORM_strp
- - Attribute: DW_AT_language
- Form: DW_FORM_data2
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Attribute: DW_AT_stmt_list
- Form: DW_FORM_sec_offset
- - Attribute: DW_AT_comp_dir
- Form: DW_FORM_strp
- - Attribute: DW_AT_low_pc
- Form: DW_FORM_addr
- - Attribute: DW_AT_high_pc
- Form: DW_FORM_data4
- - Code: 0x00000002
- Tag: DW_TAG_base_type
- Children: DW_CHILDREN_no
- Attributes:
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Attribute: DW_AT_encoding
- Form: DW_FORM_data1
- - Attribute: DW_AT_byte_size
- Form: DW_FORM_data1
- - Code: 0x00000003
- Tag: DW_TAG_typedef
- Children: DW_CHILDREN_no
- Attributes:
- - Attribute: DW_AT_type
- Form: DW_FORM_ref4
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Attribute: DW_AT_decl_file
- Form: DW_FORM_data1
- - Attribute: DW_AT_decl_line
- Form: DW_FORM_data1
- - Code: 0x00000004
- Tag: DW_TAG_subprogram
- Children: DW_CHILDREN_yes
- Attributes:
- - Attribute: DW_AT_low_pc
- Form: DW_FORM_addr
- - Attribute: DW_AT_high_pc
- Form: DW_FORM_data4
- - Attribute: DW_AT_frame_base
- Form: DW_FORM_exprloc
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Attribute: DW_AT_decl_file
- Form: DW_FORM_data1
- - Attribute: DW_AT_decl_line
- Form: DW_FORM_data1
- - Attribute: DW_AT_prototyped
- Form: DW_FORM_flag_present
- - Attribute: DW_AT_type
- Form: DW_FORM_ref4
- - Attribute: DW_AT_external
- Form: DW_FORM_flag_present
- - Code: 0x00000005
- Tag: DW_TAG_formal_parameter
- Children: DW_CHILDREN_no
- Attributes:
- - Attribute: DW_AT_location
- Form: DW_FORM_exprloc
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Attribute: DW_AT_decl_file
- Form: DW_FORM_data1
- - Attribute: DW_AT_decl_line
- Form: DW_FORM_data1
- - Attribute: DW_AT_type
- Form: DW_FORM_ref4
- - Code: 0x00000006
- Tag: DW_TAG_variable
- Children: DW_CHILDREN_no
- Attributes:
- - Attribute: DW_AT_location
- Form: DW_FORM_exprloc
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Attribute: DW_AT_decl_file
- Form: DW_FORM_data1
- - Attribute: DW_AT_decl_line
- Form: DW_FORM_data1
- - Attribute: DW_AT_type
- Form: DW_FORM_ref4
- - Code: 0x00000007
- Tag: DW_TAG_const_type
- Children: DW_CHILDREN_no
- Attributes:
- - Attribute: DW_AT_type
- Form: DW_FORM_ref4
+ debug_abbrev:
+ - Table:
+ - Code: 0x00000001
+ Tag: DW_TAG_compile_unit
+ Children: DW_CHILDREN_yes
+ Attributes:
+ - Attribute: DW_AT_producer
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_language
+ Form: DW_FORM_data2
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_stmt_list
+ Form: DW_FORM_sec_offset
+ - Attribute: DW_AT_comp_dir
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_low_pc
+ Form: DW_FORM_addr
+ - Attribute: DW_AT_high_pc
+ Form: DW_FORM_data4
+ - Code: 0x00000002
+ Tag: DW_TAG_base_type
+ Children: DW_CHILDREN_no
+ Attributes:
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_encoding
+ Form: DW_FORM_data1
+ - Attribute: DW_AT_byte_size
+ Form: DW_FORM_data1
+ - Code: 0x00000003
+ Tag: DW_TAG_typedef
+ Children: DW_CHILDREN_no
+ Attributes:
+ - Attribute: DW_AT_type
+ Form: DW_FORM_ref4
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_decl_file
+ Form: DW_FORM_data1
+ - Attribute: DW_AT_decl_line
+ Form: DW_FORM_data1
+ - Code: 0x00000004
+ Tag: DW_TAG_subprogram
+ Children: DW_CHILDREN_yes
+ Attributes:
+ - Attribute: DW_AT_low_pc
+ Form: DW_FORM_addr
+ - Attribute: DW_AT_high_pc
+ Form: DW_FORM_data4
+ - Attribute: DW_AT_frame_base
+ Form: DW_FORM_exprloc
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_decl_file
+ Form: DW_FORM_data1
+ - Attribute: DW_AT_decl_line
+ Form: DW_FORM_data1
+ - Attribute: DW_AT_prototyped
+ Form: DW_FORM_flag_present
+ - Attribute: DW_AT_type
+ Form: DW_FORM_ref4
+ - Attribute: DW_AT_external
+ Form: DW_FORM_flag_present
+ - Code: 0x00000005
+ Tag: DW_TAG_formal_parameter
+ Children: DW_CHILDREN_no
+ Attributes:
+ - Attribute: DW_AT_location
+ Form: DW_FORM_exprloc
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_decl_file
+ Form: DW_FORM_data1
+ - Attribute: DW_AT_decl_line
+ Form: DW_FORM_data1
+ - Attribute: DW_AT_type
+ Form: DW_FORM_ref4
+ - Code: 0x00000006
+ Tag: DW_TAG_variable
+ Children: DW_CHILDREN_no
+ Attributes:
+ - Attribute: DW_AT_location
+ Form: DW_FORM_exprloc
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_decl_file
+ Form: DW_FORM_data1
+ - Attribute: DW_AT_decl_line
+ Form: DW_FORM_data1
+ - Attribute: DW_AT_type
+ Form: DW_FORM_ref4
+ - Code: 0x00000007
+ Tag: DW_TAG_const_type
+ Children: DW_CHILDREN_no
+ Attributes:
+ - Attribute: DW_AT_type
+ Form: DW_FORM_ref4
...
#CHECK: DWARF:
diff --git a/llvm/test/ObjectYAML/MachO/DWARF-LittleEndian.yaml b/llvm/test/ObjectYAML/MachO/DWARF-LittleEndian.yaml
index 47ca338e5887..d85c23d9b7a3 100644
--- a/llvm/test/ObjectYAML/MachO/DWARF-LittleEndian.yaml
+++ b/llvm/test/ObjectYAML/MachO/DWARF-LittleEndian.yaml
@@ -263,103 +263,104 @@ DWARF:
- a
- N
- t
- debug_abbrev:
- - Code: 0x00000001
- Tag: DW_TAG_compile_unit
- Children: DW_CHILDREN_yes
- Attributes:
- - Attribute: DW_AT_producer
- Form: DW_FORM_strp
- - Attribute: DW_AT_language
- Form: DW_FORM_data2
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Attribute: DW_AT_stmt_list
- Form: DW_FORM_sec_offset
- - Attribute: DW_AT_comp_dir
- Form: DW_FORM_strp
- - Attribute: DW_AT_low_pc
- Form: DW_FORM_addr
- - Attribute: DW_AT_high_pc
- Form: DW_FORM_data4
- - Code: 0x00000002
- Tag: DW_TAG_base_type
- Children: DW_CHILDREN_no
- Attributes:
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Attribute: DW_AT_encoding
- Form: DW_FORM_data1
- - Attribute: DW_AT_byte_size
- Form: DW_FORM_data1
- - Code: 0x00000003
- Tag: DW_TAG_typedef
- Children: DW_CHILDREN_no
- Attributes:
- - Attribute: DW_AT_type
- Form: DW_FORM_ref4
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Attribute: DW_AT_decl_file
- Form: DW_FORM_data1
- - Attribute: DW_AT_decl_line
- Form: DW_FORM_data1
- - Code: 0x00000004
- Tag: DW_TAG_subprogram
- Children: DW_CHILDREN_yes
- Attributes:
- - Attribute: DW_AT_low_pc
- Form: DW_FORM_addr
- - Attribute: DW_AT_high_pc
- Form: DW_FORM_data4
- - Attribute: DW_AT_frame_base
- Form: DW_FORM_exprloc
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Attribute: DW_AT_decl_file
- Form: DW_FORM_data1
- - Attribute: DW_AT_decl_line
- Form: DW_FORM_data1
- - Attribute: DW_AT_prototyped
- Form: DW_FORM_flag_present
- - Attribute: DW_AT_type
- Form: DW_FORM_ref4
- - Attribute: DW_AT_external
- Form: DW_FORM_flag_present
- - Code: 0x00000005
- Tag: DW_TAG_formal_parameter
- Children: DW_CHILDREN_no
- Attributes:
- - Attribute: DW_AT_location
- Form: DW_FORM_exprloc
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Attribute: DW_AT_decl_file
- Form: DW_FORM_data1
- - Attribute: DW_AT_decl_line
- Form: DW_FORM_data1
- - Attribute: DW_AT_type
- Form: DW_FORM_ref4
- - Code: 0x00000006
- Tag: DW_TAG_variable
- Children: DW_CHILDREN_no
- Attributes:
- - Attribute: DW_AT_location
- Form: DW_FORM_exprloc
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Attribute: DW_AT_decl_file
- Form: DW_FORM_data1
- - Attribute: DW_AT_decl_line
- Form: DW_FORM_data1
- - Attribute: DW_AT_type
- Form: DW_FORM_ref4
- - Code: 0x00000007
- Tag: DW_TAG_const_type
- Children: DW_CHILDREN_no
- Attributes:
- - Attribute: DW_AT_type
- Form: DW_FORM_ref4
+ debug_abbrev:
+ - Table:
+ - Code: 0x00000001
+ Tag: DW_TAG_compile_unit
+ Children: DW_CHILDREN_yes
+ Attributes:
+ - Attribute: DW_AT_producer
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_language
+ Form: DW_FORM_data2
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_stmt_list
+ Form: DW_FORM_sec_offset
+ - Attribute: DW_AT_comp_dir
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_low_pc
+ Form: DW_FORM_addr
+ - Attribute: DW_AT_high_pc
+ Form: DW_FORM_data4
+ - Code: 0x00000002
+ Tag: DW_TAG_base_type
+ Children: DW_CHILDREN_no
+ Attributes:
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_encoding
+ Form: DW_FORM_data1
+ - Attribute: DW_AT_byte_size
+ Form: DW_FORM_data1
+ - Code: 0x00000003
+ Tag: DW_TAG_typedef
+ Children: DW_CHILDREN_no
+ Attributes:
+ - Attribute: DW_AT_type
+ Form: DW_FORM_ref4
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_decl_file
+ Form: DW_FORM_data1
+ - Attribute: DW_AT_decl_line
+ Form: DW_FORM_data1
+ - Code: 0x00000004
+ Tag: DW_TAG_subprogram
+ Children: DW_CHILDREN_yes
+ Attributes:
+ - Attribute: DW_AT_low_pc
+ Form: DW_FORM_addr
+ - Attribute: DW_AT_high_pc
+ Form: DW_FORM_data4
+ - Attribute: DW_AT_frame_base
+ Form: DW_FORM_exprloc
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_decl_file
+ Form: DW_FORM_data1
+ - Attribute: DW_AT_decl_line
+ Form: DW_FORM_data1
+ - Attribute: DW_AT_prototyped
+ Form: DW_FORM_flag_present
+ - Attribute: DW_AT_type
+ Form: DW_FORM_ref4
+ - Attribute: DW_AT_external
+ Form: DW_FORM_flag_present
+ - Code: 0x00000005
+ Tag: DW_TAG_formal_parameter
+ Children: DW_CHILDREN_no
+ Attributes:
+ - Attribute: DW_AT_location
+ Form: DW_FORM_exprloc
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_decl_file
+ Form: DW_FORM_data1
+ - Attribute: DW_AT_decl_line
+ Form: DW_FORM_data1
+ - Attribute: DW_AT_type
+ Form: DW_FORM_ref4
+ - Code: 0x00000006
+ Tag: DW_TAG_variable
+ Children: DW_CHILDREN_no
+ Attributes:
+ - Attribute: DW_AT_location
+ Form: DW_FORM_exprloc
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_decl_file
+ Form: DW_FORM_data1
+ - Attribute: DW_AT_decl_line
+ Form: DW_FORM_data1
+ - Attribute: DW_AT_type
+ Form: DW_FORM_ref4
+ - Code: 0x00000007
+ Tag: DW_TAG_const_type
+ Children: DW_CHILDREN_no
+ Attributes:
+ - Attribute: DW_AT_type
+ Form: DW_FORM_ref4
...
#CHECK: DWARF:
diff --git a/llvm/test/ObjectYAML/MachO/DWARF-debug_abbrev.yaml b/llvm/test/ObjectYAML/MachO/DWARF-debug_abbrev.yaml
index bcdce34600a1..607d6ebc6cfd 100644
--- a/llvm/test/ObjectYAML/MachO/DWARF-debug_abbrev.yaml
+++ b/llvm/test/ObjectYAML/MachO/DWARF-debug_abbrev.yaml
@@ -275,76 +275,77 @@ LoadCommands:
reserved3: 0x00000000
DWARF:
debug_abbrev:
- - Code: 0x00000001
- Tag: DW_TAG_compile_unit
- Children: DW_CHILDREN_yes
- Attributes:
- - Attribute: DW_AT_producer
- Form: DW_FORM_strp
- - Attribute: DW_AT_language
- Form: DW_FORM_data2
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Attribute: DW_AT_stmt_list
- Form: DW_FORM_sec_offset
- - Attribute: DW_AT_comp_dir
- Form: DW_FORM_strp
- - Attribute: DW_AT_low_pc
- Form: DW_FORM_addr
- - Attribute: DW_AT_high_pc
- Form: DW_FORM_data4
- - Code: 0x00000002
- Tag: DW_TAG_subprogram
- Children: DW_CHILDREN_yes
- Attributes:
- - Attribute: DW_AT_low_pc
- Form: DW_FORM_addr
- - Attribute: DW_AT_high_pc
- Form: DW_FORM_data4
- - Attribute: DW_AT_frame_base
- Form: DW_FORM_exprloc
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Attribute: DW_AT_decl_file
- Form: DW_FORM_data1
- - Attribute: DW_AT_decl_line
- Form: DW_FORM_data1
- - Attribute: DW_AT_prototyped
- Form: DW_FORM_flag_present
- - Attribute: DW_AT_type
- Form: DW_FORM_ref4
- - Attribute: DW_AT_external
- Form: DW_FORM_flag_present
- - Code: 0x00000003
- Tag: DW_TAG_formal_parameter
- Children: DW_CHILDREN_no
- Attributes:
- - Attribute: DW_AT_location
- Form: DW_FORM_exprloc
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Attribute: DW_AT_decl_file
- Form: DW_FORM_data1
- - Attribute: DW_AT_decl_line
- Form: DW_FORM_data1
- - Attribute: DW_AT_type
- Form: DW_FORM_ref4
- - Code: 0x00000004
- Tag: DW_TAG_base_type
- Children: DW_CHILDREN_no
- Attributes:
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Attribute: DW_AT_encoding
- Form: DW_FORM_data1
- - Attribute: DW_AT_byte_size
- Form: DW_FORM_data1
- - Code: 0x00000005
- Tag: DW_TAG_pointer_type
- Children: DW_CHILDREN_no
- Attributes:
- - Attribute: DW_AT_type
- Form: DW_FORM_ref4
+ - Table:
+ - Code: 0x00000001
+ Tag: DW_TAG_compile_unit
+ Children: DW_CHILDREN_yes
+ Attributes:
+ - Attribute: DW_AT_producer
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_language
+ Form: DW_FORM_data2
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_stmt_list
+ Form: DW_FORM_sec_offset
+ - Attribute: DW_AT_comp_dir
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_low_pc
+ Form: DW_FORM_addr
+ - Attribute: DW_AT_high_pc
+ Form: DW_FORM_data4
+ - Code: 0x00000002
+ Tag: DW_TAG_subprogram
+ Children: DW_CHILDREN_yes
+ Attributes:
+ - Attribute: DW_AT_low_pc
+ Form: DW_FORM_addr
+ - Attribute: DW_AT_high_pc
+ Form: DW_FORM_data4
+ - Attribute: DW_AT_frame_base
+ Form: DW_FORM_exprloc
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_decl_file
+ Form: DW_FORM_data1
+ - Attribute: DW_AT_decl_line
+ Form: DW_FORM_data1
+ - Attribute: DW_AT_prototyped
+ Form: DW_FORM_flag_present
+ - Attribute: DW_AT_type
+ Form: DW_FORM_ref4
+ - Attribute: DW_AT_external
+ Form: DW_FORM_flag_present
+ - Code: 0x00000003
+ Tag: DW_TAG_formal_parameter
+ Children: DW_CHILDREN_no
+ Attributes:
+ - Attribute: DW_AT_location
+ Form: DW_FORM_exprloc
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_decl_file
+ Form: DW_FORM_data1
+ - Attribute: DW_AT_decl_line
+ Form: DW_FORM_data1
+ - Attribute: DW_AT_type
+ Form: DW_FORM_ref4
+ - Code: 0x00000004
+ Tag: DW_TAG_base_type
+ Children: DW_CHILDREN_no
+ Attributes:
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_encoding
+ Form: DW_FORM_data1
+ - Attribute: DW_AT_byte_size
+ Form: DW_FORM_data1
+ - Code: 0x00000005
+ Tag: DW_TAG_pointer_type
+ Children: DW_CHILDREN_no
+ Attributes:
+ - Attribute: DW_AT_type
+ Form: DW_FORM_ref4
...
#CHECK: DWARF:
diff --git a/llvm/test/ObjectYAML/MachO/DWARF-debug_info.yaml b/llvm/test/ObjectYAML/MachO/DWARF-debug_info.yaml
index f260c24e3ded..46bf5221baad 100644
--- a/llvm/test/ObjectYAML/MachO/DWARF-debug_info.yaml
+++ b/llvm/test/ObjectYAML/MachO/DWARF-debug_info.yaml
@@ -310,76 +310,77 @@ LinkEditData:
- _main
DWARF:
debug_abbrev:
- - Code: 0x00000001
- Tag: DW_TAG_compile_unit
- Children: DW_CHILDREN_yes
- Attributes:
- - Attribute: DW_AT_producer
- Form: DW_FORM_strp
- - Attribute: DW_AT_language
- Form: DW_FORM_data2
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Attribute: DW_AT_stmt_list
- Form: DW_FORM_sec_offset
- - Attribute: DW_AT_comp_dir
- Form: DW_FORM_strp
- - Attribute: DW_AT_low_pc
- Form: DW_FORM_addr
- - Attribute: DW_AT_high_pc
- Form: DW_FORM_data4
- - Code: 0x00000002
- Tag: DW_TAG_subprogram
- Children: DW_CHILDREN_yes
- Attributes:
- - Attribute: DW_AT_low_pc
- Form: DW_FORM_addr
- - Attribute: DW_AT_high_pc
- Form: DW_FORM_data4
- - Attribute: DW_AT_frame_base
- Form: DW_FORM_exprloc
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Attribute: DW_AT_decl_file
- Form: DW_FORM_data1
- - Attribute: DW_AT_decl_line
- Form: DW_FORM_data1
- - Attribute: DW_AT_prototyped
- Form: DW_FORM_flag_present
- - Attribute: DW_AT_type
- Form: DW_FORM_ref4
- - Attribute: DW_AT_external
- Form: DW_FORM_flag_present
- - Code: 0x00000003
- Tag: DW_TAG_formal_parameter
- Children: DW_CHILDREN_no
- Attributes:
- - Attribute: DW_AT_location
- Form: DW_FORM_exprloc
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Attribute: DW_AT_decl_file
- Form: DW_FORM_data1
- - Attribute: DW_AT_decl_line
- Form: DW_FORM_data1
- - Attribute: DW_AT_type
- Form: DW_FORM_ref4
- - Code: 0x00000004
- Tag: DW_TAG_base_type
- Children: DW_CHILDREN_no
- Attributes:
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Attribute: DW_AT_encoding
- Form: DW_FORM_data1
- - Attribute: DW_AT_byte_size
- Form: DW_FORM_data1
- - Code: 0x00000005
- Tag: DW_TAG_pointer_type
- Children: DW_CHILDREN_no
- Attributes:
- - Attribute: DW_AT_type
- Form: DW_FORM_ref4
+ - Table:
+ - Code: 0x00000001
+ Tag: DW_TAG_compile_unit
+ Children: DW_CHILDREN_yes
+ Attributes:
+ - Attribute: DW_AT_producer
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_language
+ Form: DW_FORM_data2
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_stmt_list
+ Form: DW_FORM_sec_offset
+ - Attribute: DW_AT_comp_dir
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_low_pc
+ Form: DW_FORM_addr
+ - Attribute: DW_AT_high_pc
+ Form: DW_FORM_data4
+ - Code: 0x00000002
+ Tag: DW_TAG_subprogram
+ Children: DW_CHILDREN_yes
+ Attributes:
+ - Attribute: DW_AT_low_pc
+ Form: DW_FORM_addr
+ - Attribute: DW_AT_high_pc
+ Form: DW_FORM_data4
+ - Attribute: DW_AT_frame_base
+ Form: DW_FORM_exprloc
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_decl_file
+ Form: DW_FORM_data1
+ - Attribute: DW_AT_decl_line
+ Form: DW_FORM_data1
+ - Attribute: DW_AT_prototyped
+ Form: DW_FORM_flag_present
+ - Attribute: DW_AT_type
+ Form: DW_FORM_ref4
+ - Attribute: DW_AT_external
+ Form: DW_FORM_flag_present
+ - Code: 0x00000003
+ Tag: DW_TAG_formal_parameter
+ Children: DW_CHILDREN_no
+ Attributes:
+ - Attribute: DW_AT_location
+ Form: DW_FORM_exprloc
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_decl_file
+ Form: DW_FORM_data1
+ - Attribute: DW_AT_decl_line
+ Form: DW_FORM_data1
+ - Attribute: DW_AT_type
+ Form: DW_FORM_ref4
+ - Code: 0x00000004
+ Tag: DW_TAG_base_type
+ Children: DW_CHILDREN_no
+ Attributes:
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_encoding
+ Form: DW_FORM_data1
+ - Attribute: DW_AT_byte_size
+ Form: DW_FORM_data1
+ - Code: 0x00000005
+ Tag: DW_TAG_pointer_type
+ Children: DW_CHILDREN_no
+ Attributes:
+ - Attribute: DW_AT_type
+ Form: DW_FORM_ref4
debug_aranges:
- Length: 44
Version: 2
@@ -511,10 +512,10 @@ DWARF:
# DWARF32: DWARF:
# DWARF32: debug_info:
-# DWARF32-NEXT: - Length: 0x0000000000000075
-# DWARF32-NEXT: Version: 4
-# DWARF32-NEXT: AbbrOffset: 0
-# DWARF32-NEXT: AddrSize: 8
+# DWARF32-NEXT: - Length: 0x0000000000000075
+# DWARF32-NEXT: Version: 4
+# DWARF32-NEXT: AbbrOffset: 0
+# DWARF32-NEXT: AddrSize: 8
# DWARF32-NEXT: Entries:
# DWARF32-NEXT: - AbbrCode: 0x00000001
# DWARF32-NEXT: Values:
@@ -580,10 +581,10 @@ DWARF:
# RUN: obj2yaml | FileCheck %s --check-prefix=DWARF32-YAML
# DWARF32-YAML: debug_info:
-# DWARF32-YAML-NEXT: - Length: 0x000000000000000C
-# DWARF32-YAML-NEXT: Version: 4
-# DWARF32-YAML-NEXT: AbbrOffset: 0
-# DWARF32-YAML-NEXT: AddrSize: 8
+# DWARF32-YAML-NEXT: - Length: 0x000000000000000C
+# 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:
@@ -637,13 +638,14 @@ LoadCommands:
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_abbrev:
+ - Table:
+ - 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
@@ -661,11 +663,11 @@ DWARF:
# RUN: obj2yaml | FileCheck %s --check-prefix=DWARF64-YAML
# DWARF64-YAML: debug_info:
-# DWARF64-YAML-NEXT: - Format: DWARF64
-# DWARF64-YAML-NEXT: Length: 0x000000000000000C
-# DWARF64-YAML-NEXT: Version: 4
-# DWARF64-YAML-NEXT: AbbrOffset: 0
-# DWARF64-YAML-NEXT: AddrSize: 8
+# DWARF64-YAML-NEXT: - Format: DWARF64
+# DWARF64-YAML-NEXT: Length: 0x000000000000000C
+# 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:
diff --git a/llvm/test/ObjectYAML/MachO/DWARF-debug_line.yaml b/llvm/test/ObjectYAML/MachO/DWARF-debug_line.yaml
index 0b21ce77f8f9..e583bcac91ca 100644
--- a/llvm/test/ObjectYAML/MachO/DWARF-debug_line.yaml
+++ b/llvm/test/ObjectYAML/MachO/DWARF-debug_line.yaml
@@ -322,77 +322,78 @@ DWARF:
- argv
- int
- char
- debug_abbrev:
- - Code: 0x00000001
- Tag: DW_TAG_compile_unit
- Children: DW_CHILDREN_yes
- Attributes:
- - Attribute: DW_AT_producer
- Form: DW_FORM_strp
- - Attribute: DW_AT_language
- Form: DW_FORM_data2
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Attribute: DW_AT_stmt_list
- Form: DW_FORM_sec_offset
- - Attribute: DW_AT_comp_dir
- Form: DW_FORM_strp
- - Attribute: DW_AT_low_pc
- Form: DW_FORM_addr
- - Attribute: DW_AT_high_pc
- Form: DW_FORM_data4
- - Code: 0x00000002
- Tag: DW_TAG_subprogram
- Children: DW_CHILDREN_yes
- Attributes:
- - Attribute: DW_AT_low_pc
- Form: DW_FORM_addr
- - Attribute: DW_AT_high_pc
- Form: DW_FORM_data4
- - Attribute: DW_AT_frame_base
- Form: DW_FORM_exprloc
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Attribute: DW_AT_decl_file
- Form: DW_FORM_data1
- - Attribute: DW_AT_decl_line
- Form: DW_FORM_data1
- - Attribute: DW_AT_prototyped
- Form: DW_FORM_flag_present
- - Attribute: DW_AT_type
- Form: DW_FORM_ref4
- - Attribute: DW_AT_external
- Form: DW_FORM_flag_present
- - Code: 0x00000003
- Tag: DW_TAG_formal_parameter
- Children: DW_CHILDREN_no
- Attributes:
- - Attribute: DW_AT_location
- Form: DW_FORM_exprloc
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Attribute: DW_AT_decl_file
- Form: DW_FORM_data1
- - Attribute: DW_AT_decl_line
- Form: DW_FORM_data1
- - Attribute: DW_AT_type
- Form: DW_FORM_ref4
- - Code: 0x00000004
- Tag: DW_TAG_base_type
- Children: DW_CHILDREN_no
- Attributes:
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Attribute: DW_AT_encoding
- Form: DW_FORM_data1
- - Attribute: DW_AT_byte_size
- Form: DW_FORM_data1
- - Code: 0x00000005
- Tag: DW_TAG_pointer_type
- Children: DW_CHILDREN_no
- Attributes:
- - Attribute: DW_AT_type
- Form: DW_FORM_ref4
+ debug_abbrev:
+ - Table:
+ - Code: 0x00000001
+ Tag: DW_TAG_compile_unit
+ Children: DW_CHILDREN_yes
+ Attributes:
+ - Attribute: DW_AT_producer
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_language
+ Form: DW_FORM_data2
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_stmt_list
+ Form: DW_FORM_sec_offset
+ - Attribute: DW_AT_comp_dir
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_low_pc
+ Form: DW_FORM_addr
+ - Attribute: DW_AT_high_pc
+ Form: DW_FORM_data4
+ - Code: 0x00000002
+ Tag: DW_TAG_subprogram
+ Children: DW_CHILDREN_yes
+ Attributes:
+ - Attribute: DW_AT_low_pc
+ Form: DW_FORM_addr
+ - Attribute: DW_AT_high_pc
+ Form: DW_FORM_data4
+ - Attribute: DW_AT_frame_base
+ Form: DW_FORM_exprloc
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_decl_file
+ Form: DW_FORM_data1
+ - Attribute: DW_AT_decl_line
+ Form: DW_FORM_data1
+ - Attribute: DW_AT_prototyped
+ Form: DW_FORM_flag_present
+ - Attribute: DW_AT_type
+ Form: DW_FORM_ref4
+ - Attribute: DW_AT_external
+ Form: DW_FORM_flag_present
+ - Code: 0x00000003
+ Tag: DW_TAG_formal_parameter
+ Children: DW_CHILDREN_no
+ Attributes:
+ - Attribute: DW_AT_location
+ Form: DW_FORM_exprloc
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_decl_file
+ Form: DW_FORM_data1
+ - Attribute: DW_AT_decl_line
+ Form: DW_FORM_data1
+ - Attribute: DW_AT_type
+ Form: DW_FORM_ref4
+ - Code: 0x00000004
+ Tag: DW_TAG_base_type
+ Children: DW_CHILDREN_no
+ Attributes:
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_encoding
+ Form: DW_FORM_data1
+ - Attribute: DW_AT_byte_size
+ Form: DW_FORM_data1
+ - Code: 0x00000005
+ Tag: DW_TAG_pointer_type
+ Children: DW_CHILDREN_no
+ Attributes:
+ - Attribute: DW_AT_type
+ Form: DW_FORM_ref4
debug_aranges:
- Length: 44
Version: 2
diff --git a/llvm/test/ObjectYAML/MachO/DWARF-debug_ranges.yaml b/llvm/test/ObjectYAML/MachO/DWARF-debug_ranges.yaml
index df1ee738b15a..fced0be79d38 100644
--- a/llvm/test/ObjectYAML/MachO/DWARF-debug_ranges.yaml
+++ b/llvm/test/ObjectYAML/MachO/DWARF-debug_ranges.yaml
@@ -169,38 +169,39 @@ DWARF:
- stripped2
- main
debug_abbrev:
- - Code: 0x00000001
- Tag: DW_TAG_compile_unit
- Children: DW_CHILDREN_yes
- Attributes:
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Attribute: DW_AT_language
- Form: DW_FORM_data2
- - Attribute: DW_AT_low_pc
- Form: DW_FORM_addr
- - Attribute: DW_AT_ranges
- Form: DW_FORM_sec_offset
- - Code: 0x00000002
- Tag: DW_TAG_subprogram
- Children: DW_CHILDREN_no
- Attributes:
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Attribute: DW_AT_low_pc
- Form: DW_FORM_addr
- - Attribute: DW_AT_high_pc
- Form: DW_FORM_data4
- - Code: 0x00000003
- Tag: DW_TAG_subprogram
- Children: DW_CHILDREN_no
- Attributes:
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Attribute: DW_AT_low_pc
- Form: DW_FORM_addr
- - Attribute: DW_AT_high_pc
- Form: DW_FORM_addr
+ - Table:
+ - Code: 0x00000001
+ Tag: DW_TAG_compile_unit
+ Children: DW_CHILDREN_yes
+ Attributes:
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_language
+ Form: DW_FORM_data2
+ - Attribute: DW_AT_low_pc
+ Form: DW_FORM_addr
+ - Attribute: DW_AT_ranges
+ Form: DW_FORM_sec_offset
+ - Code: 0x00000002
+ Tag: DW_TAG_subprogram
+ Children: DW_CHILDREN_no
+ Attributes:
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_low_pc
+ Form: DW_FORM_addr
+ - Attribute: DW_AT_high_pc
+ Form: DW_FORM_data4
+ - Code: 0x00000003
+ Tag: DW_TAG_subprogram
+ Children: DW_CHILDREN_no
+ Attributes:
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_low_pc
+ Form: DW_FORM_addr
+ - Attribute: DW_AT_high_pc
+ Form: DW_FORM_addr
debug_ranges:
- Offset: 0x00000000
Entries:
diff --git a/llvm/test/ObjectYAML/MachO/DWARF2-AddrSize8-FormValues.yaml b/llvm/test/ObjectYAML/MachO/DWARF2-AddrSize8-FormValues.yaml
index b8e361620663..c9d1f024135c 100644
--- a/llvm/test/ObjectYAML/MachO/DWARF2-AddrSize8-FormValues.yaml
+++ b/llvm/test/ObjectYAML/MachO/DWARF2-AddrSize8-FormValues.yaml
@@ -276,63 +276,64 @@ LoadCommands:
DWARF:
debug_str:
- World
- debug_abbrev:
- - Code: 0x00000001
- Tag: DW_TAG_compile_unit
- Children: DW_CHILDREN_no
- Attributes:
- - Attribute: 0x2000
- Form: DW_FORM_addr
- - Attribute: 0x2001
- Form: DW_FORM_block
- - Attribute: DW_AT_MIPS_loop_begin
- Form: DW_FORM_block1
- - Attribute: DW_AT_MIPS_tail_loop_begin
- Form: DW_FORM_block2
- - Attribute: DW_AT_MIPS_epilog_begin
- Form: DW_FORM_block4
- - Attribute: DW_AT_MIPS_loop_unroll_factor
- Form: DW_FORM_data1
- - Attribute: DW_AT_MIPS_software_pipeline_depth
- Form: DW_FORM_data2
- - Attribute: DW_AT_MIPS_linkage_name
- Form: DW_FORM_data4
- - Attribute: DW_AT_MIPS_stride
- Form: DW_FORM_data8
- - Attribute: DW_AT_MIPS_abstract_name
- Form: DW_FORM_string
- - Attribute: DW_AT_MIPS_clone_origin
- Form: DW_FORM_strp
- - Attribute: DW_AT_MIPS_has_inlines
- Form: DW_FORM_ref_addr
- - Attribute: DW_AT_MIPS_stride_byte
- Form: DW_FORM_ref1
- - Attribute: DW_AT_MIPS_stride_elem
- Form: DW_FORM_ref2
- - Attribute: DW_AT_MIPS_ptr_dopetype
- Form: DW_FORM_ref4
- - Attribute: DW_AT_MIPS_allocatable_dopetype
- Form: DW_FORM_ref8
- - Attribute: DW_AT_MIPS_assumed_shape_dopetype
- Form: DW_FORM_ref_sig8
- - Attribute: DW_AT_MIPS_assumed_size
- Form: DW_FORM_ref_udata
- - Attribute: 0x2012
- Form: DW_FORM_flag
- - Attribute: 0x2013
- Form: DW_FORM_flag
- - Attribute: 0x2014
- Form: DW_FORM_flag_present
- - Attribute: 0x2015
- Form: DW_FORM_sdata
- - Attribute: 0x2017
- Form: DW_FORM_udata
- - Attribute: 0x2018
- Form: DW_FORM_GNU_ref_alt
- - Attribute: 0x2019
- Form: DW_FORM_sec_offset
- - Attribute: 0x201A
- Form: DW_FORM_addr
+ debug_abbrev:
+ - Table:
+ - Code: 0x00000001
+ Tag: DW_TAG_compile_unit
+ Children: DW_CHILDREN_no
+ Attributes:
+ - Attribute: 0x2000
+ Form: DW_FORM_addr
+ - Attribute: 0x2001
+ Form: DW_FORM_block
+ - Attribute: DW_AT_MIPS_loop_begin
+ Form: DW_FORM_block1
+ - Attribute: DW_AT_MIPS_tail_loop_begin
+ Form: DW_FORM_block2
+ - Attribute: DW_AT_MIPS_epilog_begin
+ Form: DW_FORM_block4
+ - Attribute: DW_AT_MIPS_loop_unroll_factor
+ Form: DW_FORM_data1
+ - Attribute: DW_AT_MIPS_software_pipeline_depth
+ Form: DW_FORM_data2
+ - Attribute: DW_AT_MIPS_linkage_name
+ Form: DW_FORM_data4
+ - Attribute: DW_AT_MIPS_stride
+ Form: DW_FORM_data8
+ - Attribute: DW_AT_MIPS_abstract_name
+ Form: DW_FORM_string
+ - Attribute: DW_AT_MIPS_clone_origin
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_MIPS_has_inlines
+ Form: DW_FORM_ref_addr
+ - Attribute: DW_AT_MIPS_stride_byte
+ Form: DW_FORM_ref1
+ - Attribute: DW_AT_MIPS_stride_elem
+ Form: DW_FORM_ref2
+ - Attribute: DW_AT_MIPS_ptr_dopetype
+ Form: DW_FORM_ref4
+ - Attribute: DW_AT_MIPS_allocatable_dopetype
+ Form: DW_FORM_ref8
+ - Attribute: DW_AT_MIPS_assumed_shape_dopetype
+ Form: DW_FORM_ref_sig8
+ - Attribute: DW_AT_MIPS_assumed_size
+ Form: DW_FORM_ref_udata
+ - Attribute: 0x2012
+ Form: DW_FORM_flag
+ - Attribute: 0x2013
+ Form: DW_FORM_flag
+ - Attribute: 0x2014
+ Form: DW_FORM_flag_present
+ - Attribute: 0x2015
+ Form: DW_FORM_sdata
+ - Attribute: 0x2017
+ Form: DW_FORM_udata
+ - Attribute: 0x2018
+ Form: DW_FORM_GNU_ref_alt
+ - Attribute: 0x2019
+ Form: DW_FORM_sec_offset
+ - Attribute: 0x201A
+ Form: DW_FORM_addr
debug_info:
- Length: 168
Version: 2
diff --git a/llvm/test/ObjectYAML/MachO/DWARF5-abbrevValues.yaml b/llvm/test/ObjectYAML/MachO/DWARF5-abbrevValues.yaml
index c4563fe2e9c2..e07d50a5349b 100644
--- a/llvm/test/ObjectYAML/MachO/DWARF5-abbrevValues.yaml
+++ b/llvm/test/ObjectYAML/MachO/DWARF5-abbrevValues.yaml
@@ -274,14 +274,15 @@ LoadCommands:
reserved2: 0x00000000
reserved3: 0x00000000
DWARF:
- debug_abbrev:
- - Code: 0x00000001
- Tag: DW_TAG_compile_unit
- Children: DW_CHILDREN_yes
- Attributes:
- - Attribute: 0x2001
- Form: DW_FORM_implicit_const
- Value: 0x12345678
+ debug_abbrev:
+ - Table:
+ - Code: 0x00000001
+ Tag: DW_TAG_compile_unit
+ Children: DW_CHILDREN_yes
+ Attributes:
+ - Attribute: 0x2001
+ Form: DW_FORM_implicit_const
+ Value: 0x12345678
...
#CHECK: DWARF:
diff --git a/llvm/test/ObjectYAML/MachO/DWARF5-debug_info.yaml b/llvm/test/ObjectYAML/MachO/DWARF5-debug_info.yaml
index f8327826d589..d63be6043d0a 100644
--- a/llvm/test/ObjectYAML/MachO/DWARF5-debug_info.yaml
+++ b/llvm/test/ObjectYAML/MachO/DWARF5-debug_info.yaml
@@ -310,76 +310,77 @@ LinkEditData:
- _main
DWARF:
debug_abbrev:
- - Code: 0x00000001
- Tag: DW_TAG_compile_unit
- Children: DW_CHILDREN_yes
- Attributes:
- - Attribute: DW_AT_producer
- Form: DW_FORM_strp
- - Attribute: DW_AT_language
- Form: DW_FORM_data2
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Attribute: DW_AT_stmt_list
- Form: DW_FORM_sec_offset
- - Attribute: DW_AT_comp_dir
- Form: DW_FORM_strp
- - Attribute: DW_AT_low_pc
- Form: DW_FORM_addr
- - Attribute: DW_AT_high_pc
- Form: DW_FORM_data4
- - Code: 0x00000002
- Tag: DW_TAG_subprogram
- Children: DW_CHILDREN_yes
- Attributes:
- - Attribute: DW_AT_low_pc
- Form: DW_FORM_addr
- - Attribute: DW_AT_high_pc
- Form: DW_FORM_data4
- - Attribute: DW_AT_frame_base
- Form: DW_FORM_exprloc
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Attribute: DW_AT_decl_file
- Form: DW_FORM_data1
- - Attribute: DW_AT_decl_line
- Form: DW_FORM_data1
- - Attribute: DW_AT_prototyped
- Form: DW_FORM_flag_present
- - Attribute: DW_AT_type
- Form: DW_FORM_ref4
- - Attribute: DW_AT_external
- Form: DW_FORM_flag_present
- - Code: 0x00000003
- Tag: DW_TAG_formal_parameter
- Children: DW_CHILDREN_no
- Attributes:
- - Attribute: DW_AT_location
- Form: DW_FORM_exprloc
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Attribute: DW_AT_decl_file
- Form: DW_FORM_data1
- - Attribute: DW_AT_decl_line
- Form: DW_FORM_data1
- - Attribute: DW_AT_type
- Form: DW_FORM_ref4
- - Code: 0x00000004
- Tag: DW_TAG_base_type
- Children: DW_CHILDREN_no
- Attributes:
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Attribute: DW_AT_encoding
- Form: DW_FORM_data1
- - Attribute: DW_AT_byte_size
- Form: DW_FORM_data1
- - Code: 0x00000005
- Tag: DW_TAG_pointer_type
- Children: DW_CHILDREN_no
- Attributes:
- - Attribute: DW_AT_type
- Form: DW_FORM_ref4
+ - Table:
+ - Code: 0x00000001
+ Tag: DW_TAG_compile_unit
+ Children: DW_CHILDREN_yes
+ Attributes:
+ - Attribute: DW_AT_producer
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_language
+ Form: DW_FORM_data2
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_stmt_list
+ Form: DW_FORM_sec_offset
+ - Attribute: DW_AT_comp_dir
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_low_pc
+ Form: DW_FORM_addr
+ - Attribute: DW_AT_high_pc
+ Form: DW_FORM_data4
+ - Code: 0x00000002
+ Tag: DW_TAG_subprogram
+ Children: DW_CHILDREN_yes
+ Attributes:
+ - Attribute: DW_AT_low_pc
+ Form: DW_FORM_addr
+ - Attribute: DW_AT_high_pc
+ Form: DW_FORM_data4
+ - Attribute: DW_AT_frame_base
+ Form: DW_FORM_exprloc
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_decl_file
+ Form: DW_FORM_data1
+ - Attribute: DW_AT_decl_line
+ Form: DW_FORM_data1
+ - Attribute: DW_AT_prototyped
+ Form: DW_FORM_flag_present
+ - Attribute: DW_AT_type
+ Form: DW_FORM_ref4
+ - Attribute: DW_AT_external
+ Form: DW_FORM_flag_present
+ - Code: 0x00000003
+ Tag: DW_TAG_formal_parameter
+ Children: DW_CHILDREN_no
+ Attributes:
+ - Attribute: DW_AT_location
+ Form: DW_FORM_exprloc
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_decl_file
+ Form: DW_FORM_data1
+ - Attribute: DW_AT_decl_line
+ Form: DW_FORM_data1
+ - Attribute: DW_AT_type
+ Form: DW_FORM_ref4
+ - Code: 0x00000004
+ Tag: DW_TAG_base_type
+ Children: DW_CHILDREN_no
+ Attributes:
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_encoding
+ Form: DW_FORM_data1
+ - Attribute: DW_AT_byte_size
+ Form: DW_FORM_data1
+ - Code: 0x00000005
+ Tag: DW_TAG_pointer_type
+ Children: DW_CHILDREN_no
+ Attributes:
+ - Attribute: DW_AT_type
+ Form: DW_FORM_ref4
debug_aranges:
- Length: 44
Version: 2
@@ -511,11 +512,11 @@ DWARF:
# DWARF32: DWARF:
# DWARF32: debug_info:
-# DWARF32-NEXT: - Length: 0x0000000000000076
-# DWARF32-NEXT: Version: 5
-# DWARF32-NEXT: UnitType: DW_UT_compile
-# DWARF32-NEXT: AbbrOffset: 0
-# DWARF32-NEXT: AddrSize: 8
+# DWARF32-NEXT: - Length: 0x0000000000000076
+# 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:
@@ -581,11 +582,11 @@ DWARF:
# RUN: obj2yaml | FileCheck %s --check-prefix=DWARF32-YAML
# DWARF32-YAML: debug_info:
-# DWARF32-YAML-NEXT: - Length: 0x000000000000000C
-# 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: - Length: 0x000000000000000C
+# 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:
@@ -640,12 +641,13 @@ LoadCommands:
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
+ - Table:
+ - 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]]
@@ -664,12 +666,12 @@ DWARF:
# RUN: obj2yaml | FileCheck %s --check-prefix=DWARF64-YAML
# DWARF64-YAML: debug_info:
-# DWARF64-YAML-NEXT: - Format: DWARF64
-# DWARF64-YAML-NEXT: Length: 0x0000000000000014
-# 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: - Format: DWARF64
+# DWARF64-YAML-NEXT: Length: 0x0000000000000014
+# 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:
diff --git a/llvm/test/tools/llvm-dwarfdump/X86/verify_attr_file_indexes.yaml b/llvm/test/tools/llvm-dwarfdump/X86/verify_attr_file_indexes.yaml
index ca416a06add1..19d9a6943589 100644
--- a/llvm/test/tools/llvm-dwarfdump/X86/verify_attr_file_indexes.yaml
+++ b/llvm/test/tools/llvm-dwarfdump/X86/verify_attr_file_indexes.yaml
@@ -30,46 +30,47 @@ DWARF:
- main
- inline1
debug_abbrev:
- - Code: 0x0000000000000001
- Tag: DW_TAG_compile_unit
- Children: DW_CHILDREN_yes
- Attributes:
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Attribute: DW_AT_language
- Form: DW_FORM_data2
- - Attribute: DW_AT_low_pc
- Form: DW_FORM_addr
- - Attribute: DW_AT_stmt_list
- Form: DW_FORM_sec_offset
- - Code: 0x0000000000000002
- Tag: DW_TAG_subprogram
- Children: DW_CHILDREN_yes
- Attributes:
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Attribute: DW_AT_low_pc
- Form: DW_FORM_addr
- - Attribute: DW_AT_high_pc
- Form: DW_FORM_addr
- - Attribute: DW_AT_decl_file
- Form: DW_FORM_data1
- - Attribute: DW_AT_call_line
- Form: DW_FORM_data1
- - Code: 0x0000000000000003
- Tag: DW_TAG_inlined_subroutine
- Children: DW_CHILDREN_no
- Attributes:
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Attribute: DW_AT_low_pc
- Form: DW_FORM_addr
- - Attribute: DW_AT_high_pc
- Form: DW_FORM_data4
- - Attribute: DW_AT_call_file
- Form: DW_FORM_data1
- - Attribute: DW_AT_call_line
- Form: DW_FORM_data1
+ - Table:
+ - Code: 0x0000000000000001
+ Tag: DW_TAG_compile_unit
+ Children: DW_CHILDREN_yes
+ Attributes:
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_language
+ Form: DW_FORM_data2
+ - Attribute: DW_AT_low_pc
+ Form: DW_FORM_addr
+ - Attribute: DW_AT_stmt_list
+ Form: DW_FORM_sec_offset
+ - Code: 0x0000000000000002
+ Tag: DW_TAG_subprogram
+ Children: DW_CHILDREN_yes
+ Attributes:
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_low_pc
+ Form: DW_FORM_addr
+ - Attribute: DW_AT_high_pc
+ Form: DW_FORM_addr
+ - Attribute: DW_AT_decl_file
+ Form: DW_FORM_data1
+ - Attribute: DW_AT_call_line
+ Form: DW_FORM_data1
+ - Code: 0x0000000000000003
+ Tag: DW_TAG_inlined_subroutine
+ Children: DW_CHILDREN_no
+ Attributes:
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_low_pc
+ Form: DW_FORM_addr
+ - Attribute: DW_AT_high_pc
+ Form: DW_FORM_data4
+ - Attribute: DW_AT_call_file
+ Form: DW_FORM_data1
+ - Attribute: DW_AT_call_line
+ Form: DW_FORM_data1
debug_info:
- Length: 0x0000000000000046
Version: 4
diff --git a/llvm/test/tools/llvm-dwarfdump/X86/verify_attr_file_indexes_no_files.yaml b/llvm/test/tools/llvm-dwarfdump/X86/verify_attr_file_indexes_no_files.yaml
index 8afda5fd6b10..9ccf23253784 100644
--- a/llvm/test/tools/llvm-dwarfdump/X86/verify_attr_file_indexes_no_files.yaml
+++ b/llvm/test/tools/llvm-dwarfdump/X86/verify_attr_file_indexes_no_files.yaml
@@ -30,46 +30,47 @@ DWARF:
- main
- inline1
debug_abbrev:
- - Code: 0x0000000000000001
- Tag: DW_TAG_compile_unit
- Children: DW_CHILDREN_yes
- Attributes:
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Attribute: DW_AT_language
- Form: DW_FORM_data2
- - Attribute: DW_AT_low_pc
- Form: DW_FORM_addr
- - Attribute: DW_AT_stmt_list
- Form: DW_FORM_sec_offset
- - Code: 0x0000000000000002
- Tag: DW_TAG_subprogram
- Children: DW_CHILDREN_yes
- Attributes:
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Attribute: DW_AT_low_pc
- Form: DW_FORM_addr
- - Attribute: DW_AT_high_pc
- Form: DW_FORM_addr
- - Attribute: DW_AT_decl_file
- Form: DW_FORM_data1
- - Attribute: DW_AT_call_line
- Form: DW_FORM_data1
- - Code: 0x0000000000000003
- Tag: DW_TAG_inlined_subroutine
- Children: DW_CHILDREN_no
- Attributes:
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Attribute: DW_AT_low_pc
- Form: DW_FORM_addr
- - Attribute: DW_AT_high_pc
- Form: DW_FORM_data4
- - Attribute: DW_AT_call_file
- Form: DW_FORM_data1
- - Attribute: DW_AT_call_line
- Form: DW_FORM_data1
+ - Table:
+ - Code: 0x0000000000000001
+ Tag: DW_TAG_compile_unit
+ Children: DW_CHILDREN_yes
+ Attributes:
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_language
+ Form: DW_FORM_data2
+ - Attribute: DW_AT_low_pc
+ Form: DW_FORM_addr
+ - Attribute: DW_AT_stmt_list
+ Form: DW_FORM_sec_offset
+ - Code: 0x0000000000000002
+ Tag: DW_TAG_subprogram
+ Children: DW_CHILDREN_yes
+ Attributes:
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_low_pc
+ Form: DW_FORM_addr
+ - Attribute: DW_AT_high_pc
+ Form: DW_FORM_addr
+ - Attribute: DW_AT_decl_file
+ Form: DW_FORM_data1
+ - Attribute: DW_AT_call_line
+ Form: DW_FORM_data1
+ - Code: 0x0000000000000003
+ Tag: DW_TAG_inlined_subroutine
+ Children: DW_CHILDREN_no
+ Attributes:
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_low_pc
+ Form: DW_FORM_addr
+ - Attribute: DW_AT_high_pc
+ Form: DW_FORM_data4
+ - Attribute: DW_AT_call_file
+ Form: DW_FORM_data1
+ - Attribute: DW_AT_call_line
+ Form: DW_FORM_data1
debug_info:
- Length: 0x0000000000000046
Version: 4
diff --git a/llvm/test/tools/llvm-dwarfdump/X86/verify_file_encoding.yaml b/llvm/test/tools/llvm-dwarfdump/X86/verify_file_encoding.yaml
index 562d1d697059..3436608160ef 100644
--- a/llvm/test/tools/llvm-dwarfdump/X86/verify_file_encoding.yaml
+++ b/llvm/test/tools/llvm-dwarfdump/X86/verify_file_encoding.yaml
@@ -29,44 +29,45 @@ DWARF:
- ''
- inline1
debug_abbrev:
- - Code: 0x0000000000000001
- Tag: DW_TAG_compile_unit
- Children: DW_CHILDREN_yes
- Attributes:
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Attribute: DW_AT_language
- Form: DW_FORM_data2
- - Attribute: DW_AT_low_pc
- Form: DW_FORM_addr
- - Code: 0x0000000000000002
- Tag: DW_TAG_subprogram
- Children: DW_CHILDREN_yes
- Attributes:
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Attribute: DW_AT_low_pc
- Form: DW_FORM_addr
- - Attribute: DW_AT_high_pc
- Form: DW_FORM_addr
- - Attribute: DW_AT_decl_file
- Form: DW_FORM_strp
- - Attribute: DW_AT_call_line
- Form: DW_FORM_data1
- - Code: 0x0000000000000003
- Tag: DW_TAG_inlined_subroutine
- Children: DW_CHILDREN_no
- Attributes:
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Attribute: DW_AT_low_pc
- Form: DW_FORM_addr
- - Attribute: DW_AT_high_pc
- Form: DW_FORM_data4
- - Attribute: DW_AT_call_file
- Form: DW_FORM_strp
- - Attribute: DW_AT_call_line
- Form: DW_FORM_data1
+ - Table:
+ - Code: 0x0000000000000001
+ Tag: DW_TAG_compile_unit
+ Children: DW_CHILDREN_yes
+ Attributes:
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_language
+ Form: DW_FORM_data2
+ - Attribute: DW_AT_low_pc
+ Form: DW_FORM_addr
+ - Code: 0x0000000000000002
+ Tag: DW_TAG_subprogram
+ Children: DW_CHILDREN_yes
+ Attributes:
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_low_pc
+ Form: DW_FORM_addr
+ - Attribute: DW_AT_high_pc
+ Form: DW_FORM_addr
+ - Attribute: DW_AT_decl_file
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_call_line
+ Form: DW_FORM_data1
+ - Code: 0x0000000000000003
+ Tag: DW_TAG_inlined_subroutine
+ Children: DW_CHILDREN_no
+ Attributes:
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_low_pc
+ Form: DW_FORM_addr
+ - Attribute: DW_AT_high_pc
+ Form: DW_FORM_data4
+ - Attribute: DW_AT_call_file
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_call_line
+ Form: DW_FORM_data1
debug_info:
- Length: 0x0000000000000048
Version: 4
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 fa6b2fbc8dda..21623d493396 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
@@ -178,38 +178,39 @@ DWARF:
- main
- foo
debug_abbrev:
- - Code: 0x00000001
- Tag: DW_TAG_compile_unit
- Children: DW_CHILDREN_yes
- Attributes:
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Attribute: DW_AT_language
- Form: DW_FORM_data2
- - Attribute: DW_AT_low_pc
- Form: DW_FORM_addr
- - Attribute: DW_AT_ranges
- Form: DW_FORM_sec_offset
- - Code: 0x00000002
- Tag: DW_TAG_subprogram
- Children: DW_CHILDREN_no
- Attributes:
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Attribute: DW_AT_low_pc
- Form: DW_FORM_addr
- - Attribute: DW_AT_high_pc
- Form: DW_FORM_data4
- - Code: 0x00000003
- Tag: DW_TAG_subprogram
- Children: DW_CHILDREN_no
- Attributes:
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Attribute: DW_AT_low_pc
- Form: DW_FORM_addr
- - Attribute: DW_AT_high_pc
- Form: DW_FORM_addr
+ - Table:
+ - Code: 0x00000001
+ Tag: DW_TAG_compile_unit
+ Children: DW_CHILDREN_yes
+ Attributes:
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_language
+ Form: DW_FORM_data2
+ - Attribute: DW_AT_low_pc
+ Form: DW_FORM_addr
+ - Attribute: DW_AT_ranges
+ Form: DW_FORM_sec_offset
+ - Code: 0x00000002
+ Tag: DW_TAG_subprogram
+ Children: DW_CHILDREN_no
+ Attributes:
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_low_pc
+ Form: DW_FORM_addr
+ - Attribute: DW_AT_high_pc
+ Form: DW_FORM_data4
+ - Code: 0x00000003
+ Tag: DW_TAG_subprogram
+ Children: DW_CHILDREN_no
+ Attributes:
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_low_pc
+ Form: DW_FORM_addr
+ - Attribute: DW_AT_high_pc
+ Form: DW_FORM_addr
debug_ranges:
- Offset: 0x00000000
AddrSize: 0x08
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 34f0285a169c..b1e378ff7e97 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
@@ -299,84 +299,85 @@ Slices:
- int
- char
debug_abbrev:
- - Code: 0x00000001
- Tag: DW_TAG_compile_unit
- Children: DW_CHILDREN_yes
- Attributes:
- - Attribute: DW_AT_producer
- Form: DW_FORM_strp
- - Attribute: DW_AT_language
- Form: DW_FORM_data2
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Attribute: DW_AT_stmt_list
- Form: DW_FORM_sec_offset
- - Attribute: DW_AT_comp_dir
- Form: DW_FORM_strp
- - Attribute: DW_AT_GNU_pubnames
- Form: DW_FORM_flag_present
- - Attribute: DW_AT_low_pc
- Form: DW_FORM_addr
- - Attribute: DW_AT_high_pc
- Form: DW_FORM_data4
- - Code: 0x00000002
- Tag: DW_TAG_subprogram
- Children: DW_CHILDREN_yes
- Attributes:
- - Attribute: DW_AT_low_pc
- Form: DW_FORM_addr
- - Attribute: DW_AT_high_pc
- Form: DW_FORM_data4
- - Attribute: DW_AT_frame_base
- Form: DW_FORM_exprloc
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Attribute: DW_AT_decl_file
- Form: DW_FORM_data1
- - Attribute: DW_AT_decl_line
- Form: DW_FORM_data1
- - Attribute: DW_AT_type
- Form: DW_FORM_ref_addr
- - Attribute: DW_AT_external
- Form: DW_FORM_flag_present
- - Attribute: DW_AT_APPLE_isa
- Form: DW_FORM_flag
- - Code: 0x00000003
- Tag: DW_TAG_formal_parameter
- Children: DW_CHILDREN_no
- Attributes:
- - Attribute: DW_AT_location
- Form: DW_FORM_exprloc
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Attribute: DW_AT_decl_file
- Form: DW_FORM_data1
- - Attribute: DW_AT_decl_line
- Form: DW_FORM_data1
- - Attribute: DW_AT_type
- Form: DW_FORM_ref_addr
- - Code: 0x00000004
- Tag: DW_TAG_base_type
- Children: DW_CHILDREN_no
- Attributes:
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Attribute: DW_AT_encoding
- Form: DW_FORM_data1
- - Attribute: DW_AT_byte_size
- Form: DW_FORM_data1
- - Code: 0x00000005
- Tag: DW_TAG_pointer_type
- Children: DW_CHILDREN_no
- Attributes:
- - Attribute: DW_AT_type
- Form: DW_FORM_ref_addr
- - Code: 0x00000006
- Tag: DW_TAG_const_type
- Children: DW_CHILDREN_no
- Attributes:
- - Attribute: DW_AT_type
- Form: DW_FORM_ref_addr
+ - Table:
+ - Code: 0x00000001
+ Tag: DW_TAG_compile_unit
+ Children: DW_CHILDREN_yes
+ Attributes:
+ - Attribute: DW_AT_producer
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_language
+ Form: DW_FORM_data2
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_stmt_list
+ Form: DW_FORM_sec_offset
+ - Attribute: DW_AT_comp_dir
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_GNU_pubnames
+ Form: DW_FORM_flag_present
+ - Attribute: DW_AT_low_pc
+ Form: DW_FORM_addr
+ - Attribute: DW_AT_high_pc
+ Form: DW_FORM_data4
+ - Code: 0x00000002
+ Tag: DW_TAG_subprogram
+ Children: DW_CHILDREN_yes
+ Attributes:
+ - Attribute: DW_AT_low_pc
+ Form: DW_FORM_addr
+ - Attribute: DW_AT_high_pc
+ Form: DW_FORM_data4
+ - Attribute: DW_AT_frame_base
+ Form: DW_FORM_exprloc
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_decl_file
+ Form: DW_FORM_data1
+ - Attribute: DW_AT_decl_line
+ Form: DW_FORM_data1
+ - Attribute: DW_AT_type
+ Form: DW_FORM_ref_addr
+ - Attribute: DW_AT_external
+ Form: DW_FORM_flag_present
+ - Attribute: DW_AT_APPLE_isa
+ Form: DW_FORM_flag
+ - Code: 0x00000003
+ Tag: DW_TAG_formal_parameter
+ Children: DW_CHILDREN_no
+ Attributes:
+ - Attribute: DW_AT_location
+ Form: DW_FORM_exprloc
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_decl_file
+ Form: DW_FORM_data1
+ - Attribute: DW_AT_decl_line
+ Form: DW_FORM_data1
+ - Attribute: DW_AT_type
+ Form: DW_FORM_ref_addr
+ - Code: 0x00000004
+ Tag: DW_TAG_base_type
+ Children: DW_CHILDREN_no
+ Attributes:
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_encoding
+ Form: DW_FORM_data1
+ - Attribute: DW_AT_byte_size
+ Form: DW_FORM_data1
+ - Code: 0x00000005
+ Tag: DW_TAG_pointer_type
+ Children: DW_CHILDREN_no
+ Attributes:
+ - Attribute: DW_AT_type
+ Form: DW_FORM_ref_addr
+ - Code: 0x00000006
+ Tag: DW_TAG_const_type
+ Children: DW_CHILDREN_no
+ Attributes:
+ - Attribute: DW_AT_type
+ Form: DW_FORM_ref_addr
debug_aranges:
- Length: 28
Version: 2
@@ -777,82 +778,83 @@ Slices:
- int
- char
debug_abbrev:
- - Code: 0x00000001
- Tag: DW_TAG_compile_unit
- Children: DW_CHILDREN_yes
- Attributes:
- - Attribute: DW_AT_producer
- Form: DW_FORM_strp
- - Attribute: DW_AT_language
- Form: DW_FORM_data2
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Attribute: DW_AT_stmt_list
- Form: DW_FORM_sec_offset
- - Attribute: DW_AT_comp_dir
- Form: DW_FORM_strp
- - Attribute: DW_AT_GNU_pubnames
- Form: DW_FORM_flag_present
- - Attribute: DW_AT_low_pc
- Form: DW_FORM_addr
- - Attribute: DW_AT_high_pc
- Form: DW_FORM_data4
- - Code: 0x00000002
- Tag: DW_TAG_subprogram
- Children: DW_CHILDREN_yes
- Attributes:
- - Attribute: DW_AT_low_pc
- Form: DW_FORM_addr
- - Attribute: DW_AT_high_pc
- Form: DW_FORM_data4
- - Attribute: DW_AT_frame_base
- Form: DW_FORM_exprloc
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Attribute: DW_AT_decl_file
- Form: DW_FORM_data1
- - Attribute: DW_AT_decl_line
- Form: DW_FORM_data1
- - Attribute: DW_AT_type
- Form: DW_FORM_ref_addr
- - Attribute: DW_AT_external
- Form: DW_FORM_flag_present
- - Code: 0x00000003
- Tag: DW_TAG_formal_parameter
- Children: DW_CHILDREN_no
- Attributes:
- - Attribute: DW_AT_location
- Form: DW_FORM_exprloc
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Attribute: DW_AT_decl_file
- Form: DW_FORM_data1
- - Attribute: DW_AT_decl_line
- Form: DW_FORM_data1
- - Attribute: DW_AT_type
- Form: DW_FORM_ref_addr
- - Code: 0x00000004
- Tag: DW_TAG_base_type
- Children: DW_CHILDREN_no
- Attributes:
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Attribute: DW_AT_encoding
- Form: DW_FORM_data1
- - Attribute: DW_AT_byte_size
- Form: DW_FORM_data1
- - Code: 0x00000005
- Tag: DW_TAG_pointer_type
- Children: DW_CHILDREN_no
- Attributes:
- - Attribute: DW_AT_type
- Form: DW_FORM_ref_addr
- - Code: 0x00000006
- Tag: DW_TAG_const_type
- Children: DW_CHILDREN_no
- Attributes:
- - Attribute: DW_AT_type
- Form: DW_FORM_ref_addr
+ - Table:
+ - Code: 0x00000001
+ Tag: DW_TAG_compile_unit
+ Children: DW_CHILDREN_yes
+ Attributes:
+ - Attribute: DW_AT_producer
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_language
+ Form: DW_FORM_data2
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_stmt_list
+ Form: DW_FORM_sec_offset
+ - Attribute: DW_AT_comp_dir
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_GNU_pubnames
+ Form: DW_FORM_flag_present
+ - Attribute: DW_AT_low_pc
+ Form: DW_FORM_addr
+ - Attribute: DW_AT_high_pc
+ Form: DW_FORM_data4
+ - Code: 0x00000002
+ Tag: DW_TAG_subprogram
+ Children: DW_CHILDREN_yes
+ Attributes:
+ - Attribute: DW_AT_low_pc
+ Form: DW_FORM_addr
+ - Attribute: DW_AT_high_pc
+ Form: DW_FORM_data4
+ - Attribute: DW_AT_frame_base
+ Form: DW_FORM_exprloc
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_decl_file
+ Form: DW_FORM_data1
+ - Attribute: DW_AT_decl_line
+ Form: DW_FORM_data1
+ - Attribute: DW_AT_type
+ Form: DW_FORM_ref_addr
+ - Attribute: DW_AT_external
+ Form: DW_FORM_flag_present
+ - Code: 0x00000003
+ Tag: DW_TAG_formal_parameter
+ Children: DW_CHILDREN_no
+ Attributes:
+ - Attribute: DW_AT_location
+ Form: DW_FORM_exprloc
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_decl_file
+ Form: DW_FORM_data1
+ - Attribute: DW_AT_decl_line
+ Form: DW_FORM_data1
+ - Attribute: DW_AT_type
+ Form: DW_FORM_ref_addr
+ - Code: 0x00000004
+ Tag: DW_TAG_base_type
+ Children: DW_CHILDREN_no
+ Attributes:
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_encoding
+ Form: DW_FORM_data1
+ - Attribute: DW_AT_byte_size
+ Form: DW_FORM_data1
+ - Code: 0x00000005
+ Tag: DW_TAG_pointer_type
+ Children: DW_CHILDREN_no
+ Attributes:
+ - Attribute: DW_AT_type
+ Form: DW_FORM_ref_addr
+ - Code: 0x00000006
+ Tag: DW_TAG_const_type
+ Children: DW_CHILDREN_no
+ Attributes:
+ - Attribute: DW_AT_type
+ Form: DW_FORM_ref_addr
debug_aranges:
- Length: 44
Version: 2
diff --git a/llvm/test/tools/llvm-gsymutil/X86/mach-dwarf.yaml b/llvm/test/tools/llvm-gsymutil/X86/mach-dwarf.yaml
index f32bcc8566e3..49b7ff8affa7 100644
--- a/llvm/test/tools/llvm-gsymutil/X86/mach-dwarf.yaml
+++ b/llvm/test/tools/llvm-gsymutil/X86/mach-dwarf.yaml
@@ -384,160 +384,161 @@ DWARF:
- argv
- char
debug_abbrev:
- - Code: 0x00000001
- Tag: DW_TAG_compile_unit
- Children: DW_CHILDREN_yes
- Attributes:
- - Attribute: DW_AT_producer
- Form: DW_FORM_strp
- - Attribute: DW_AT_language
- Form: DW_FORM_data2
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Attribute: DW_AT_stmt_list
- Form: DW_FORM_sec_offset
- - Attribute: DW_AT_comp_dir
- Form: DW_FORM_strp
- - Attribute: DW_AT_GNU_pubnames
- Form: DW_FORM_flag_present
- - Attribute: DW_AT_low_pc
- Form: DW_FORM_addr
- - Attribute: DW_AT_high_pc
- Form: DW_FORM_data4
- - Code: 0x00000002
- Tag: DW_TAG_subprogram
- Children: DW_CHILDREN_yes
- Attributes:
- - Attribute: DW_AT_low_pc
- Form: DW_FORM_addr
- - Attribute: DW_AT_high_pc
- Form: DW_FORM_data4
- - Attribute: DW_AT_frame_base
- Form: DW_FORM_exprloc
- - Attribute: DW_AT_abstract_origin
- Form: DW_FORM_ref_addr
- - Code: 0x00000003
- Tag: DW_TAG_formal_parameter
- Children: DW_CHILDREN_no
- Attributes:
- - Attribute: DW_AT_location
- Form: DW_FORM_exprloc
- - Attribute: DW_AT_abstract_origin
- Form: DW_FORM_ref_addr
- - Code: 0x00000004
- Tag: DW_TAG_subprogram
- Children: DW_CHILDREN_yes
- Attributes:
- - Attribute: DW_AT_linkage_name
- Form: DW_FORM_strp
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Attribute: DW_AT_decl_file
- Form: DW_FORM_data1
- - Attribute: DW_AT_decl_line
- Form: DW_FORM_data1
- - Attribute: DW_AT_type
- Form: DW_FORM_ref_addr
- - Attribute: DW_AT_external
- Form: DW_FORM_flag_present
- - Attribute: DW_AT_inline
- Form: DW_FORM_data1
- - Code: 0x00000005
- Tag: DW_TAG_formal_parameter
- Children: DW_CHILDREN_no
- Attributes:
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Attribute: DW_AT_decl_file
- Form: DW_FORM_data1
- - Attribute: DW_AT_decl_line
- Form: DW_FORM_data1
- - Attribute: DW_AT_type
- Form: DW_FORM_ref_addr
- - Code: 0x00000006
- Tag: DW_TAG_base_type
- Children: DW_CHILDREN_no
- Attributes:
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Attribute: DW_AT_encoding
- Form: DW_FORM_data1
- - Attribute: DW_AT_byte_size
- Form: DW_FORM_data1
- - Code: 0x00000007
- Tag: DW_TAG_subprogram
- Children: DW_CHILDREN_yes
- Attributes:
- - Attribute: DW_AT_low_pc
- Form: DW_FORM_addr
- - Attribute: DW_AT_high_pc
- Form: DW_FORM_data4
- - Attribute: DW_AT_frame_base
- Form: DW_FORM_exprloc
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Attribute: DW_AT_decl_file
- Form: DW_FORM_data1
- - Attribute: DW_AT_decl_line
- Form: DW_FORM_data1
- - Attribute: DW_AT_type
- Form: DW_FORM_ref_addr
- - Attribute: DW_AT_external
- Form: DW_FORM_flag_present
- - Code: 0x00000008
- Tag: DW_TAG_formal_parameter
- Children: DW_CHILDREN_no
- Attributes:
- - Attribute: DW_AT_location
- Form: DW_FORM_exprloc
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Attribute: DW_AT_decl_file
- Form: DW_FORM_data1
- - Attribute: DW_AT_decl_line
- Form: DW_FORM_data1
- - Attribute: DW_AT_type
- Form: DW_FORM_ref_addr
- - Code: 0x00000009
- Tag: DW_TAG_variable
- Children: DW_CHILDREN_no
- Attributes:
- - Attribute: DW_AT_location
- Form: DW_FORM_exprloc
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Attribute: DW_AT_decl_file
- Form: DW_FORM_data1
- - Attribute: DW_AT_decl_line
- Form: DW_FORM_data1
- - Attribute: DW_AT_type
- Form: DW_FORM_ref_addr
- - Code: 0x0000000A
- Tag: DW_TAG_inlined_subroutine
- Children: DW_CHILDREN_yes
- Attributes:
- - Attribute: DW_AT_abstract_origin
- Form: DW_FORM_ref_addr
- - Attribute: DW_AT_low_pc
- Form: DW_FORM_addr
- - Attribute: DW_AT_high_pc
- Form: DW_FORM_data4
- - Attribute: DW_AT_call_file
- Form: DW_FORM_data1
- - Attribute: DW_AT_call_line
- Form: DW_FORM_data1
- - Code: 0x0000000B
- Tag: DW_TAG_pointer_type
- Children: DW_CHILDREN_no
- Attributes:
- - Attribute: DW_AT_type
- Form: DW_FORM_ref_addr
- - Code: 0x0000000C
- Tag: DW_TAG_const_type
- Children: DW_CHILDREN_no
- Attributes:
- - Attribute: DW_AT_type
- Form: DW_FORM_ref_addr
+ - Table:
+ - Code: 0x00000001
+ Tag: DW_TAG_compile_unit
+ Children: DW_CHILDREN_yes
+ Attributes:
+ - Attribute: DW_AT_producer
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_language
+ Form: DW_FORM_data2
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_stmt_list
+ Form: DW_FORM_sec_offset
+ - Attribute: DW_AT_comp_dir
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_GNU_pubnames
+ Form: DW_FORM_flag_present
+ - Attribute: DW_AT_low_pc
+ Form: DW_FORM_addr
+ - Attribute: DW_AT_high_pc
+ Form: DW_FORM_data4
+ - Code: 0x00000002
+ Tag: DW_TAG_subprogram
+ Children: DW_CHILDREN_yes
+ Attributes:
+ - Attribute: DW_AT_low_pc
+ Form: DW_FORM_addr
+ - Attribute: DW_AT_high_pc
+ Form: DW_FORM_data4
+ - Attribute: DW_AT_frame_base
+ Form: DW_FORM_exprloc
+ - Attribute: DW_AT_abstract_origin
+ Form: DW_FORM_ref_addr
+ - Code: 0x00000003
+ Tag: DW_TAG_formal_parameter
+ Children: DW_CHILDREN_no
+ Attributes:
+ - Attribute: DW_AT_location
+ Form: DW_FORM_exprloc
+ - Attribute: DW_AT_abstract_origin
+ Form: DW_FORM_ref_addr
+ - Code: 0x00000004
+ Tag: DW_TAG_subprogram
+ Children: DW_CHILDREN_yes
+ Attributes:
+ - Attribute: DW_AT_linkage_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_decl_file
+ Form: DW_FORM_data1
+ - Attribute: DW_AT_decl_line
+ Form: DW_FORM_data1
+ - Attribute: DW_AT_type
+ Form: DW_FORM_ref_addr
+ - Attribute: DW_AT_external
+ Form: DW_FORM_flag_present
+ - Attribute: DW_AT_inline
+ Form: DW_FORM_data1
+ - Code: 0x00000005
+ Tag: DW_TAG_formal_parameter
+ Children: DW_CHILDREN_no
+ Attributes:
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_decl_file
+ Form: DW_FORM_data1
+ - Attribute: DW_AT_decl_line
+ Form: DW_FORM_data1
+ - Attribute: DW_AT_type
+ Form: DW_FORM_ref_addr
+ - Code: 0x00000006
+ Tag: DW_TAG_base_type
+ Children: DW_CHILDREN_no
+ Attributes:
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_encoding
+ Form: DW_FORM_data1
+ - Attribute: DW_AT_byte_size
+ Form: DW_FORM_data1
+ - Code: 0x00000007
+ Tag: DW_TAG_subprogram
+ Children: DW_CHILDREN_yes
+ Attributes:
+ - Attribute: DW_AT_low_pc
+ Form: DW_FORM_addr
+ - Attribute: DW_AT_high_pc
+ Form: DW_FORM_data4
+ - Attribute: DW_AT_frame_base
+ Form: DW_FORM_exprloc
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_decl_file
+ Form: DW_FORM_data1
+ - Attribute: DW_AT_decl_line
+ Form: DW_FORM_data1
+ - Attribute: DW_AT_type
+ Form: DW_FORM_ref_addr
+ - Attribute: DW_AT_external
+ Form: DW_FORM_flag_present
+ - Code: 0x00000008
+ Tag: DW_TAG_formal_parameter
+ Children: DW_CHILDREN_no
+ Attributes:
+ - Attribute: DW_AT_location
+ Form: DW_FORM_exprloc
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_decl_file
+ Form: DW_FORM_data1
+ - Attribute: DW_AT_decl_line
+ Form: DW_FORM_data1
+ - Attribute: DW_AT_type
+ Form: DW_FORM_ref_addr
+ - Code: 0x00000009
+ Tag: DW_TAG_variable
+ Children: DW_CHILDREN_no
+ Attributes:
+ - Attribute: DW_AT_location
+ Form: DW_FORM_exprloc
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_decl_file
+ Form: DW_FORM_data1
+ - Attribute: DW_AT_decl_line
+ Form: DW_FORM_data1
+ - Attribute: DW_AT_type
+ Form: DW_FORM_ref_addr
+ - Code: 0x0000000A
+ Tag: DW_TAG_inlined_subroutine
+ Children: DW_CHILDREN_yes
+ Attributes:
+ - Attribute: DW_AT_abstract_origin
+ Form: DW_FORM_ref_addr
+ - Attribute: DW_AT_low_pc
+ Form: DW_FORM_addr
+ - Attribute: DW_AT_high_pc
+ Form: DW_FORM_data4
+ - Attribute: DW_AT_call_file
+ Form: DW_FORM_data1
+ - Attribute: DW_AT_call_line
+ Form: DW_FORM_data1
+ - Code: 0x0000000B
+ Tag: DW_TAG_pointer_type
+ Children: DW_CHILDREN_no
+ Attributes:
+ - Attribute: DW_AT_type
+ Form: DW_FORM_ref_addr
+ - Code: 0x0000000C
+ Tag: DW_TAG_const_type
+ Children: DW_CHILDREN_no
+ Attributes:
+ - Attribute: DW_AT_type
+ Form: DW_FORM_ref_addr
debug_aranges:
- Length: 60
Version: 2
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 c8b5875d3ad0..6b12849fadef 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
@@ -312,84 +312,85 @@ DWARF:
- bar
- main
debug_abbrev:
- - Code: 0x00000001
- Tag: DW_TAG_compile_unit
- Children: DW_CHILDREN_yes
- Attributes:
- - Attribute: DW_AT_producer
- Form: DW_FORM_strp
- - Attribute: DW_AT_language
- Form: DW_FORM_data2
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Attribute: DW_AT_stmt_list
- Form: DW_FORM_sec_offset
- - Attribute: DW_AT_comp_dir
- Form: DW_FORM_strp
- - Attribute: DW_AT_low_pc
- Form: DW_FORM_addr
- - Attribute: DW_AT_high_pc
- Form: DW_FORM_data4
- - Code: 0x00000002
- Tag: DW_TAG_variable
- Children: DW_CHILDREN_no
- Attributes:
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Attribute: DW_AT_type
- Form: DW_FORM_ref4
- - Attribute: DW_AT_external
- Form: DW_FORM_flag_present
- - Attribute: DW_AT_decl_file
- Form: DW_FORM_data1
- - Attribute: DW_AT_decl_line
- Form: DW_FORM_data1
- - Attribute: DW_AT_location
- Form: DW_FORM_exprloc
- - Code: 0x00000003
- Tag: DW_TAG_base_type
- Children: DW_CHILDREN_no
- Attributes:
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Attribute: DW_AT_encoding
- Form: DW_FORM_data1
- - Attribute: DW_AT_byte_size
- Form: DW_FORM_data1
- - Code: 0x00000004
- Tag: DW_TAG_variable
- Children: DW_CHILDREN_no
- Attributes:
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Attribute: DW_AT_type
- Form: DW_FORM_ref4
- - Attribute: DW_AT_decl_file
- Form: DW_FORM_data1
- - Attribute: DW_AT_decl_line
- Form: DW_FORM_data1
- - Attribute: DW_AT_location
- Form: DW_FORM_exprloc
- - Code: 0x00000005
- Tag: DW_TAG_subprogram
- Children: DW_CHILDREN_no
- Attributes:
- - Attribute: DW_AT_low_pc
- Form: DW_FORM_addr
- - Attribute: DW_AT_high_pc
- Form: DW_FORM_data4
- - Attribute: DW_AT_frame_base
- Form: DW_FORM_exprloc
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Attribute: DW_AT_decl_file
- Form: DW_FORM_data1
- - Attribute: DW_AT_decl_line
- Form: DW_FORM_data1
- - Attribute: DW_AT_type
- Form: DW_FORM_ref4
- - Attribute: DW_AT_external
- Form: DW_FORM_flag_present
+ - Table:
+ - Code: 0x00000001
+ Tag: DW_TAG_compile_unit
+ Children: DW_CHILDREN_yes
+ Attributes:
+ - Attribute: DW_AT_producer
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_language
+ Form: DW_FORM_data2
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_stmt_list
+ Form: DW_FORM_sec_offset
+ - Attribute: DW_AT_comp_dir
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_low_pc
+ Form: DW_FORM_addr
+ - Attribute: DW_AT_high_pc
+ Form: DW_FORM_data4
+ - Code: 0x00000002
+ Tag: DW_TAG_variable
+ Children: DW_CHILDREN_no
+ Attributes:
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_type
+ Form: DW_FORM_ref4
+ - Attribute: DW_AT_external
+ Form: DW_FORM_flag_present
+ - Attribute: DW_AT_decl_file
+ Form: DW_FORM_data1
+ - Attribute: DW_AT_decl_line
+ Form: DW_FORM_data1
+ - Attribute: DW_AT_location
+ Form: DW_FORM_exprloc
+ - Code: 0x00000003
+ Tag: DW_TAG_base_type
+ Children: DW_CHILDREN_no
+ Attributes:
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_encoding
+ Form: DW_FORM_data1
+ - Attribute: DW_AT_byte_size
+ Form: DW_FORM_data1
+ - Code: 0x00000004
+ Tag: DW_TAG_variable
+ Children: DW_CHILDREN_no
+ Attributes:
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_type
+ Form: DW_FORM_ref4
+ - Attribute: DW_AT_decl_file
+ Form: DW_FORM_data1
+ - Attribute: DW_AT_decl_line
+ Form: DW_FORM_data1
+ - Attribute: DW_AT_location
+ Form: DW_FORM_exprloc
+ - Code: 0x00000005
+ Tag: DW_TAG_subprogram
+ Children: DW_CHILDREN_no
+ Attributes:
+ - Attribute: DW_AT_low_pc
+ Form: DW_FORM_addr
+ - Attribute: DW_AT_high_pc
+ Form: DW_FORM_data4
+ - Attribute: DW_AT_frame_base
+ Form: DW_FORM_exprloc
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_decl_file
+ Form: DW_FORM_data1
+ - Attribute: DW_AT_decl_line
+ Form: DW_FORM_data1
+ - Attribute: DW_AT_type
+ Form: DW_FORM_ref4
+ - Attribute: DW_AT_external
+ Form: DW_FORM_flag_present
debug_info:
- Length: 113
Version: 4
diff --git a/llvm/test/tools/yaml2obj/ELF/DWARF/debug-abbrev.yaml b/llvm/test/tools/yaml2obj/ELF/DWARF/debug-abbrev.yaml
index 910a8366226b..82786db446bc 100644
--- a/llvm/test/tools/yaml2obj/ELF/DWARF/debug-abbrev.yaml
+++ b/llvm/test/tools/yaml2obj/ELF/DWARF/debug-abbrev.yaml
@@ -4,7 +4,7 @@
# RUN: yaml2obj --docnum=1 %s -o %t1.o
# RUN: llvm-readobj --sections --section-data %t1.o | \
-# RUN: FileCheck -DSIZE=39 -DADDRALIGN=1 %s --check-prefixes=SHDR,CONTENT
+# RUN: FileCheck -DSIZE=54 -DADDRALIGN=1 %s --check-prefixes=SHDR,CONTENT
# SHDR: Index: 1
# SHDR-NEXT: Name: .debug_abbrev (1)
@@ -42,9 +42,21 @@
## ^--- Form: invalid ULEB128 (0x81) ^--- Attribute: reserved ULEB128 (0x2020)
## ^- Attribute: reserved ULEB128 ^- DW_FORM_implicit_const ULEB128
##
-# CONTENT-NEXT: 0020: CEC2F105 000000 |.......|
+# CONTENT-NEXT: 0020: CEC2F105 00000001
## ^------- Value SLEB128 (12345678) ^--- attr terminator
## ^- abbrev terminator
+## ^- abbreviation code ULEB128
+# CONTENT: 1101250E 0000022E |..........%.....|
+## ^- DW_TAG_compile_unit ULEB128 ^--- attr terminator
+## ^- DW_CHILDREN_yes 1-byte ^- abbreviation code ULEB128
+## ^- DW_AT_producer ULEB128 ^- DW_TAG_subprogram ULEB128
+## ^- DW_FORM_strp ULEB128
+# CONTENT-NEXT: 0030: 01110100 0000 |......|
+## ^- DW_CHILDREN_yes 1-byte
+## ^- DW_AT_low_pc ULEB128
+## ^- DW_FORM_addr UELB128
+## ^---- attr terminator
+## ^- abbrev table terminator
# CONTENT-NEXT: )
--- !ELF
@@ -54,42 +66,56 @@ FileHeader:
Type: ET_EXEC
DWARF:
debug_abbrev:
- - Code: 1
- Tag: DW_TAG_compile_unit
- Children: DW_CHILDREN_yes
- Attributes:
- - Attribute: DW_AT_producer
- Form: DW_FORM_strp
- - Attribute: DW_AT_language
- Form: DW_FORM_data2
- - Attribute: DW_AT_name
- Form: DW_FORM_strx
- - Code: 2
- Tag: DW_TAG_subprogram
- Children: DW_CHILDREN_yes
- Attributes:
- - Attribute: DW_AT_low_pc
- Form: DW_FORM_addr
- - Attribute: DW_AT_high_pc
- Form: DW_FORM_addrx
- - Code: 3
- ## Test a reserved tag value.
- Tag: 0x06
- Children: DW_CHILDREN_no
- Attributes:
- ## Test an attribute value that is more than one byte.
- - Attribute: DW_AT_call_pc
- ## Test a form value that is more than one byte.
- Form: 0x81
- ## Test a reserved attribute value.
- - Attribute: 0x04
- ## Test a reserved form value.
- Form: 0x02
- - Attribute: 0x2020
- ## Test one special attribute form DW_FORM_implicit_const,
- ## who is followed by a SLEB128 value.
- Form: DW_FORM_implicit_const
- Value: 12345678
+ - Table:
+ - Code: 1
+ Tag: DW_TAG_compile_unit
+ Children: DW_CHILDREN_yes
+ Attributes:
+ - Attribute: DW_AT_producer
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_language
+ Form: DW_FORM_data2
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strx
+ - Code: 2
+ Tag: DW_TAG_subprogram
+ Children: DW_CHILDREN_yes
+ Attributes:
+ - Attribute: DW_AT_low_pc
+ Form: DW_FORM_addr
+ - Attribute: DW_AT_high_pc
+ Form: DW_FORM_addrx
+ - Code: 3
+ ## Test a reserved tag value.
+ Tag: 0x06
+ Children: DW_CHILDREN_no
+ Attributes:
+ ## Test an attribute value that is more than one byte.
+ - Attribute: DW_AT_call_pc
+ ## Test a form value that is more than one byte.
+ Form: 0x81
+ ## Test a reserved attribute value.
+ - Attribute: 0x04
+ ## Test a reserved form value.
+ Form: 0x02
+ - Attribute: 0x2020
+ ## Test one special attribute form DW_FORM_implicit_const,
+ ## who is followed by a SLEB128 value.
+ Form: DW_FORM_implicit_const
+ Value: 12345678
+ - Table:
+ - Code: 1
+ Tag: DW_TAG_compile_unit
+ Children: DW_CHILDREN_yes
+ Attributes:
+ - Attribute: DW_AT_producer
+ Form: DW_FORM_strp
+ - Code: 2
+ Tag: DW_TAG_subprogram
+ Children: DW_CHILDREN_yes
+ Attributes:
+ - Attribute: DW_AT_low_pc
+ Form: DW_FORM_addr
## b) Generate the .debug_abbrev section from raw section content.
@@ -149,10 +175,11 @@ Sections:
Size: 0x10
DWARF:
debug_abbrev:
- - Code: 1
- Tag: DW_TAG_compile_unit
- Children: DW_CHILDREN_no
- Attributes: []
+ - Table:
+ - Code: 1
+ Tag: DW_TAG_compile_unit
+ Children: DW_CHILDREN_no
+ Attributes: []
## e) Test that yaml2obj emits an error message when both the "Content" and the
## "debug_abbrev" entry are specified at the same time.
@@ -170,10 +197,11 @@ Sections:
Content: "00"
DWARF:
debug_abbrev:
- - Code: 1
- Tag: DW_TAG_compile_unit
- Children: DW_CHILDREN_no
- Attributes: []
+ - Table:
+ - Code: 1
+ Tag: DW_TAG_compile_unit
+ Children: DW_CHILDREN_no
+ Attributes: []
## f) Test that all the properties can be overridden by the section header when
## the "debug_abbrev" entry doesn't exist.
@@ -229,10 +257,11 @@ Sections:
Type: SHT_STRTAB
DWARF:
debug_abbrev:
- - Code: 1
- Tag: DW_TAG_compile_unit
- Children: DW_CHILDREN_no
- Attributes: []
+ - Table:
+ - Code: 1
+ Tag: DW_TAG_compile_unit
+ Children: DW_CHILDREN_no
+ Attributes: []
## h) Test that yaml2obj automatically generates abbreviation codes for us.
@@ -256,23 +285,24 @@ FileHeader:
Type: ET_EXEC
DWARF:
debug_abbrev:
- - Tag: DW_TAG_compile_unit
- Children: DW_CHILDREN_no
- Attributes: []
- - Tag: DW_TAG_subprogram
- Children: DW_CHILDREN_no
- Attributes: []
- - Code: 4
- Tag: DW_TAG_subprogram
- Children: DW_CHILDREN_no
- Attributes: []
- - Code: 4
- Tag: DW_TAG_subprogram
- Children: DW_CHILDREN_no
- Attributes: []
- - Tag: DW_TAG_subprogram
- Children: DW_CHILDREN_no
- Attributes: []
- - Tag: DW_TAG_subprogram
- Children: DW_CHILDREN_no
- Attributes: []
+ - Table:
+ - Tag: DW_TAG_compile_unit
+ Children: DW_CHILDREN_no
+ Attributes: []
+ - Tag: DW_TAG_subprogram
+ Children: DW_CHILDREN_no
+ Attributes: []
+ - Code: 4
+ Tag: DW_TAG_subprogram
+ Children: DW_CHILDREN_no
+ Attributes: []
+ - Code: 4
+ Tag: DW_TAG_subprogram
+ Children: DW_CHILDREN_no
+ Attributes: []
+ - Tag: DW_TAG_subprogram
+ Children: DW_CHILDREN_no
+ Attributes: []
+ - Tag: DW_TAG_subprogram
+ Children: DW_CHILDREN_no
+ Attributes: []
diff --git a/llvm/test/tools/yaml2obj/ELF/DWARF/debug-info.yaml b/llvm/test/tools/yaml2obj/ELF/DWARF/debug-info.yaml
index 3eec85eb08dc..d3698f18ed66 100644
--- a/llvm/test/tools/yaml2obj/ELF/DWARF/debug-info.yaml
+++ b/llvm/test/tools/yaml2obj/ELF/DWARF/debug-info.yaml
@@ -115,95 +115,96 @@ FileHeader:
Type: ET_EXEC
DWARF:
debug_abbrev:
- - Code: 1
- Tag: DW_TAG_compile_unit
- Children: DW_CHILDREN_no
- Attributes:
- - Attribute: 0x01
- Form: DW_FORM_addr ## 0x01
- - Attribute: 0x01
- Form: DW_FORM_block2 ## 0x03
- - Attribute: 0x01
- Form: DW_FORM_block4 ## 0x04
- - Attribute: 0x01
- Form: DW_FORM_data2 ## 0x05
- - Attribute: 0x01
- Form: DW_FORM_data4 ## 0x06
- - Attribute: 0x01
- Form: DW_FORM_data8 ## 0x07
- - Attribute: 0x01
- Form: DW_FORM_string ## 0x08
- - Attribute: 0x01
- Form: DW_FORM_block ## 0x09
- - Attribute: 0x01
- Form: DW_FORM_block1 ## 0x0a
- - Attribute: 0x01
- Form: DW_FORM_data1 ## 0x0b
- - Attribute: 0x01
- Form: DW_FORM_flag ## 0x0c
- - Attribute: 0x01
- Form: DW_FORM_sdata ## 0x0d
- - Attribute: 0x01
- Form: DW_FORM_strp ## 0x0e
- - Attribute: 0x01
- Form: DW_FORM_udata ## 0x0f
- - Attribute: 0x01
- Form: DW_FORM_ref_addr ## 0x10
- - Attribute: 0x01
- Form: DW_FORM_ref1 ## 0x11
- - Attribute: 0x01
- Form: DW_FORM_ref2 ## 0x12
- - Attribute: 0x01
- Form: DW_FORM_ref4 ## 0x13
- - Attribute: 0x01
- Form: DW_FORM_ref8 ## 0x14
- - Attribute: 0x01
- Form: DW_FORM_ref_udata ## 0x15
- - Attribute: 0x01
- Form: DW_FORM_indirect ## 0x16
- - Attribute: 0x01
- Form: DW_FORM_sec_offset ## 0x17
- - Attribute: 0x01
- Form: DW_FORM_exprloc ## 0x18
- - Attribute: 0x01
- Form: DW_FORM_strx ## 0x1a
- - Attribute: 0x01
- Form: DW_FORM_addrx ## 0x1b
- - Attribute: 0x01
- Form: DW_FORM_ref_sup4 ## 0x1c
- - Attribute: 0x01
- Form: DW_FORM_strp_sup ## 0x1d
- - Attribute: 0x01
- Form: DW_FORM_data16 ## 0x1e
- - Attribute: 0x01
- Form: DW_FORM_line_strp ## 0x1f
- - Attribute: 0x01
- Form: DW_FORM_ref_sig8 ## 0x20
- - Attribute: 0x01
- Form: DW_FORM_implicit_const ## 0x21
- Value: 0x01
- - Attribute: 0x01
- Form: DW_FORM_loclistx ## 0x22
- - Attribute: 0x01
- Form: DW_FORM_rnglistx ## 0x23
- - Attribute: 0x01
- Form: DW_FORM_ref_sup8 ## 0x24
- - Attribute: 0x01
- Form: DW_FORM_strx1 ## 0x25
- - Attribute: 0x01
- Form: DW_FORM_strx2 ## 0x26
- - Attribute: 0x01
- Form: DW_FORM_strx3 ## 0x27
- - Attribute: 0x01
- Form: DW_FORM_strx4 ## 0x28
- - Attribute: 0x01
- Form: DW_FORM_addrx1 ## 0x29
- - Attribute: 0x01
- Form: DW_FORM_addrx2 ## 0x2a
- - Attribute: 0x01
- Form: DW_FORM_addrx3 ## 0x2b
- - Attribute: 0x01
- Form: DW_FORM_addrx4 ## 0x2c
+ - Table:
+ - Code: 1
+ Tag: DW_TAG_compile_unit
+ Children: DW_CHILDREN_no
+ Attributes:
+ - Attribute: 0x01
+ Form: DW_FORM_addr ## 0x01
+ - Attribute: 0x01
+ Form: DW_FORM_block2 ## 0x03
+ - Attribute: 0x01
+ Form: DW_FORM_block4 ## 0x04
+ - Attribute: 0x01
+ Form: DW_FORM_data2 ## 0x05
+ - Attribute: 0x01
+ Form: DW_FORM_data4 ## 0x06
+ - Attribute: 0x01
+ Form: DW_FORM_data8 ## 0x07
+ - Attribute: 0x01
+ Form: DW_FORM_string ## 0x08
+ - Attribute: 0x01
+ Form: DW_FORM_block ## 0x09
+ - Attribute: 0x01
+ Form: DW_FORM_block1 ## 0x0a
+ - Attribute: 0x01
+ Form: DW_FORM_data1 ## 0x0b
+ - Attribute: 0x01
+ Form: DW_FORM_flag ## 0x0c
+ - Attribute: 0x01
+ Form: DW_FORM_sdata ## 0x0d
+ - Attribute: 0x01
+ Form: DW_FORM_strp ## 0x0e
+ - Attribute: 0x01
+ Form: DW_FORM_udata ## 0x0f
+ - Attribute: 0x01
+ Form: DW_FORM_ref_addr ## 0x10
+ - Attribute: 0x01
+ Form: DW_FORM_ref1 ## 0x11
+ - Attribute: 0x01
+ Form: DW_FORM_ref2 ## 0x12
+ - Attribute: 0x01
+ Form: DW_FORM_ref4 ## 0x13
+ - Attribute: 0x01
+ Form: DW_FORM_ref8 ## 0x14
+ - Attribute: 0x01
+ Form: DW_FORM_ref_udata ## 0x15
+ - Attribute: 0x01
+ Form: DW_FORM_indirect ## 0x16
+ - Attribute: 0x01
+ Form: DW_FORM_sec_offset ## 0x17
+ - Attribute: 0x01
+ Form: DW_FORM_exprloc ## 0x18
+ - Attribute: 0x01
+ Form: DW_FORM_strx ## 0x1a
+ - Attribute: 0x01
+ Form: DW_FORM_addrx ## 0x1b
+ - Attribute: 0x01
+ Form: DW_FORM_ref_sup4 ## 0x1c
+ - Attribute: 0x01
+ Form: DW_FORM_strp_sup ## 0x1d
+ - Attribute: 0x01
+ Form: DW_FORM_data16 ## 0x1e
+ - Attribute: 0x01
+ Form: DW_FORM_line_strp ## 0x1f
+ - Attribute: 0x01
+ Form: DW_FORM_ref_sig8 ## 0x20
+ - Attribute: 0x01
+ Form: DW_FORM_implicit_const ## 0x21
+ Value: 0x01
+ - Attribute: 0x01
+ Form: DW_FORM_loclistx ## 0x22
+ - Attribute: 0x01
+ Form: DW_FORM_rnglistx ## 0x23
+ - Attribute: 0x01
+ Form: DW_FORM_ref_sup8 ## 0x24
+ - Attribute: 0x01
+ Form: DW_FORM_strx1 ## 0x25
+ - Attribute: 0x01
+ Form: DW_FORM_strx2 ## 0x26
+ - Attribute: 0x01
+ Form: DW_FORM_strx3 ## 0x27
+ - Attribute: 0x01
+ Form: DW_FORM_strx4 ## 0x28
+ - Attribute: 0x01
+ Form: DW_FORM_addrx1 ## 0x29
+ - Attribute: 0x01
+ Form: DW_FORM_addrx2 ## 0x2a
+ - Attribute: 0x01
+ Form: DW_FORM_addrx3 ## 0x2b
+ - Attribute: 0x01
+ Form: DW_FORM_addrx4 ## 0x2c
debug_info:
- Length: 0x1234
Version: 5
@@ -266,20 +267,20 @@ DWARF:
- Value: 0x1234 ## DW_FORM_addrx2
- Value: 0x123456 ## DW_FORM_addrx3 (unimplemented)
- Value: 0x12345678 ## DW_FORM_addrx4
- - Length: 0x1234
- Version: 5
+ - Length: 0x1234
+ Version: 5
## Test another unit type.
- UnitType: DW_UT_compile
- AbbrOffset: 0x1234
- AddrSize: 4
+ UnitType: DW_UT_compile
+ AbbrOffset: 0x1234
+ AddrSize: 4
Entries:
- AbbrCode: 0
Values: []
- - Length: 0x5678
+ - Length: 0x5678
## Test DWARFv4
- Version: 4
- AbbrOffset: 0x5678
- AddrSize: 4
+ Version: 4
+ AbbrOffset: 0x5678
+ AddrSize: 4
Entries:
- AbbrCode: 1
Values:
@@ -440,10 +441,11 @@ Sections:
Size: 0x10
DWARF:
debug_abbrev:
- - Code: 1
- Tag: DW_TAG_compile_unit
- Children: DW_CHILDREN_no
- Attributes: []
+ - Table:
+ - Code: 1
+ Tag: DW_TAG_compile_unit
+ Children: DW_CHILDREN_no
+ Attributes: []
debug_info:
- Length: 0x1234
Version: 5
@@ -467,10 +469,11 @@ Sections:
Content: "00"
DWARF:
debug_abbrev:
- - Code: 1
- Tag: DW_TAG_compile_unit
- Children: DW_CHILDREN_no
- Attributes: []
+ - Table:
+ - Code: 1
+ Tag: DW_TAG_compile_unit
+ Children: DW_CHILDREN_no
+ Attributes: []
debug_info:
- Length: 0x1234
Version: 5
@@ -532,10 +535,11 @@ Sections:
Type: SHT_STRTAB
DWARF:
debug_abbrev:
- - Code: 1
- Tag: DW_TAG_compile_unit
- Children: DW_CHILDREN_no
- Attributes: []
+ - Table:
+ - Code: 1
+ Tag: DW_TAG_compile_unit
+ Children: DW_CHILDREN_no
+ Attributes: []
debug_info:
- Length: 0x1234
Version: 5
@@ -597,20 +601,21 @@ FileHeader:
Type: ET_EXEC
DWARF:
debug_abbrev:
- - Tag: DW_TAG_compile_unit
- Children: DW_CHILDREN_yes
- Attributes:
- - Attribute: DW_AT_low_pc
- Form: DW_FORM_data4
- - Attribute: DW_AT_high_pc
- Form: DW_FORM_data2
- - Tag: DW_TAG_subprogram
- Children: DW_CHILDREN_no
- Attributes:
- - Attribute: DW_AT_low_pc
- Form: DW_FORM_data2
- - Attribute: DW_AT_high_pc
- Form: DW_FORM_data4
+ - Table:
+ - Tag: DW_TAG_compile_unit
+ Children: DW_CHILDREN_yes
+ Attributes:
+ - Attribute: DW_AT_low_pc
+ Form: DW_FORM_data4
+ - Attribute: DW_AT_high_pc
+ Form: DW_FORM_data2
+ - Tag: DW_TAG_subprogram
+ Children: DW_CHILDREN_no
+ Attributes:
+ - Attribute: DW_AT_low_pc
+ Form: DW_FORM_data2
+ - Attribute: DW_AT_high_pc
+ Form: DW_FORM_data4
debug_info:
- Length: 0x1234
Version: 5
@@ -647,6 +652,8 @@ FileHeader:
Data: ELFDATA2LSB
Type: ET_EXEC
DWARF:
+ debug_abbrev:
+ - Table: []
debug_info:
- Length: 0x1234
Version: 5
@@ -774,34 +781,35 @@ DWARF:
- "/home/v/x/llvm/playground"
- "main"
debug_abbrev:
- - Code: 1
- Tag: DW_TAG_compile_unit
- Children: DW_CHILDREN_yes
- Attributes:
- - Attribute: DW_AT_producer
- Form: DW_FORM_strp
- - Attribute: DW_AT_language
- Form: DW_FORM_data2
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Attribute: DW_AT_stmt_list
- Form: DW_FORM_sec_offset
- - Attribute: DW_AT_comp_dir
- Form: DW_FORM_strp
- - Attribute: DW_AT_low_pc
- Form: DW_FORM_addr
- - Attribute: DW_AT_high_pc
- Form: DW_FORM_data4
- - Code: 2
- Tag: DW_TAG_subprogram
- Children: DW_CHILDREN_no
- Attributes:
- - Attribute: DW_AT_low_pc
- Form: DW_FORM_addr
- - Attribute: DW_AT_high_pc
- Form: DW_FORM_data4
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
+ - Table:
+ - Code: 1
+ Tag: DW_TAG_compile_unit
+ Children: DW_CHILDREN_yes
+ Attributes:
+ - Attribute: DW_AT_producer
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_language
+ Form: DW_FORM_data2
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_stmt_list
+ Form: DW_FORM_sec_offset
+ - Attribute: DW_AT_comp_dir
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_low_pc
+ Form: DW_FORM_addr
+ - Attribute: DW_AT_high_pc
+ Form: DW_FORM_data4
+ - Code: 2
+ Tag: DW_TAG_subprogram
+ Children: DW_CHILDREN_no
+ Attributes:
+ - Attribute: DW_AT_low_pc
+ Form: DW_FORM_addr
+ - Attribute: DW_AT_high_pc
+ Form: DW_FORM_data4
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
debug_info:
- Version: 4
AbbrOffset: 0x00
@@ -873,3 +881,24 @@ DWARF:
debug_info:
- Version: 4
AbbrOffset: 0x00
+
+## n) Test that yaml2obj emits an error message when a compilation unit has values but there is no associated abbrev table.
+
+## RUN: not yaml2obj --docnum=16 %s 2>&1 | FileCheck %s --check-prefix=NO-ABBREV
+
+# NO-ABBREV: yaml2obj: error: non-empty compilation unit should have an associated abbrev table
+
+--- !ELF
+FileHeader:
+ Class: ELFCLASS64
+ Data: ELFDATA2LSB
+ Type: ET_EXEC
+ Machine: EM_X86_64
+DWARF:
+ debug_info:
+ - Version: 4
+ AbbrOffset: 0x00
+ Entries:
+ - AbbrCode: 1
+ Values:
+ - Value: 0x1234
diff --git a/llvm/tools/obj2yaml/dwarf2yaml.cpp b/llvm/tools/obj2yaml/dwarf2yaml.cpp
index 36b8a638d62b..6acce091ab9f 100644
--- a/llvm/tools/obj2yaml/dwarf2yaml.cpp
+++ b/llvm/tools/obj2yaml/dwarf2yaml.cpp
@@ -24,6 +24,7 @@ void dumpDebugAbbrev(DWARFContext &DCtx, DWARFYAML::Data &Y) {
auto AbbrevSetPtr = DCtx.getDebugAbbrev();
if (AbbrevSetPtr) {
for (auto AbbrvDeclSet : *AbbrevSetPtr) {
+ Y.DebugAbbrev.emplace_back();
for (auto AbbrvDecl : AbbrvDeclSet.second) {
DWARFYAML::Abbrev Abbrv;
Abbrv.Code = AbbrvDecl.getCode();
@@ -38,7 +39,7 @@ void dumpDebugAbbrev(DWARFContext &DCtx, DWARFYAML::Data &Y) {
AttAbrv.Value = Attribute.getImplicitConstValue();
Abbrv.Attributes.push_back(AttAbrv);
}
- Y.AbbrevDecls.push_back(Abbrv);
+ Y.DebugAbbrev.back().Table.push_back(Abbrv);
}
}
}
diff --git a/llvm/unittests/DebugInfo/DWARF/DWARFDebugInfoTest.cpp b/llvm/unittests/DebugInfo/DWARF/DWARFDebugInfoTest.cpp
index 6e5215659e9d..f59b18ff3b9b 100644
--- a/llvm/unittests/DebugInfo/DWARF/DWARFDebugInfoTest.cpp
+++ b/llvm/unittests/DebugInfo/DWARF/DWARFDebugInfoTest.cpp
@@ -1363,10 +1363,11 @@ TEST(DWARFDebugInfo, TestChildIteratorsOnInvalidDie) {
TEST(DWARFDebugInfo, TestEmptyChildren) {
const char *yamldata = "debug_abbrev:\n"
- " - Code: 0x00000001\n"
- " Tag: DW_TAG_compile_unit\n"
- " Children: DW_CHILDREN_yes\n"
- " Attributes:\n"
+ " - Table:\n"
+ " - Code: 0x00000001\n"
+ " Tag: DW_TAG_compile_unit\n"
+ " Children: DW_CHILDREN_yes\n"
+ " Attributes:\n"
"debug_info:\n"
" - Version: 4\n"
" AbbrOffset: 0\n"
@@ -1885,20 +1886,21 @@ TEST(DWARFDebugInfo, TestDwarfVerifyInvalidCURef) {
- /tmp/main.c
- main
debug_abbrev:
- - Code: 0x00000001
- Tag: DW_TAG_compile_unit
- Children: DW_CHILDREN_yes
- Attributes:
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Code: 0x00000002
- Tag: DW_TAG_subprogram
- Children: DW_CHILDREN_no
- Attributes:
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Attribute: DW_AT_type
- Form: DW_FORM_ref4
+ - Table:
+ - Code: 0x00000001
+ Tag: DW_TAG_compile_unit
+ Children: DW_CHILDREN_yes
+ Attributes:
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Code: 0x00000002
+ Tag: DW_TAG_subprogram
+ Children: DW_CHILDREN_no
+ Attributes:
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_type
+ Form: DW_FORM_ref4
debug_info:
- Length: 22
Version: 4
@@ -1933,20 +1935,21 @@ TEST(DWARFDebugInfo, TestDwarfVerifyInvalidRefAddr) {
- /tmp/main.c
- main
debug_abbrev:
- - Code: 0x00000001
- Tag: DW_TAG_compile_unit
- Children: DW_CHILDREN_yes
- Attributes:
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Code: 0x00000002
- Tag: DW_TAG_subprogram
- Children: DW_CHILDREN_no
- Attributes:
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Attribute: DW_AT_type
- Form: DW_FORM_ref_addr
+ - Table:
+ - Code: 0x00000001
+ Tag: DW_TAG_compile_unit
+ Children: DW_CHILDREN_yes
+ Attributes:
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Code: 0x00000002
+ Tag: DW_TAG_subprogram
+ Children: DW_CHILDREN_no
+ Attributes:
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_type
+ Form: DW_FORM_ref_addr
debug_info:
- Length: 22
Version: 4
@@ -1979,14 +1982,15 @@ TEST(DWARFDebugInfo, TestDwarfVerifyInvalidRanges) {
- ''
- /tmp/main.c
debug_abbrev:
- - Code: 0x00000001
- Tag: DW_TAG_compile_unit
- Children: DW_CHILDREN_no
- Attributes:
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Attribute: DW_AT_ranges
- Form: DW_FORM_sec_offset
+ - Table:
+ - Code: 0x00000001
+ Tag: DW_TAG_compile_unit
+ Children: DW_CHILDREN_no
+ Attributes:
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_ranges
+ Form: DW_FORM_sec_offset
debug_info:
- Length: 16
Version: 4
@@ -2016,14 +2020,15 @@ TEST(DWARFDebugInfo, TestDwarfVerifyInvalidRnglists) {
- ''
- /tmp/main.c
debug_abbrev:
- - Code: 0x00000001
- Tag: DW_TAG_compile_unit
- Children: DW_CHILDREN_no
- Attributes:
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Attribute: DW_AT_ranges
- Form: DW_FORM_sec_offset
+ - Table:
+ - Code: 0x00000001
+ Tag: DW_TAG_compile_unit
+ Children: DW_CHILDREN_no
+ Attributes:
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_ranges
+ Form: DW_FORM_sec_offset
debug_info:
- Length: 17
Version: 5
@@ -2053,14 +2058,15 @@ TEST(DWARFDebugInfo, TestDwarfVerifyInvalidStmtList) {
- ''
- /tmp/main.c
debug_abbrev:
- - Code: 0x00000001
- Tag: DW_TAG_compile_unit
- Children: DW_CHILDREN_no
- Attributes:
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Attribute: DW_AT_stmt_list
- Form: DW_FORM_sec_offset
+ - Table:
+ - Code: 0x00000001
+ Tag: DW_TAG_compile_unit
+ Children: DW_CHILDREN_no
+ Attributes:
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_stmt_list
+ Form: DW_FORM_sec_offset
debug_info:
- Length: 16
Version: 4
@@ -2089,12 +2095,13 @@ TEST(DWARFDebugInfo, TestDwarfVerifyInvalidStrp) {
debug_str:
- ''
debug_abbrev:
- - Code: 0x00000001
- Tag: DW_TAG_compile_unit
- Children: DW_CHILDREN_no
- Attributes:
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
+ - Table:
+ - Code: 0x00000001
+ Tag: DW_TAG_compile_unit
+ Children: DW_CHILDREN_no
+ Attributes:
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
debug_info:
- Length: 12
Version: 4
@@ -2122,20 +2129,21 @@ TEST(DWARFDebugInfo, TestDwarfVerifyInvalidRefAddrBetween) {
- /tmp/main.c
- main
debug_abbrev:
- - Code: 0x00000001
- Tag: DW_TAG_compile_unit
- Children: DW_CHILDREN_yes
- Attributes:
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Code: 0x00000002
- Tag: DW_TAG_subprogram
- Children: DW_CHILDREN_no
- Attributes:
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Attribute: DW_AT_type
- Form: DW_FORM_ref_addr
+ - Table:
+ - Code: 0x00000001
+ Tag: DW_TAG_compile_unit
+ Children: DW_CHILDREN_yes
+ Attributes:
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Code: 0x00000002
+ Tag: DW_TAG_subprogram
+ Children: DW_CHILDREN_no
+ Attributes:
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_type
+ Form: DW_FORM_ref_addr
debug_info:
- Length: 22
Version: 4
@@ -2169,14 +2177,15 @@ TEST(DWARFDebugInfo, TestDwarfVerifyInvalidLineSequence) {
- ''
- /tmp/main.c
debug_abbrev:
- - Code: 0x00000001
- Tag: DW_TAG_compile_unit
- Children: DW_CHILDREN_no
- Attributes:
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Attribute: DW_AT_stmt_list
- Form: DW_FORM_sec_offset
+ - Table:
+ - Code: 0x00000001
+ Tag: DW_TAG_compile_unit
+ Children: DW_CHILDREN_no
+ Attributes:
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_stmt_list
+ Form: DW_FORM_sec_offset
debug_info:
- Length: 16
Version: 4
@@ -2237,14 +2246,15 @@ TEST(DWARFDebugInfo, TestDwarfVerifyInvalidLineFileIndex) {
- ''
- /tmp/main.c
debug_abbrev:
- - Code: 0x00000001
- Tag: DW_TAG_compile_unit
- Children: DW_CHILDREN_no
- Attributes:
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Attribute: DW_AT_stmt_list
- Form: DW_FORM_sec_offset
+ - Table:
+ - Code: 0x00000001
+ Tag: DW_TAG_compile_unit
+ Children: DW_CHILDREN_no
+ Attributes:
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_stmt_list
+ Form: DW_FORM_sec_offset
debug_info:
- Length: 16
Version: 4
@@ -2307,14 +2317,15 @@ TEST(DWARFDebugInfo, TestDwarfVerifyInvalidLineTablePorlogueDirIndex) {
- ''
- /tmp/main.c
debug_abbrev:
- - Code: 0x00000001
- Tag: DW_TAG_compile_unit
- Children: DW_CHILDREN_no
- Attributes:
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Attribute: DW_AT_stmt_list
- Form: DW_FORM_sec_offset
+ - Table:
+ - Code: 0x00000001
+ Tag: DW_TAG_compile_unit
+ Children: DW_CHILDREN_no
+ Attributes:
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_stmt_list
+ Form: DW_FORM_sec_offset
debug_info:
- Length: 16
Version: 4
@@ -2378,14 +2389,15 @@ TEST(DWARFDebugInfo, TestDwarfVerifyDuplicateFileWarning) {
- ''
- /tmp/main.c
debug_abbrev:
- - Code: 0x00000001
- Tag: DW_TAG_compile_unit
- Children: DW_CHILDREN_no
- Attributes:
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Attribute: DW_AT_stmt_list
- Form: DW_FORM_sec_offset
+ - Table:
+ - Code: 0x00000001
+ Tag: DW_TAG_compile_unit
+ Children: DW_CHILDREN_no
+ Attributes:
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_stmt_list
+ Form: DW_FORM_sec_offset
debug_info:
- Length: 16
Version: 4
@@ -2454,14 +2466,15 @@ TEST(DWARFDebugInfo, TestDwarfVerifyCUDontShareLineTable) {
- /tmp/main.c
- /tmp/foo.c
debug_abbrev:
- - Code: 0x00000001
- Tag: DW_TAG_compile_unit
- Children: DW_CHILDREN_no
- Attributes:
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Attribute: DW_AT_stmt_list
- Form: DW_FORM_sec_offset
+ - Table:
+ - Code: 0x00000001
+ Tag: DW_TAG_compile_unit
+ Children: DW_CHILDREN_no
+ Attributes:
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_stmt_list
+ Form: DW_FORM_sec_offset
debug_info:
- Length: 16
Version: 4
@@ -2569,24 +2582,25 @@ TEST(DWARFDebugInfo, TestDwarfVerifyCURangesIncomplete) {
- ''
- /tmp/main.c
debug_abbrev:
- - Code: 0x00000001
- Tag: DW_TAG_compile_unit
- Children: DW_CHILDREN_yes
- Attributes:
- - Attribute: DW_AT_low_pc
- Form: DW_FORM_addr
- - Attribute: DW_AT_high_pc
- Form: DW_FORM_addr
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Code: 0x00000002
- Tag: DW_TAG_subprogram
- Children: DW_CHILDREN_no
- Attributes:
- - Attribute: DW_AT_low_pc
- Form: DW_FORM_addr
- - Attribute: DW_AT_high_pc
- Form: DW_FORM_addr
+ - Table:
+ - Code: 0x00000001
+ Tag: DW_TAG_compile_unit
+ Children: DW_CHILDREN_yes
+ Attributes:
+ - Attribute: DW_AT_low_pc
+ Form: DW_FORM_addr
+ - Attribute: DW_AT_high_pc
+ Form: DW_FORM_addr
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Code: 0x00000002
+ Tag: DW_TAG_subprogram
+ Children: DW_CHILDREN_no
+ Attributes:
+ - Attribute: DW_AT_low_pc
+ Form: DW_FORM_addr
+ - Attribute: DW_AT_high_pc
+ Form: DW_FORM_addr
debug_info:
- Length: 46
Version: 4
@@ -2622,30 +2636,31 @@ TEST(DWARFDebugInfo, TestDwarfVerifyLexicalBlockRanges) {
- /tmp/main.c
- main
debug_abbrev:
- - Code: 0x00000001
- Tag: DW_TAG_compile_unit
- Children: DW_CHILDREN_yes
- Attributes:
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Code: 0x00000002
- Tag: DW_TAG_subprogram
- Children: DW_CHILDREN_yes
- Attributes:
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Attribute: DW_AT_low_pc
- Form: DW_FORM_addr
- - Attribute: DW_AT_high_pc
- Form: DW_FORM_addr
- - Code: 0x00000003
- Tag: DW_TAG_lexical_block
- Children: DW_CHILDREN_no
- Attributes:
- - Attribute: DW_AT_low_pc
- Form: DW_FORM_addr
- - Attribute: DW_AT_high_pc
- Form: DW_FORM_addr
+ - Table:
+ - Code: 0x00000001
+ Tag: DW_TAG_compile_unit
+ Children: DW_CHILDREN_yes
+ Attributes:
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Code: 0x00000002
+ Tag: DW_TAG_subprogram
+ Children: DW_CHILDREN_yes
+ Attributes:
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_low_pc
+ Form: DW_FORM_addr
+ - Attribute: DW_AT_high_pc
+ Form: DW_FORM_addr
+ - Code: 0x00000003
+ Tag: DW_TAG_lexical_block
+ Children: DW_CHILDREN_no
+ Attributes:
+ - Attribute: DW_AT_low_pc
+ Form: DW_FORM_addr
+ - Attribute: DW_AT_high_pc
+ Form: DW_FORM_addr
debug_info:
- Length: 52
Version: 4
@@ -2687,22 +2702,23 @@ TEST(DWARFDebugInfo, TestDwarfVerifyOverlappingFunctionRanges) {
- main
- foo
debug_abbrev:
- - Code: 0x00000001
- Tag: DW_TAG_compile_unit
- Children: DW_CHILDREN_yes
- Attributes:
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Code: 0x00000002
- Tag: DW_TAG_subprogram
- Children: DW_CHILDREN_no
- Attributes:
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Attribute: DW_AT_low_pc
- Form: DW_FORM_addr
- - Attribute: DW_AT_high_pc
- Form: DW_FORM_addr
+ - Table:
+ - Code: 0x00000001
+ Tag: DW_TAG_compile_unit
+ Children: DW_CHILDREN_yes
+ Attributes:
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Code: 0x00000002
+ Tag: DW_TAG_subprogram
+ Children: DW_CHILDREN_no
+ Attributes:
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_low_pc
+ Form: DW_FORM_addr
+ - Attribute: DW_AT_high_pc
+ Form: DW_FORM_addr
debug_info:
- Length: 55
Version: 4
@@ -2741,34 +2757,35 @@ TEST(DWARFDebugInfo, TestDwarfVerifyOverlappingLexicalBlockRanges) {
- /tmp/main.c
- main
debug_abbrev:
- - Code: 0x00000001
- Tag: DW_TAG_compile_unit
- Children: DW_CHILDREN_yes
- Attributes:
- - Attribute: DW_AT_low_pc
- Form: DW_FORM_addr
- - Attribute: DW_AT_high_pc
- Form: DW_FORM_addr
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Code: 0x00000002
- Tag: DW_TAG_subprogram
- Children: DW_CHILDREN_yes
- Attributes:
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Attribute: DW_AT_low_pc
- Form: DW_FORM_addr
- - Attribute: DW_AT_high_pc
- Form: DW_FORM_addr
- - Code: 0x00000003
- Tag: DW_TAG_lexical_block
- Children: DW_CHILDREN_no
- Attributes:
- - Attribute: DW_AT_low_pc
- Form: DW_FORM_addr
- - Attribute: DW_AT_high_pc
- Form: DW_FORM_addr
+ - Table:
+ - Code: 0x00000001
+ Tag: DW_TAG_compile_unit
+ Children: DW_CHILDREN_yes
+ Attributes:
+ - Attribute: DW_AT_low_pc
+ Form: DW_FORM_addr
+ - Attribute: DW_AT_high_pc
+ Form: DW_FORM_addr
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Code: 0x00000002
+ Tag: DW_TAG_subprogram
+ Children: DW_CHILDREN_yes
+ Attributes:
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_low_pc
+ Form: DW_FORM_addr
+ - Attribute: DW_AT_high_pc
+ Form: DW_FORM_addr
+ - Code: 0x00000003
+ Tag: DW_TAG_lexical_block
+ Children: DW_CHILDREN_no
+ Attributes:
+ - Attribute: DW_AT_low_pc
+ Form: DW_FORM_addr
+ - Attribute: DW_AT_high_pc
+ Form: DW_FORM_addr
debug_info:
- Length: 85
Version: 4
@@ -2814,22 +2831,23 @@ TEST(DWARFDebugInfo, TestDwarfVerifyInvalidDIERange) {
- /tmp/main.c
- main
debug_abbrev:
- - Code: 0x00000001
- Tag: DW_TAG_compile_unit
- Children: DW_CHILDREN_yes
- Attributes:
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Code: 0x00000002
- Tag: DW_TAG_subprogram
- Children: DW_CHILDREN_no
- Attributes:
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Attribute: DW_AT_low_pc
- Form: DW_FORM_addr
- - Attribute: DW_AT_high_pc
- Form: DW_FORM_addr
+ - Table:
+ - Code: 0x00000001
+ Tag: DW_TAG_compile_unit
+ Children: DW_CHILDREN_yes
+ Attributes:
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Code: 0x00000002
+ Tag: DW_TAG_subprogram
+ Children: DW_CHILDREN_no
+ Attributes:
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_low_pc
+ Form: DW_FORM_addr
+ - Attribute: DW_AT_high_pc
+ Form: DW_FORM_addr
debug_info:
- Length: 34
Version: 4
@@ -2866,26 +2884,27 @@ TEST(DWARFDebugInfo, TestDwarfVerifyElidedDoesntFail) {
- main
- elided
debug_abbrev:
- - Code: 0x00000001
- Tag: DW_TAG_compile_unit
- Children: DW_CHILDREN_yes
- Attributes:
- - Attribute: DW_AT_low_pc
- Form: DW_FORM_addr
- - Attribute: DW_AT_high_pc
- Form: DW_FORM_addr
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Code: 0x00000002
- Tag: DW_TAG_subprogram
- Children: DW_CHILDREN_no
- Attributes:
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Attribute: DW_AT_low_pc
- Form: DW_FORM_addr
- - Attribute: DW_AT_high_pc
- Form: DW_FORM_addr
+ - Table:
+ - Code: 0x00000001
+ Tag: DW_TAG_compile_unit
+ Children: DW_CHILDREN_yes
+ Attributes:
+ - Attribute: DW_AT_low_pc
+ Form: DW_FORM_addr
+ - Attribute: DW_AT_high_pc
+ Form: DW_FORM_addr
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Code: 0x00000002
+ Tag: DW_TAG_subprogram
+ Children: DW_CHILDREN_no
+ Attributes:
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_low_pc
+ Form: DW_FORM_addr
+ - Attribute: DW_AT_high_pc
+ Form: DW_FORM_addr
debug_info:
- Length: 71
Version: 4
@@ -2928,26 +2947,27 @@ TEST(DWARFDebugInfo, TestDwarfVerifyNestedFunctions) {
- main
- nested
debug_abbrev:
- - Code: 0x00000001
- Tag: DW_TAG_compile_unit
- Children: DW_CHILDREN_yes
- Attributes:
- - Attribute: DW_AT_low_pc
- Form: DW_FORM_addr
- - Attribute: DW_AT_high_pc
- Form: DW_FORM_addr
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Code: 0x00000002
- Tag: DW_TAG_subprogram
- Children: DW_CHILDREN_yes
- Attributes:
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Attribute: DW_AT_low_pc
- Form: DW_FORM_addr
- - Attribute: DW_AT_high_pc
- Form: DW_FORM_addr
+ - Table:
+ - Code: 0x00000001
+ Tag: DW_TAG_compile_unit
+ Children: DW_CHILDREN_yes
+ Attributes:
+ - Attribute: DW_AT_low_pc
+ Form: DW_FORM_addr
+ - Attribute: DW_AT_high_pc
+ Form: DW_FORM_addr
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Code: 0x00000002
+ Tag: DW_TAG_subprogram
+ Children: DW_CHILDREN_yes
+ Attributes:
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_low_pc
+ Form: DW_FORM_addr
+ - Attribute: DW_AT_high_pc
+ Form: DW_FORM_addr
debug_info:
- Length: 73
Version: 4
diff --git a/llvm/unittests/DebugInfo/DWARF/DWARFDieTest.cpp b/llvm/unittests/DebugInfo/DWARF/DWARFDieTest.cpp
index bdf3babe81fb..529c3b16cee5 100644
--- a/llvm/unittests/DebugInfo/DWARF/DWARFDieTest.cpp
+++ b/llvm/unittests/DebugInfo/DWARF/DWARFDieTest.cpp
@@ -21,18 +21,19 @@ namespace {
TEST(DWARFDie, getLocations) {
const char *yamldata = R"(
debug_abbrev:
- - Code: 0x00000001
- Tag: DW_TAG_compile_unit
- Children: DW_CHILDREN_no
- Attributes:
- - Attribute: DW_AT_location
- Form: DW_FORM_sec_offset
- - Attribute: DW_AT_data_member_location
- Form: DW_FORM_exprloc
- - Attribute: DW_AT_vtable_elem_location
- Form: DW_FORM_sec_offset
- - Attribute: DW_AT_call_data_location
- Form: DW_FORM_sec_offset
+ - Table:
+ - Code: 0x00000001
+ Tag: DW_TAG_compile_unit
+ Children: DW_CHILDREN_no
+ Attributes:
+ - Attribute: DW_AT_location
+ Form: DW_FORM_sec_offset
+ - Attribute: DW_AT_data_member_location
+ Form: DW_FORM_exprloc
+ - Attribute: DW_AT_vtable_elem_location
+ Form: DW_FORM_sec_offset
+ - Attribute: DW_AT_call_data_location
+ Form: DW_FORM_sec_offset
debug_info:
- Version: 5
UnitType: DW_UT_compile
diff --git a/llvm/unittests/DebugInfo/GSYM/GSYMTest.cpp b/llvm/unittests/DebugInfo/GSYM/GSYMTest.cpp
index 1e5d79c43c11..1ac030668ad2 100644
--- a/llvm/unittests/DebugInfo/GSYM/GSYMTest.cpp
+++ b/llvm/unittests/DebugInfo/GSYM/GSYMTest.cpp
@@ -1414,28 +1414,29 @@ TEST(GSYMTest, TestDWARFFunctionWithAddresses) {
- /tmp/main.c
- main
debug_abbrev:
- - Code: 0x00000001
- Tag: DW_TAG_compile_unit
- Children: DW_CHILDREN_yes
- Attributes:
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Attribute: DW_AT_low_pc
- Form: DW_FORM_addr
- - Attribute: DW_AT_high_pc
- Form: DW_FORM_addr
- - Attribute: DW_AT_language
- Form: DW_FORM_data2
- - Code: 0x00000002
- Tag: DW_TAG_subprogram
- Children: DW_CHILDREN_no
- Attributes:
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Attribute: DW_AT_low_pc
- Form: DW_FORM_addr
- - Attribute: DW_AT_high_pc
- Form: DW_FORM_addr
+ - Table:
+ - Code: 0x00000001
+ Tag: DW_TAG_compile_unit
+ Children: DW_CHILDREN_yes
+ Attributes:
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_low_pc
+ Form: DW_FORM_addr
+ - Attribute: DW_AT_high_pc
+ Form: DW_FORM_addr
+ - Attribute: DW_AT_language
+ Form: DW_FORM_data2
+ - Code: 0x00000002
+ Tag: DW_TAG_subprogram
+ Children: DW_CHILDREN_no
+ Attributes:
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_low_pc
+ Form: DW_FORM_addr
+ - Attribute: DW_AT_high_pc
+ Form: DW_FORM_addr
debug_info:
- Length: 52
Version: 4
@@ -1493,28 +1494,29 @@ TEST(GSYMTest, TestDWARFFunctionWithAddressAndOffset) {
- /tmp/main.c
- main
debug_abbrev:
- - Code: 0x00000001
- Tag: DW_TAG_compile_unit
- Children: DW_CHILDREN_yes
- Attributes:
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Attribute: DW_AT_low_pc
- Form: DW_FORM_addr
- - Attribute: DW_AT_high_pc
- Form: DW_FORM_data4
- - Attribute: DW_AT_language
- Form: DW_FORM_data2
- - Code: 0x00000002
- Tag: DW_TAG_subprogram
- Children: DW_CHILDREN_no
- Attributes:
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Attribute: DW_AT_low_pc
- Form: DW_FORM_addr
- - Attribute: DW_AT_high_pc
- Form: DW_FORM_data4
+ - Table:
+ - Code: 0x00000001
+ Tag: DW_TAG_compile_unit
+ Children: DW_CHILDREN_yes
+ Attributes:
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_low_pc
+ Form: DW_FORM_addr
+ - Attribute: DW_AT_high_pc
+ Form: DW_FORM_data4
+ - Attribute: DW_AT_language
+ Form: DW_FORM_data2
+ - Code: 0x00000002
+ Tag: DW_TAG_subprogram
+ Children: DW_CHILDREN_no
+ Attributes:
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_low_pc
+ Form: DW_FORM_addr
+ - Attribute: DW_AT_high_pc
+ Form: DW_FORM_data4
debug_info:
- Length: 44
Version: 4
@@ -1576,44 +1578,45 @@ TEST(GSYMTest, TestDWARFStructMethodNoMangled) {
- dump
- this
debug_abbrev:
- - Code: 0x00000001
- Tag: DW_TAG_compile_unit
- Children: DW_CHILDREN_yes
- Attributes:
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Attribute: DW_AT_low_pc
- Form: DW_FORM_addr
- - Attribute: DW_AT_high_pc
- Form: DW_FORM_addr
- - Attribute: DW_AT_language
- Form: DW_FORM_data2
- - Code: 0x00000002
- Tag: DW_TAG_structure_type
- Children: DW_CHILDREN_yes
- Attributes:
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Code: 0x00000003
- Tag: DW_TAG_subprogram
- Children: DW_CHILDREN_yes
- Attributes:
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Attribute: DW_AT_low_pc
- Form: DW_FORM_addr
- - Attribute: DW_AT_high_pc
- Form: DW_FORM_addr
- - Code: 0x00000004
- Tag: DW_TAG_formal_parameter
- Children: DW_CHILDREN_no
- Attributes:
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Attribute: DW_AT_type
- Form: DW_FORM_ref4
- - Attribute: DW_AT_artificial
- Form: DW_FORM_flag_present
+ - Table:
+ - Code: 0x00000001
+ Tag: DW_TAG_compile_unit
+ Children: DW_CHILDREN_yes
+ Attributes:
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_low_pc
+ Form: DW_FORM_addr
+ - Attribute: DW_AT_high_pc
+ Form: DW_FORM_addr
+ - Attribute: DW_AT_language
+ Form: DW_FORM_data2
+ - Code: 0x00000002
+ Tag: DW_TAG_structure_type
+ Children: DW_CHILDREN_yes
+ Attributes:
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Code: 0x00000003
+ Tag: DW_TAG_subprogram
+ Children: DW_CHILDREN_yes
+ Attributes:
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_low_pc
+ Form: DW_FORM_addr
+ - Attribute: DW_AT_high_pc
+ Form: DW_FORM_addr
+ - Code: 0x00000004
+ Tag: DW_TAG_formal_parameter
+ Children: DW_CHILDREN_no
+ Attributes:
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_type
+ Form: DW_FORM_ref4
+ - Attribute: DW_AT_artificial
+ Form: DW_FORM_flag_present
debug_info:
- Length: 68
Version: 4
@@ -1696,28 +1699,29 @@ TEST(GSYMTest, TestDWARFTextRanges) {
- dead_stripped
- dead_stripped2
debug_abbrev:
- - Code: 0x00000001
- Tag: DW_TAG_compile_unit
- Children: DW_CHILDREN_yes
- Attributes:
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Attribute: DW_AT_low_pc
- Form: DW_FORM_addr
- - Attribute: DW_AT_high_pc
- Form: DW_FORM_data4
- - Attribute: DW_AT_language
- Form: DW_FORM_data2
- - Code: 0x00000002
- Tag: DW_TAG_subprogram
- Children: DW_CHILDREN_no
- Attributes:
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Attribute: DW_AT_low_pc
- Form: DW_FORM_addr
- - Attribute: DW_AT_high_pc
- Form: DW_FORM_data4
+ - Table:
+ - Code: 0x00000001
+ Tag: DW_TAG_compile_unit
+ Children: DW_CHILDREN_yes
+ Attributes:
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_low_pc
+ Form: DW_FORM_addr
+ - Attribute: DW_AT_high_pc
+ Form: DW_FORM_data4
+ - Attribute: DW_AT_language
+ Form: DW_FORM_data2
+ - Code: 0x00000002
+ Tag: DW_TAG_subprogram
+ Children: DW_CHILDREN_no
+ Attributes:
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_low_pc
+ Form: DW_FORM_addr
+ - Attribute: DW_AT_high_pc
+ Form: DW_FORM_data4
debug_info:
- Length: 78
Version: 4
@@ -1793,44 +1797,45 @@ TEST(GSYMTest, TestDWARFInlineInfo) {
- main
- inline1
debug_abbrev:
- - Code: 0x00000001
- Tag: DW_TAG_compile_unit
- Children: DW_CHILDREN_yes
- Attributes:
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Attribute: DW_AT_low_pc
- Form: DW_FORM_addr
- - Attribute: DW_AT_high_pc
- Form: DW_FORM_data4
- - Attribute: DW_AT_language
- Form: DW_FORM_data2
- - Attribute: DW_AT_stmt_list
- Form: DW_FORM_sec_offset
- - Code: 0x00000002
- Tag: DW_TAG_subprogram
- Children: DW_CHILDREN_yes
- Attributes:
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Attribute: DW_AT_low_pc
- Form: DW_FORM_addr
- - Attribute: DW_AT_high_pc
- Form: DW_FORM_data4
- - Code: 0x00000003
- Tag: DW_TAG_inlined_subroutine
- Children: DW_CHILDREN_no
- Attributes:
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Attribute: DW_AT_low_pc
- Form: DW_FORM_addr
- - Attribute: DW_AT_high_pc
- Form: DW_FORM_data4
- - Attribute: DW_AT_call_file
- Form: DW_FORM_data4
- - Attribute: DW_AT_call_line
- Form: DW_FORM_data4
+ - Table:
+ - Code: 0x00000001
+ Tag: DW_TAG_compile_unit
+ Children: DW_CHILDREN_yes
+ Attributes:
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_low_pc
+ Form: DW_FORM_addr
+ - Attribute: DW_AT_high_pc
+ Form: DW_FORM_data4
+ - Attribute: DW_AT_language
+ Form: DW_FORM_data2
+ - Attribute: DW_AT_stmt_list
+ Form: DW_FORM_sec_offset
+ - Code: 0x00000002
+ Tag: DW_TAG_subprogram
+ Children: DW_CHILDREN_yes
+ Attributes:
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_low_pc
+ Form: DW_FORM_addr
+ - Attribute: DW_AT_high_pc
+ Form: DW_FORM_data4
+ - Code: 0x00000003
+ Tag: DW_TAG_inlined_subroutine
+ Children: DW_CHILDREN_no
+ Attributes:
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_low_pc
+ Form: DW_FORM_addr
+ - Attribute: DW_AT_high_pc
+ Form: DW_FORM_data4
+ - Attribute: DW_AT_call_file
+ Form: DW_FORM_data4
+ - Attribute: DW_AT_call_line
+ Form: DW_FORM_data4
debug_info:
- Length: 74
Version: 4
@@ -2048,44 +2053,45 @@ TEST(GSYMTest, TestDWARFNoLines) {
- no_lines_no_decl
- no_lines_with_decl
debug_abbrev:
- - Code: 0x00000001
- Tag: DW_TAG_compile_unit
- Children: DW_CHILDREN_yes
- Attributes:
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Attribute: DW_AT_low_pc
- Form: DW_FORM_addr
- - Attribute: DW_AT_high_pc
- Form: DW_FORM_data4
- - Attribute: DW_AT_language
- Form: DW_FORM_data2
- - Attribute: DW_AT_stmt_list
- Form: DW_FORM_sec_offset
- - Code: 0x00000002
- Tag: DW_TAG_subprogram
- Children: DW_CHILDREN_no
- Attributes:
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Attribute: DW_AT_low_pc
- Form: DW_FORM_addr
- - Attribute: DW_AT_high_pc
- Form: DW_FORM_data4
- - Code: 0x00000003
- Tag: DW_TAG_subprogram
- Children: DW_CHILDREN_no
- Attributes:
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Attribute: DW_AT_low_pc
- Form: DW_FORM_addr
- - Attribute: DW_AT_high_pc
- Form: DW_FORM_data4
- - Attribute: DW_AT_decl_file
- Form: DW_FORM_data1
- - Attribute: DW_AT_decl_line
- Form: DW_FORM_data1
+ - Table:
+ - Code: 0x00000001
+ Tag: DW_TAG_compile_unit
+ Children: DW_CHILDREN_yes
+ Attributes:
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_low_pc
+ Form: DW_FORM_addr
+ - Attribute: DW_AT_high_pc
+ Form: DW_FORM_data4
+ - Attribute: DW_AT_language
+ Form: DW_FORM_data2
+ - Attribute: DW_AT_stmt_list
+ Form: DW_FORM_sec_offset
+ - Code: 0x00000002
+ Tag: DW_TAG_subprogram
+ Children: DW_CHILDREN_no
+ Attributes:
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_low_pc
+ Form: DW_FORM_addr
+ - Attribute: DW_AT_high_pc
+ Form: DW_FORM_data4
+ - Code: 0x00000003
+ Tag: DW_TAG_subprogram
+ Children: DW_CHILDREN_no
+ Attributes:
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_low_pc
+ Form: DW_FORM_addr
+ - Attribute: DW_AT_high_pc
+ Form: DW_FORM_data4
+ - Attribute: DW_AT_decl_file
+ Form: DW_FORM_data1
+ - Attribute: DW_AT_decl_line
+ Form: DW_FORM_data1
debug_info:
- Length: 103
Version: 4
@@ -2293,7 +2299,6 @@ TEST(GSYMTest, TestDWARFDeadStripAddr4) {
//
// 0x0000004e: NULL
-
StringRef yamldata = R"(
debug_str:
- ''
@@ -2303,38 +2308,39 @@ TEST(GSYMTest, TestDWARFDeadStripAddr4) {
- stripped2
- stripped3
debug_abbrev:
- - Code: 0x00000001
- Tag: DW_TAG_compile_unit
- Children: DW_CHILDREN_yes
- Attributes:
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Attribute: DW_AT_low_pc
- Form: DW_FORM_addr
- - Attribute: DW_AT_high_pc
- Form: DW_FORM_data4
- - Attribute: DW_AT_language
- Form: DW_FORM_data2
- - Code: 0x00000002
- Tag: DW_TAG_subprogram
- Children: DW_CHILDREN_no
- Attributes:
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Attribute: DW_AT_low_pc
- Form: DW_FORM_addr
- - Attribute: DW_AT_high_pc
- Form: DW_FORM_data4
- - Code: 0x00000003
- Tag: DW_TAG_subprogram
- Children: DW_CHILDREN_no
- Attributes:
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Attribute: DW_AT_low_pc
- Form: DW_FORM_addr
- - Attribute: DW_AT_high_pc
- Form: DW_FORM_addr
+ - Table:
+ - Code: 0x00000001
+ Tag: DW_TAG_compile_unit
+ Children: DW_CHILDREN_yes
+ Attributes:
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_low_pc
+ Form: DW_FORM_addr
+ - Attribute: DW_AT_high_pc
+ Form: DW_FORM_data4
+ - Attribute: DW_AT_language
+ Form: DW_FORM_data2
+ - Code: 0x00000002
+ Tag: DW_TAG_subprogram
+ Children: DW_CHILDREN_no
+ Attributes:
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_low_pc
+ Form: DW_FORM_addr
+ - Attribute: DW_AT_high_pc
+ Form: DW_FORM_data4
+ - Code: 0x00000003
+ Tag: DW_TAG_subprogram
+ Children: DW_CHILDREN_no
+ Attributes:
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_low_pc
+ Form: DW_FORM_addr
+ - Attribute: DW_AT_high_pc
+ Form: DW_FORM_addr
debug_info:
- Length: 75
Version: 4
@@ -2445,38 +2451,39 @@ TEST(GSYMTest, TestDWARFDeadStripAddr8) {
- stripped2
- stripped3
debug_abbrev:
- - Code: 0x00000001
- Tag: DW_TAG_compile_unit
- Children: DW_CHILDREN_yes
- Attributes:
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Attribute: DW_AT_low_pc
- Form: DW_FORM_addr
- - Attribute: DW_AT_high_pc
- Form: DW_FORM_data4
- - Attribute: DW_AT_language
- Form: DW_FORM_data2
- - Code: 0x00000002
- Tag: DW_TAG_subprogram
- Children: DW_CHILDREN_no
- Attributes:
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Attribute: DW_AT_low_pc
- Form: DW_FORM_addr
- - Attribute: DW_AT_high_pc
- Form: DW_FORM_data4
- - Code: 0x00000003
- Tag: DW_TAG_subprogram
- Children: DW_CHILDREN_no
- Attributes:
- - Attribute: DW_AT_name
- Form: DW_FORM_strp
- - Attribute: DW_AT_low_pc
- Form: DW_FORM_addr
- - Attribute: DW_AT_high_pc
- Form: DW_FORM_addr
+ - Table:
+ - Code: 0x00000001
+ Tag: DW_TAG_compile_unit
+ Children: DW_CHILDREN_yes
+ Attributes:
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_low_pc
+ Form: DW_FORM_addr
+ - Attribute: DW_AT_high_pc
+ Form: DW_FORM_data4
+ - Attribute: DW_AT_language
+ Form: DW_FORM_data2
+ - Code: 0x00000002
+ Tag: DW_TAG_subprogram
+ Children: DW_CHILDREN_no
+ Attributes:
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_low_pc
+ Form: DW_FORM_addr
+ - Attribute: DW_AT_high_pc
+ Form: DW_FORM_data4
+ - Code: 0x00000003
+ Tag: DW_TAG_subprogram
+ Children: DW_CHILDREN_no
+ Attributes:
+ - Attribute: DW_AT_name
+ Form: DW_FORM_strp
+ - Attribute: DW_AT_low_pc
+ Form: DW_FORM_addr
+ - Attribute: DW_AT_high_pc
+ Form: DW_FORM_addr
debug_info:
- Length: 103
Version: 4
More information about the lldb-commits
mailing list