blob: a0880e46422747ffd334036cca9621953530964b [file] [edit]
# RUN: yaml2obj -DENDIAN=false %s | obj2yaml | FileCheck %s
# RUN: yaml2obj -DENDIAN=true %s | obj2yaml | FileCheck %s
## Check that yaml2obj writes all endian-sensitive Mach-O fields in object
## endianness rather than host endianness.
# CHECK: FileHeader:
# CHECK: magic: 0xFEEDFACF
# CHECK: cputype: 0x1000012
# CHECK: cpusubtype: 0x34
# CHECK: filetype: 0x1
# CHECK: ncmds: 5
# CHECK: sizeofcmds: 304
# CHECK: flags: 0x1020304
# CHECK: LoadCommands:
# CHECK: - cmd: LC_SEGMENT_64
# CHECK: cmdsize: 152
# CHECK: segname: __TEXT
# CHECK: vmaddr: 2387509390608836384
# CHECK: vmsize: 256
# CHECK: fileoff: 336
# CHECK: filesize: 4
# CHECK: maxprot: 16909060
# CHECK: initprot: 84281096
# CHECK: nsects: 1
# CHECK: flags: 151653132
# CHECK: Sections:
# CHECK: - sectname: __text
# CHECK: segname: __TEXT
# CHECK: addr: 0x2122232425262728
# CHECK: size: 4
# CHECK: offset: 0x150
# CHECK: align: 2
# CHECK: reloff: 0x154
# CHECK: nreloc: 1
# CHECK: flags: 0x80000400
# CHECK: reserved1: 0x1020304
# CHECK: reserved2: 0x5060708
# CHECK: reserved3: 0x90A0B0C
# CHECK: content: DEADBEEF
# CHECK: relocations:
# CHECK: - address: 0x1020304
# CHECK: symbolnum: 1
# CHECK: pcrel: false
# CHECK: length: 3
# CHECK: extern: true
# CHECK: type: 2
# CHECK: scattered: false
# CHECK: value: 0
# CHECK: - cmd: LC_SYMTAB
# CHECK: cmdsize: 24
# CHECK: symoff: 356
# CHECK: nsyms: 2
# CHECK: stroff: 396
# CHECK: strsize: 8
# CHECK: - cmd: LC_DYSYMTAB
# CHECK: cmdsize: 80
# CHECK: ilocalsym: 0
# CHECK: nlocalsym: 1
# CHECK: iextdefsym: 1
# CHECK: nextdefsym: 0
# CHECK: iundefsym: 1
# CHECK: nundefsym: 1
# CHECK: indirectsymoff: 388
# CHECK: nindirectsyms: 2
# CHECK: - cmd: LC_DATA_IN_CODE
# CHECK: cmdsize: 16
# CHECK: dataoff: 348
# CHECK: datasize: 8
# CHECK: - cmd: LC_BUILD_VERSION
# CHECK: cmdsize: 32
# CHECK: platform: 16909060
# CHECK: minos: 84281096
# CHECK: sdk: 151653132
# CHECK: ntools: 1
# CHECK: Tools:
# CHECK: - tool: 219025168
# CHECK: version: 286397204
# CHECK: LinkEditData:
# CHECK: NameList:
# CHECK: - n_strx: 1
# CHECK: n_type: 0x1
# CHECK: n_sect: 1
# CHECK: n_desc: 4660
# CHECK: n_value: 72623859790382856
# CHECK: - n_strx: 4
# CHECK: n_type: 0x1
# CHECK: n_sect: 0
# CHECK: n_desc: 22136
# CHECK: n_value: 1230066625199609624
# CHECK: StringTable:
# CHECK: - ''
# CHECK: - _a
# CHECK: - _b
# CHECK: - ''
# CHECK: IndirectSymbols: [ 0x1, 0x40000000 ]
# CHECK: DataInCode:
# CHECK: - Offset: 0x1020304
# CHECK: Length: 1286
# CHECK: Kind: 0x708
--- !mach-o
IsLittleEndian: [[ENDIAN]]
FileHeader:
magic: 0xFEEDFACF
cputype: 0x01000012
cpusubtype: 0x00000034
filetype: 0x00000001
ncmds: 5
sizeofcmds: 304
flags: 0x01020304
reserved: 0x05060708
LoadCommands:
- cmd: LC_SEGMENT_64
cmdsize: 152
segname: __TEXT
vmaddr: 0x2122232425262720
vmsize: 0x0000000000000100
fileoff: 336
filesize: 4
maxprot: 0x01020304
initprot: 0x05060708
nsects: 1
flags: 0x090A0B0C
Sections:
- sectname: __text
segname: __TEXT
addr: 0x2122232425262728
size: 4
offset: 336
align: 2
reloff: 340
nreloc: 1
flags: 0x80000400
reserved1: 0x01020304
reserved2: 0x05060708
reserved3: 0x090A0B0C
content: DEADBEEF
relocations:
- address: 0x01020304
symbolnum: 1
pcrel: false
length: 3
extern: true
type: 2
scattered: false
value: 0
- cmd: LC_SYMTAB
cmdsize: 24
symoff: 356
nsyms: 2
stroff: 396
strsize: 8
- cmd: LC_DYSYMTAB
cmdsize: 80
ilocalsym: 0
nlocalsym: 1
iextdefsym: 1
nextdefsym: 0
iundefsym: 1
nundefsym: 1
tocoff: 0
ntoc: 0
modtaboff: 0
nmodtab: 0
extrefsymoff: 0
nextrefsyms: 0
indirectsymoff: 388
nindirectsyms: 2
extreloff: 0
nextrel: 0
locreloff: 0
nlocrel: 0
- cmd: LC_DATA_IN_CODE
cmdsize: 16
dataoff: 348
datasize: 8
- cmd: LC_BUILD_VERSION
cmdsize: 32
platform: 0x01020304
minos: 0x05060708
sdk: 0x090A0B0C
ntools: 1
Tools:
- tool: 0x0D0E0F10
version: 0x11121314
LinkEditData:
NameList:
- n_strx: 1
n_type: 0x01
n_sect: 1
n_desc: 0x1234
n_value: 0x0102030405060708
- n_strx: 4
n_type: 0x01
n_sect: 0
n_desc: 0x5678
n_value: 0x1112131415161718
StringTable: [ '', _a, _b, '' ]
IndirectSymbols: [ 0x1, 0x40000000 ]
DataInCode:
- Offset: 0x01020304
Length: 0x0506
Kind: 0x0708
...