1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-25 12:12:47 +01:00
llvm-mirror/test/ObjectYAML/MachO/DWARF2-AddrSize8-FormValues.yaml
Chris Bieneman 97553ff10e [ObjectYAML] Fix issue with DWARF2 AddrSize 8
In my refactoring I introduced a bug where we were using the reference size instead of the offset size for DW_FORM_strp and similar forms.

This patch resolves the error and adds a test case testing all the DWARF forms for DWARF2 AddrSize 8. There is similar coverage already in the DWARFDebugInfoTest sources that covers the parser. Once I migrate the DWARFGenerator APIs to be built on the YAML tools they will be fully covered under the same tests.

llvm-svn: 297230
2017-03-07 21:34:35 +00:00

508 lines
17 KiB
YAML

# RUN: yaml2obj %s | obj2yaml | FileCheck %s
--- !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: 180
offset: 0x000020B3
align: 0
reloff: 0x00000000
nreloc: 0
flags: 0x00000000
reserved1: 0x00000000
reserved2: 0x00000000
reserved3: 0x00000000
- sectname: __debug_abbrev
segname: __DWARF
addr: 0x000000010000312C
size: 84
offset: 0x00002167
align: 0
reloff: 0x00000000
nreloc: 0
flags: 0x00000000
reserved1: 0x00000000
reserved2: 0x00000000
reserved3: 0x00000000
- sectname: __debug_str
segname: __DWARF
addr: 0x0000000100003178
size: 83
offset: 0x000021BB
align: 0
reloff: 0x00000000
nreloc: 0
flags: 0x00000000
reserved1: 0x00000000
reserved2: 0x00000000
reserved3: 0x00000000
- sectname: __apple_names
segname: __DWARF
addr: 0x0000000100003206
size: 36
offset: 0x0000221E
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
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_info:
- Length:
TotalLength: 168
Version: 2
AbbrOffset: 0
AddrSize: 8
Entries:
- AbbrCode: 0x00000001
Values:
- Value: 0x0123456789ABCDEF
- Value: 0x000000000000000A
BlockData:
- 0x01
- 0x02
- 0x03
- 0x04
- 0x05
- 0x06
- 0x07
- 0x08
- 0x09
- 0x00
- Value: 0x000000000000000A
BlockData:
- 0x01
- 0x02
- 0x03
- 0x04
- 0x05
- 0x06
- 0x07
- 0x08
- 0x09
- 0x00
- Value: 0x000000000000000A
BlockData:
- 0x01
- 0x02
- 0x03
- 0x04
- 0x05
- 0x06
- 0x07
- 0x08
- 0x09
- 0x00
- Value: 0x000000000000000A
BlockData:
- 0x01
- 0x02
- 0x03
- 0x04
- 0x05
- 0x06
- 0x07
- 0x08
- 0x09
- 0x00
- Value: 0x0000000000000001
- Value: 0x0000000000002345
- Value: 0x000000006789ABCD
- Value: 0x0011223344556677
- Value: 0x0000000000000000
CStr: Hello
- Value: 0x0000000000000000
- Value: 0x0000000012345678
- Value: 0x0000000000000001
- Value: 0x0000000000002345
- Value: 0x000000006789ABCD
- Value: 0x0011223344556677
- Value: 0xAABBCCDDEEFF0011
- Value: 0xFFFFFFFFFFFFFFFE
- Value: 0x0000000000000001
- Value: 0x0000000000000000
- Value: 0x0000000000000001
- Value: 0x8000000000000000
- Value: 0xFFFFFFFFFFFFFFFE
- Value: 0x0000000000000001
- Value: 0x0000000000000002
- Value: 0x0123456789ABCDEF
...
#CHECK: debug_info:
#CHECK: - Length:
#CHECK: TotalLength: 168
#CHECK: Version: 2
#CHECK: AbbrOffset: 0
#CHECK: AddrSize: 8
#CHECK: Entries:
#CHECK: - AbbrCode: 0x00000001
#CHECK: Values:
#CHECK: - Value: 0x0123456789ABCDEF
#CHECK: - Value: 0x000000000000000A
#CHECK: BlockData:
#CHECK: - 0x01
#CHECK: - 0x02
#CHECK: - 0x03
#CHECK: - 0x04
#CHECK: - 0x05
#CHECK: - 0x06
#CHECK: - 0x07
#CHECK: - 0x08
#CHECK: - 0x09
#CHECK: - 0x00
#CHECK: - Value: 0x000000000000000A
#CHECK: BlockData:
#CHECK: - 0x01
#CHECK: - 0x02
#CHECK: - 0x03
#CHECK: - 0x04
#CHECK: - 0x05
#CHECK: - 0x06
#CHECK: - 0x07
#CHECK: - 0x08
#CHECK: - 0x09
#CHECK: - 0x00
#CHECK: - Value: 0x000000000000000A
#CHECK: BlockData:
#CHECK: - 0x01
#CHECK: - 0x02
#CHECK: - 0x03
#CHECK: - 0x04
#CHECK: - 0x05
#CHECK: - 0x06
#CHECK: - 0x07
#CHECK: - 0x08
#CHECK: - 0x09
#CHECK: - 0x00
#CHECK: - Value: 0x000000000000000A
#CHECK: BlockData:
#CHECK: - 0x01
#CHECK: - 0x02
#CHECK: - 0x03
#CHECK: - 0x04
#CHECK: - 0x05
#CHECK: - 0x06
#CHECK: - 0x07
#CHECK: - 0x08
#CHECK: - 0x09
#CHECK: - 0x00
#CHECK: - Value: 0x0000000000000001
#CHECK: - Value: 0x0000000000002345
#CHECK: - Value: 0x000000006789ABCD
#CHECK: - Value: 0x0011223344556677
#CHECK: CStr: Hello
#CHECK: - Value: 0x0000000000000000
#CHECK: - Value: 0x0000000012345678
#CHECK: - Value: 0x0000000000000001
#CHECK: - Value: 0x0000000000002345
#CHECK: - Value: 0x000000006789ABCD
#CHECK: - Value: 0x0011223344556677
#CHECK: - Value: 0xAABBCCDDEEFF0011
#CHECK: - Value: 0xFFFFFFFFFFFFFFFE
#CHECK: - Value: 0x0000000000000001
#CHECK: - Value: 0x0000000000000000
#CHECK: - Value: 0x0000000000000001
#CHECK: - Value: 0xFFFFFFFFFFFFFFFE
#CHECK: - Value: 0x0000000000000001
#CHECK: - Value: 0x0000000000000002
#CHECK: - Value: 0x0123456789ABCDEF