2020-06-30 15:07:45 +08:00
|
|
|
## This file contains test cases for generating a DAWRFv4 .debug_info
|
|
|
|
## section in object files from the DWARF entry of Mach-O YAML inputs.
|
|
|
|
|
|
|
|
## a) Test that yaml2obj emits a DWARF32 .debug_info sections and obj2yaml
|
|
|
|
## converts it back.
|
|
|
|
|
|
|
|
# RUN: yaml2obj --docnum=1 %s | obj2yaml | FileCheck %s --check-prefix=DWARF32
|
2016-12-23 06:44:27 +08:00
|
|
|
|
|
|
|
--- !mach-o
|
|
|
|
FileHeader:
|
|
|
|
magic: 0xFEEDFACF
|
|
|
|
cputype: 0x01000007
|
|
|
|
cpusubtype: 0x00000003
|
|
|
|
filetype: 0x0000000A
|
|
|
|
ncmds: 5
|
|
|
|
sizeofcmds: 1800
|
|
|
|
flags: 0x00000000
|
|
|
|
reserved: 0x00000000
|
|
|
|
LoadCommands:
|
|
|
|
- cmd: LC_SEGMENT_64
|
|
|
|
cmdsize: 72
|
|
|
|
segname: __PAGEZERO
|
|
|
|
vmaddr: 0
|
|
|
|
vmsize: 4294967296
|
|
|
|
fileoff: 0
|
|
|
|
filesize: 0
|
|
|
|
maxprot: 0
|
|
|
|
initprot: 0
|
|
|
|
nsects: 0
|
|
|
|
flags: 0
|
|
|
|
- cmd: LC_SEGMENT_64
|
|
|
|
cmdsize: 472
|
|
|
|
segname: __TEXT
|
|
|
|
vmaddr: 4294967296
|
|
|
|
vmsize: 4096
|
|
|
|
fileoff: 0
|
|
|
|
filesize: 0
|
|
|
|
maxprot: 7
|
|
|
|
initprot: 5
|
|
|
|
nsects: 5
|
|
|
|
flags: 0
|
|
|
|
Sections:
|
|
|
|
- sectname: __text
|
|
|
|
segname: __TEXT
|
|
|
|
addr: 0x0000000100000F50
|
|
|
|
size: 52
|
|
|
|
offset: 0x00000000
|
|
|
|
align: 4
|
|
|
|
reloff: 0x00000000
|
|
|
|
nreloc: 0
|
|
|
|
flags: 0x80000400
|
|
|
|
reserved1: 0x00000000
|
|
|
|
reserved2: 0x00000000
|
|
|
|
reserved3: 0x00000000
|
|
|
|
- sectname: __stubs
|
|
|
|
segname: __TEXT
|
|
|
|
addr: 0x0000000100000F84
|
|
|
|
size: 6
|
|
|
|
offset: 0x00000000
|
|
|
|
align: 1
|
|
|
|
reloff: 0x00000000
|
|
|
|
nreloc: 0
|
|
|
|
flags: 0x80000408
|
|
|
|
reserved1: 0x00000000
|
|
|
|
reserved2: 0x00000006
|
|
|
|
reserved3: 0x00000000
|
|
|
|
- sectname: __stub_helper
|
|
|
|
segname: __TEXT
|
|
|
|
addr: 0x0000000100000F8C
|
|
|
|
size: 26
|
|
|
|
offset: 0x00000000
|
|
|
|
align: 2
|
|
|
|
reloff: 0x00000000
|
|
|
|
nreloc: 0
|
|
|
|
flags: 0x80000400
|
|
|
|
reserved1: 0x00000000
|
|
|
|
reserved2: 0x00000000
|
|
|
|
reserved3: 0x00000000
|
|
|
|
- sectname: __cstring
|
|
|
|
segname: __TEXT
|
|
|
|
addr: 0x0000000100000FA6
|
|
|
|
size: 14
|
|
|
|
offset: 0x00000000
|
|
|
|
align: 0
|
|
|
|
reloff: 0x00000000
|
|
|
|
nreloc: 0
|
|
|
|
flags: 0x00000002
|
|
|
|
reserved1: 0x00000000
|
|
|
|
reserved2: 0x00000000
|
|
|
|
reserved3: 0x00000000
|
|
|
|
- sectname: __unwind_info
|
|
|
|
segname: __TEXT
|
|
|
|
addr: 0x0000000100000FB4
|
|
|
|
size: 72
|
|
|
|
offset: 0x00000000
|
|
|
|
align: 2
|
|
|
|
reloff: 0x00000000
|
|
|
|
nreloc: 0
|
|
|
|
flags: 0x00000000
|
|
|
|
reserved1: 0x00000000
|
|
|
|
reserved2: 0x00000000
|
|
|
|
reserved3: 0x00000000
|
|
|
|
- cmd: LC_SEGMENT_64
|
|
|
|
cmdsize: 232
|
|
|
|
segname: __DATA
|
|
|
|
vmaddr: 4294971392
|
|
|
|
vmsize: 4096
|
|
|
|
fileoff: 0
|
|
|
|
filesize: 0
|
|
|
|
maxprot: 7
|
|
|
|
initprot: 3
|
|
|
|
nsects: 2
|
|
|
|
flags: 0
|
|
|
|
Sections:
|
|
|
|
- sectname: __nl_symbol_ptr
|
|
|
|
segname: __DATA
|
|
|
|
addr: 0x0000000100001000
|
|
|
|
size: 16
|
|
|
|
offset: 0x00000000
|
|
|
|
align: 3
|
|
|
|
reloff: 0x00000000
|
|
|
|
nreloc: 0
|
|
|
|
flags: 0x00000006
|
|
|
|
reserved1: 0x00000001
|
|
|
|
reserved2: 0x00000000
|
|
|
|
reserved3: 0x00000000
|
|
|
|
- sectname: __la_symbol_ptr
|
|
|
|
segname: __DATA
|
|
|
|
addr: 0x0000000100001010
|
|
|
|
size: 8
|
|
|
|
offset: 0x00000000
|
|
|
|
align: 3
|
|
|
|
reloff: 0x00000000
|
|
|
|
nreloc: 0
|
|
|
|
flags: 0x00000007
|
|
|
|
reserved1: 0x00000003
|
|
|
|
reserved2: 0x00000000
|
|
|
|
reserved3: 0x00000000
|
|
|
|
- cmd: LC_SEGMENT_64
|
|
|
|
cmdsize: 72
|
|
|
|
segname: __LINKEDIT
|
|
|
|
vmaddr: 4294975488
|
|
|
|
vmsize: 4096
|
|
|
|
fileoff: 4096
|
|
|
|
filesize: 60
|
|
|
|
maxprot: 7
|
|
|
|
initprot: 1
|
|
|
|
nsects: 0
|
|
|
|
flags: 0
|
|
|
|
- cmd: LC_SEGMENT_64
|
|
|
|
cmdsize: 952
|
|
|
|
segname: __DWARF
|
|
|
|
vmaddr: 4294979584
|
|
|
|
vmsize: 4096
|
|
|
|
fileoff: 8192
|
|
|
|
filesize: 764
|
|
|
|
maxprot: 7
|
|
|
|
initprot: 3
|
|
|
|
nsects: 11
|
|
|
|
flags: 0
|
|
|
|
Sections:
|
|
|
|
- sectname: __debug_line
|
|
|
|
segname: __DWARF
|
|
|
|
addr: 0x0000000100003000
|
|
|
|
size: 69
|
|
|
|
offset: 0x00002000
|
|
|
|
align: 0
|
|
|
|
reloff: 0x00000000
|
|
|
|
nreloc: 0
|
|
|
|
flags: 0x00000000
|
|
|
|
reserved1: 0x00000000
|
|
|
|
reserved2: 0x00000000
|
|
|
|
reserved3: 0x00000000
|
|
|
|
- sectname: __debug_pubnames
|
|
|
|
segname: __DWARF
|
|
|
|
addr: 0x0000000100003045
|
|
|
|
size: 27
|
|
|
|
offset: 0x00002045
|
|
|
|
align: 0
|
|
|
|
reloff: 0x00000000
|
|
|
|
nreloc: 0
|
|
|
|
flags: 0x00000000
|
|
|
|
reserved1: 0x00000000
|
|
|
|
reserved2: 0x00000000
|
|
|
|
reserved3: 0x00000000
|
|
|
|
- sectname: __debug_pubtypes
|
|
|
|
segname: __DWARF
|
|
|
|
addr: 0x0000000100003060
|
|
|
|
size: 35
|
|
|
|
offset: 0x00002060
|
|
|
|
align: 0
|
|
|
|
reloff: 0x00000000
|
|
|
|
nreloc: 0
|
|
|
|
flags: 0x00000000
|
|
|
|
reserved1: 0x00000000
|
|
|
|
reserved2: 0x00000000
|
|
|
|
reserved3: 0x00000000
|
|
|
|
- sectname: __debug_aranges
|
|
|
|
segname: __DWARF
|
|
|
|
addr: 0x0000000100003083
|
|
|
|
size: 48
|
|
|
|
offset: 0x00002083
|
|
|
|
align: 0
|
|
|
|
reloff: 0x00000000
|
|
|
|
nreloc: 0
|
|
|
|
flags: 0x00000000
|
|
|
|
reserved1: 0x00000000
|
|
|
|
reserved2: 0x00000000
|
|
|
|
reserved3: 0x00000000
|
|
|
|
- sectname: __debug_info
|
|
|
|
segname: __DWARF
|
|
|
|
addr: 0x00000001000030B3
|
|
|
|
size: 121
|
|
|
|
offset: 0x000020B3
|
|
|
|
align: 0
|
|
|
|
reloff: 0x00000000
|
|
|
|
nreloc: 0
|
|
|
|
flags: 0x00000000
|
|
|
|
reserved1: 0x00000000
|
|
|
|
reserved2: 0x00000000
|
|
|
|
reserved3: 0x00000000
|
|
|
|
- sectname: __debug_abbrev
|
|
|
|
segname: __DWARF
|
|
|
|
addr: 0x000000010000312C
|
|
|
|
size: 76
|
|
|
|
offset: 0x0000212C
|
|
|
|
align: 0
|
|
|
|
reloff: 0x00000000
|
|
|
|
nreloc: 0
|
|
|
|
flags: 0x00000000
|
|
|
|
reserved1: 0x00000000
|
|
|
|
reserved2: 0x00000000
|
|
|
|
reserved3: 0x00000000
|
|
|
|
- sectname: __debug_str
|
|
|
|
segname: __DWARF
|
|
|
|
addr: 0x0000000100003178
|
|
|
|
size: 142
|
|
|
|
offset: 0x00002178
|
|
|
|
align: 0
|
|
|
|
reloff: 0x00000000
|
|
|
|
nreloc: 0
|
|
|
|
flags: 0x00000000
|
|
|
|
reserved1: 0x00000000
|
|
|
|
reserved2: 0x00000000
|
|
|
|
reserved3: 0x00000000
|
|
|
|
- sectname: __apple_names
|
|
|
|
segname: __DWARF
|
|
|
|
addr: 0x0000000100003206
|
|
|
|
size: 60
|
|
|
|
offset: 0x00002206
|
|
|
|
align: 0
|
|
|
|
reloff: 0x00000000
|
|
|
|
nreloc: 0
|
|
|
|
flags: 0x00000000
|
|
|
|
reserved1: 0x00000000
|
|
|
|
reserved2: 0x00000000
|
|
|
|
reserved3: 0x00000000
|
|
|
|
- sectname: __apple_namespac
|
|
|
|
segname: __DWARF
|
|
|
|
addr: 0x0000000100003242
|
|
|
|
size: 36
|
|
|
|
offset: 0x00002242
|
|
|
|
align: 0
|
|
|
|
reloff: 0x00000000
|
|
|
|
nreloc: 0
|
|
|
|
flags: 0x00000000
|
|
|
|
reserved1: 0x00000000
|
|
|
|
reserved2: 0x00000000
|
|
|
|
reserved3: 0x00000000
|
|
|
|
- sectname: __apple_types
|
|
|
|
segname: __DWARF
|
|
|
|
addr: 0x0000000100003266
|
|
|
|
size: 114
|
|
|
|
offset: 0x00002266
|
|
|
|
align: 0
|
|
|
|
reloff: 0x00000000
|
|
|
|
nreloc: 0
|
|
|
|
flags: 0x00000000
|
|
|
|
reserved1: 0x00000000
|
|
|
|
reserved2: 0x00000000
|
|
|
|
reserved3: 0x00000000
|
|
|
|
- sectname: __apple_objc
|
|
|
|
segname: __DWARF
|
|
|
|
addr: 0x00000001000032D8
|
|
|
|
size: 36
|
|
|
|
offset: 0x000022D8
|
|
|
|
align: 0
|
|
|
|
reloff: 0x00000000
|
|
|
|
nreloc: 0
|
|
|
|
flags: 0x00000000
|
|
|
|
reserved1: 0x00000000
|
|
|
|
reserved2: 0x00000000
|
|
|
|
reserved3: 0x00000000
|
|
|
|
LinkEditData:
|
|
|
|
NameList:
|
|
|
|
- n_strx: 2
|
|
|
|
n_type: 0x0F
|
|
|
|
n_sect: 1
|
|
|
|
n_desc: 16
|
|
|
|
n_value: 4294967296
|
|
|
|
- n_strx: 22
|
|
|
|
n_type: 0x0F
|
|
|
|
n_sect: 1
|
|
|
|
n_desc: 0
|
|
|
|
n_value: 4294971216
|
|
|
|
StringTable:
|
|
|
|
- ''
|
|
|
|
- ''
|
|
|
|
- __mh_execute_header
|
|
|
|
- _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
|
|
|
|
debug_aranges:
|
2020-06-05 12:15:34 +08:00
|
|
|
- Length: 44
|
2016-12-23 06:44:27 +08:00
|
|
|
Version: 2
|
|
|
|
CuOffset: 0
|
|
|
|
AddrSize: 8
|
|
|
|
SegSize: 0
|
|
|
|
Descriptors:
|
|
|
|
- Address: 0x0000000100000F50
|
|
|
|
Length: 52
|
|
|
|
debug_info:
|
2020-06-30 15:07:45 +08:00
|
|
|
- Length: 117
|
2016-12-23 06:44:27 +08:00
|
|
|
Version: 4
|
|
|
|
AbbrOffset: 0
|
|
|
|
AddrSize: 8
|
|
|
|
Entries:
|
|
|
|
- AbbrCode: 0x00000001
|
|
|
|
Values:
|
|
|
|
- Value: 0x0000000000000001
|
|
|
|
- Value: 0x000000000000000C
|
|
|
|
- Value: 0x0000000000000038
|
|
|
|
- Value: 0x0000000000000000
|
|
|
|
- Value: 0x0000000000000046
|
|
|
|
- Value: 0x0000000100000F50
|
|
|
|
- Value: 0x0000000000000034
|
|
|
|
- AbbrCode: 0x00000002
|
|
|
|
Values:
|
|
|
|
- Value: 0x0000000100000F50
|
|
|
|
- Value: 0x0000000000000034
|
|
|
|
- Value: 0x0000000000000001
|
|
|
|
BlockData:
|
|
|
|
- 0x56
|
|
|
|
- Value: 0x0000000000000076
|
|
|
|
- Value: 0x0000000000000001
|
|
|
|
- Value: 0x0000000000000003
|
|
|
|
- Value: 0x0000000000000001
|
|
|
|
- Value: 0x0000000000000060
|
|
|
|
- Value: 0x0000000000000001
|
|
|
|
- AbbrCode: 0x00000003
|
|
|
|
Values:
|
|
|
|
- Value: 0x0000000000000002
|
|
|
|
BlockData:
|
|
|
|
- 0x91
|
|
|
|
- 0x78
|
|
|
|
- Value: 0x000000000000007B
|
|
|
|
- Value: 0x0000000000000001
|
|
|
|
- Value: 0x0000000000000003
|
|
|
|
- Value: 0x0000000000000060
|
|
|
|
- AbbrCode: 0x00000003
|
|
|
|
Values:
|
|
|
|
- Value: 0x0000000000000002
|
|
|
|
BlockData:
|
|
|
|
- 0x91
|
|
|
|
- 0x70
|
|
|
|
- Value: 0x0000000000000080
|
|
|
|
- Value: 0x0000000000000001
|
|
|
|
- Value: 0x0000000000000003
|
|
|
|
- Value: 0x0000000000000067
|
|
|
|
- AbbrCode: 0x00000000
|
|
|
|
Values:
|
|
|
|
- AbbrCode: 0x00000004
|
|
|
|
Values:
|
|
|
|
- Value: 0x0000000000000085
|
|
|
|
- Value: 0x0000000000000005
|
|
|
|
- Value: 0x0000000000000004
|
|
|
|
- AbbrCode: 0x00000005
|
|
|
|
Values:
|
|
|
|
- Value: 0x000000000000006C
|
|
|
|
- AbbrCode: 0x00000005
|
|
|
|
Values:
|
|
|
|
- Value: 0x0000000000000071
|
|
|
|
- AbbrCode: 0x00000004
|
|
|
|
Values:
|
|
|
|
- Value: 0x0000000000000089
|
|
|
|
- Value: 0x0000000000000006
|
|
|
|
- Value: 0x0000000000000001
|
|
|
|
- AbbrCode: 0x00000000
|
|
|
|
Values:
|
2017-01-10 14:22:49 +08:00
|
|
|
debug_line:
|
2020-06-13 22:04:51 +08:00
|
|
|
- Length: 65
|
2017-01-10 14:22:49 +08:00
|
|
|
Version: 2
|
|
|
|
PrologueLength: 36
|
|
|
|
MinInstLength: 1
|
|
|
|
DefaultIsStmt: 1
|
|
|
|
LineBase: 251
|
|
|
|
LineRange: 14
|
|
|
|
OpcodeBase: 13
|
|
|
|
StandardOpcodeLengths:
|
|
|
|
- 0
|
|
|
|
- 1
|
|
|
|
- 1
|
|
|
|
- 1
|
|
|
|
- 1
|
|
|
|
- 0
|
|
|
|
- 0
|
|
|
|
- 0
|
|
|
|
- 1
|
|
|
|
- 0
|
|
|
|
- 0
|
|
|
|
- 1
|
|
|
|
IncludeDirs:
|
|
|
|
Files:
|
|
|
|
- Name: hello_world.c
|
|
|
|
DirIdx: 0
|
|
|
|
ModTime: 0
|
|
|
|
Length: 0
|
|
|
|
Opcodes:
|
|
|
|
- Opcode: DW_LNS_extended_op
|
|
|
|
ExtLen: 9
|
|
|
|
SubOpcode: DW_LNE_set_address
|
|
|
|
Data: 4294971216
|
|
|
|
- Opcode: 0x14
|
|
|
|
Data: 4294971216
|
|
|
|
- Opcode: DW_LNS_set_column
|
|
|
|
Data: 3
|
|
|
|
- Opcode: DW_LNS_set_prologue_end
|
|
|
|
Data: 3
|
|
|
|
- Opcode: DW_LNS_const_add_pc
|
|
|
|
Data: 3
|
|
|
|
- Opcode: 0xBB
|
|
|
|
Data: 3
|
|
|
|
- Opcode: 0xBB
|
|
|
|
Data: 3
|
|
|
|
- Opcode: DW_LNS_advance_pc
|
|
|
|
Data: 11
|
|
|
|
- Opcode: DW_LNS_extended_op
|
|
|
|
ExtLen: 1
|
|
|
|
SubOpcode: DW_LNE_end_sequence
|
|
|
|
Data: 11
|
|
|
|
...
|
2016-12-23 06:44:27 +08:00
|
|
|
...
|
|
|
|
|
2020-06-30 15:07:45 +08:00
|
|
|
# DWARF32: DWARF:
|
|
|
|
# DWARF32: debug_info:
|
|
|
|
# DWARF32-NEXT: - Length: 117
|
|
|
|
# DWARF32-NEXT: Version: 4
|
|
|
|
# DWARF32-NEXT: AbbrOffset: 0
|
|
|
|
# DWARF32-NEXT: AddrSize: 8
|
|
|
|
# DWARF32-NEXT: Entries:
|
|
|
|
# DWARF32-NEXT: - AbbrCode: 0x00000001
|
|
|
|
# DWARF32-NEXT: Values:
|
|
|
|
# DWARF32-NEXT: - Value: 0x0000000000000001
|
|
|
|
# DWARF32-NEXT: - Value: 0x000000000000000C
|
|
|
|
# DWARF32-NEXT: - Value: 0x0000000000000038
|
|
|
|
# DWARF32-NEXT: - Value: 0x0000000000000000
|
|
|
|
# DWARF32-NEXT: - Value: 0x0000000000000046
|
|
|
|
# DWARF32-NEXT: - Value: 0x0000000100000F50
|
|
|
|
# DWARF32-NEXT: - Value: 0x0000000000000034
|
|
|
|
# DWARF32-NEXT: - AbbrCode: 0x00000002
|
|
|
|
# DWARF32-NEXT: Values:
|
|
|
|
# DWARF32-NEXT: - Value: 0x0000000100000F50
|
|
|
|
# DWARF32-NEXT: - Value: 0x0000000000000034
|
|
|
|
# DWARF32-NEXT: - Value: 0x0000000000000001
|
|
|
|
# DWARF32-NEXT: BlockData: [ 0x56 ]
|
|
|
|
# DWARF32-NEXT: - Value: 0x0000000000000076
|
|
|
|
# DWARF32-NEXT: - Value: 0x0000000000000001
|
|
|
|
# DWARF32-NEXT: - Value: 0x0000000000000003
|
|
|
|
# DWARF32-NEXT: - Value: 0x0000000000000001
|
|
|
|
# DWARF32-NEXT: - Value: 0x0000000000000060
|
|
|
|
# DWARF32-NEXT: - Value: 0x0000000000000001
|
|
|
|
# DWARF32-NEXT: - AbbrCode: 0x00000003
|
|
|
|
# DWARF32-NEXT: Values:
|
|
|
|
# DWARF32-NEXT: - Value: 0x0000000000000002
|
|
|
|
# DWARF32-NEXT: BlockData: [ 0x91, 0x78 ]
|
|
|
|
# DWARF32-NEXT: - Value: 0x000000000000007B
|
|
|
|
# DWARF32-NEXT: - Value: 0x0000000000000001
|
|
|
|
# DWARF32-NEXT: - Value: 0x0000000000000003
|
|
|
|
# DWARF32-NEXT: - Value: 0x0000000000000060
|
|
|
|
# DWARF32-NEXT: - AbbrCode: 0x00000003
|
|
|
|
# DWARF32-NEXT: Values:
|
|
|
|
# DWARF32-NEXT: - Value: 0x0000000000000002
|
|
|
|
# DWARF32-NEXT: BlockData: [ 0x91, 0x70 ]
|
|
|
|
# DWARF32-NEXT: - Value: 0x0000000000000080
|
|
|
|
# DWARF32-NEXT: - Value: 0x0000000000000001
|
|
|
|
# DWARF32-NEXT: - Value: 0x0000000000000003
|
|
|
|
# DWARF32-NEXT: - Value: 0x0000000000000067
|
|
|
|
# DWARF32-NEXT: - AbbrCode: 0x00000000
|
|
|
|
# DWARF32-NEXT: Values:
|
|
|
|
# DWARF32-NEXT: - AbbrCode: 0x00000004
|
|
|
|
# DWARF32-NEXT: Values:
|
|
|
|
# DWARF32-NEXT: - Value: 0x0000000000000085
|
|
|
|
# DWARF32-NEXT: - Value: 0x0000000000000005
|
|
|
|
# DWARF32-NEXT: - Value: 0x0000000000000004
|
|
|
|
# DWARF32-NEXT: - AbbrCode: 0x00000005
|
|
|
|
# DWARF32-NEXT: Values:
|
|
|
|
# DWARF32-NEXT: - Value: 0x000000000000006C
|
|
|
|
# DWARF32-NEXT: - AbbrCode: 0x00000005
|
|
|
|
# DWARF32-NEXT: Values:
|
|
|
|
# DWARF32-NEXT: - Value: 0x0000000000000071
|
|
|
|
# DWARF32-NEXT: - AbbrCode: 0x00000004
|
|
|
|
# DWARF32-NEXT: Values:
|
|
|
|
# DWARF32-NEXT: - Value: 0x0000000000000089
|
|
|
|
# DWARF32-NEXT: - Value: 0x0000000000000006
|
|
|
|
# DWARF32-NEXT: - Value: 0x0000000000000001
|
|
|
|
# DWARF32-NEXT: - AbbrCode: 0x00000000
|
|
|
|
# DWARF32-NEXT: Values:
|
|
|
|
|
|
|
|
## b) Test that yaml2obj emits a correct unit header and obj2yaml is able to convert it back.
|
|
|
|
|
|
|
|
## Test DWARF32 unit header.
|
|
|
|
|
|
|
|
# RUN: yaml2obj --docnum=2 -DFORMAT=DWARF32 %s -o %t2.dwarf32.o
|
|
|
|
# RUN: llvm-readobj --hex-dump=__debug_info %t2.dwarf32.o | \
|
|
|
|
# RUN: FileCheck %s --check-prefix=DWARF32-HEADER
|
|
|
|
|
|
|
|
# DWARF32-HEADER: Hex dump of section '__debug_info':
|
|
|
|
# DWARF32-HEADER-NEXT: 0x00000000 0c000000 04000000 00000801 34120000 ............4...
|
|
|
|
## ^------- unit_length (4-byte)
|
|
|
|
## ^--- version (2-byte)
|
|
|
|
## ^-------- debug_abbrev_offset (4-byte)
|
|
|
|
## ^- address_size (1-byte)
|
|
|
|
## ^- abbrev code (ULEB128)
|
|
|
|
## ^------- value, Form: DW_FORM_addr (4-byte)
|
|
|
|
|
|
|
|
# RUN: obj2yaml %t2.dwarf32.o | FileCheck %s --check-prefix=DWARF32-YAML
|
|
|
|
|
|
|
|
# DWARF32-YAML: debug_info:
|
|
|
|
# DWARF32-YAML-NEXT: - Length: 12
|
|
|
|
# DWARF32-YAML-NEXT: Version: 4
|
|
|
|
# DWARF32-YAML-NEXT: AbbrOffset: 0
|
|
|
|
# DWARF32-YAML-NEXT: AddrSize: 8
|
|
|
|
# DWARF32-YAML-NEXT: Entries:
|
|
|
|
# DWARF32-YAML-NEXT: - AbbrCode: 0x00000001
|
|
|
|
# DWARF32-YAML-NEXT: Values:
|
|
|
|
# DWARF32-YAML-NEXT: - Value: 0x0000000000001234
|
|
|
|
|
|
|
|
--- !mach-o
|
|
|
|
FileHeader:
|
|
|
|
magic: 0xFEEDFACF
|
|
|
|
cputype: 0x01000007
|
|
|
|
cpusubtype: 0x00000003
|
|
|
|
filetype: 0x0000000A
|
|
|
|
ncmds: 1
|
|
|
|
sizeofcmds: 232
|
|
|
|
flags: 0x00000000
|
|
|
|
reserved: 0x00000000
|
|
|
|
LoadCommands:
|
|
|
|
- cmd: LC_SEGMENT_64
|
|
|
|
cmdsize: 232
|
|
|
|
segname: __DWARF
|
|
|
|
vmaddr: 0x00
|
|
|
|
vmsize: 0x00
|
|
|
|
fileoff: 0x00
|
|
|
|
filesize: 0x00
|
|
|
|
maxprot: 0
|
|
|
|
initprot: 0
|
|
|
|
nsects: 2
|
|
|
|
flags: 0
|
|
|
|
Sections:
|
|
|
|
- sectname: __debug_abbrev
|
|
|
|
segname: __DWARF
|
|
|
|
addr: 0x00
|
|
|
|
size: 12
|
|
|
|
offset: 528
|
|
|
|
align: 0
|
|
|
|
reloff: 0x00000000
|
|
|
|
nreloc: 0
|
|
|
|
flags: 0x00000000
|
|
|
|
reserved1: 0x00000000
|
|
|
|
reserved2: 0x00000000
|
|
|
|
reserved3: 0x00000000
|
|
|
|
- sectname: __debug_info
|
|
|
|
segname: __DWARF
|
|
|
|
addr: 0x00
|
|
|
|
size: 0xffff
|
|
|
|
offset: 1070
|
|
|
|
align: 0
|
|
|
|
reloff: 0x00000000
|
|
|
|
nreloc: 0
|
|
|
|
flags: 0x00000000
|
|
|
|
reserved1: 0x00000000
|
|
|
|
reserved2: 0x00000000
|
|
|
|
reserved3: 0x00000000
|
|
|
|
DWARF:
|
|
|
|
debug_abbrev:
|
|
|
|
- Code: 1
|
|
|
|
Tag: DW_TAG_compile_unit
|
|
|
|
Children: DW_CHILDREN_no
|
|
|
|
Attributes:
|
|
|
|
- Attribute: DW_AT_low_pc
|
|
|
|
Form: DW_FORM_addr
|
|
|
|
debug_info:
|
|
|
|
- Format: [[FORMAT]]
|
|
|
|
Length: 12
|
|
|
|
Version: 4
|
|
|
|
AbbrOffset: 0
|
|
|
|
AddrSize: 8
|
|
|
|
Entries:
|
|
|
|
- AbbrCode: 1
|
|
|
|
Values:
|
|
|
|
- Value: 0x1234
|
|
|
|
|
|
|
|
## Test DWARF64 unit header.
|
|
|
|
|
|
|
|
# RUN: yaml2obj --docnum=2 -DFORMAT=DWARF64 %s -o %t2.dwarf64.o
|
|
|
|
# RUN: llvm-readobj --hex-dump=__debug_info %t2.dwarf64.o | \
|
|
|
|
# RUN: FileCheck %s --check-prefix=DWARF64-HEADER
|
|
|
|
|
|
|
|
# DWARF64-HEADER: Hex dump of section '__debug_info':
|
|
|
|
# DWARF64-HEADER-NEXT: 0x00000000 ffffffff 0c000000 00000000 04000000 ................
|
|
|
|
## ^------------------------- unit_length (12-byte)
|
|
|
|
## ^--- version (2-byte)
|
|
|
|
## ^--- debug_abbrev_offset (8-byte)
|
|
|
|
# DWARF64-HEADER-NEXT: 0x00000010 00000000 00000801 34120000 00000000 ........4.......
|
|
|
|
## -------------
|
|
|
|
## ^- address_size (1-byte)
|
|
|
|
## ^- abbrev code (ULEB128)
|
|
|
|
## ^---------------- value, Form: DW_FORM_addr (8-byte)
|
|
|
|
|
|
|
|
# RUN: obj2yaml %t2.dwarf64.o | FileCheck %s --check-prefix=DWARF64-YAML
|
2016-12-23 06:44:27 +08:00
|
|
|
|
2020-06-30 15:07:45 +08:00
|
|
|
# DWARF64-YAML: debug_info:
|
|
|
|
# DWARF64-YAML-NEXT: - Format: DWARF64
|
|
|
|
# DWARF64-YAML-NEXT: Length: 12
|
|
|
|
# DWARF64-YAML-NEXT: Version: 4
|
|
|
|
# DWARF64-YAML-NEXT: AbbrOffset: 0
|
|
|
|
# DWARF64-YAML-NEXT: AddrSize: 8
|
|
|
|
# DWARF64-YAML-NEXT: Entries:
|
|
|
|
# DWARF64-YAML-NEXT: - AbbrCode: 0x00000001
|
|
|
|
# DWARF64-YAML-NEXT: Values:
|
|
|
|
# DWARF64-YAML-NEXT: - Value: 0x0000000000001234
|