diff options
Diffstat (limited to 'test/mach-o/parse-initializers64.yaml')
-rw-r--r-- | test/mach-o/parse-initializers64.yaml | 105 |
1 files changed, 105 insertions, 0 deletions
diff --git a/test/mach-o/parse-initializers64.yaml b/test/mach-o/parse-initializers64.yaml new file mode 100644 index 0000000000000..5ebd8dafd7ce4 --- /dev/null +++ b/test/mach-o/parse-initializers64.yaml @@ -0,0 +1,105 @@ +# RUN: lld -flavor darwin -arch x86_64 -r -print_atoms %s -o %t | FileCheck %s +# +# Test parsing of literal sections. +# + +--- !mach-o +arch: x86_64 +file-type: MH_OBJECT +flags: [ MH_SUBSECTIONS_VIA_SYMBOLS ] +has-UUID: false +OS: unknown +sections: + - segment: __TEXT + section: __text + type: S_REGULAR + attributes: [ S_ATTR_PURE_INSTRUCTIONS, S_ATTR_SOME_INSTRUCTIONS ] + address: 0x0000000000000000 + content: [ 0x55, 0x48, 0x89, 0xE5, 0x5D, 0xC3, 0x55, 0x48, + 0x89, 0xE5, 0x5D, 0xC3, 0x55, 0x48, 0x89, 0xE5, + 0x5D, 0xC3 ] + - segment: __DATA + section: __mod_init_func + type: S_MOD_INIT_FUNC_POINTERS + attributes: [ ] + alignment: 0 + address: 0x0000000000000100 + content: [ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 ] + relocations: + - offset: 0x00000000 + type: X86_64_RELOC_UNSIGNED + length: 3 + pc-rel: false + extern: true + symbol: 0 + - offset: 0x00000008 + type: X86_64_RELOC_UNSIGNED + length: 3 + pc-rel: false + extern: true + symbol: 1 + - segment: __DATA + section: __mod_term_func + type: S_MOD_TERM_FUNC_POINTERS + attributes: [ ] + alignment: 3 + address: 0x0000000000000108 + content: [ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 ] + relocations: + - offset: 0x00000000 + type: X86_64_RELOC_UNSIGNED + length: 3 + pc-rel: false + extern: true + symbol: 2 +global-symbols: + - name: _init + type: N_SECT + scope: [ N_EXT ] + sect: 1 + value: 0x0000000000000000 + - name: _init2 + type: N_SECT + scope: [ N_EXT ] + sect: 1 + value: 0x0000000000000006 + - name: _term + type: N_SECT + scope: [ N_EXT ] + sect: 1 + value: 0x000000000000000C +... + + +# CHECK:defined-atoms: +# CHECK: - type: initializer-pointer +# CHECK: content: [ 00, 00, 00, 00, 00, 00, 00, 00 ] +# CHECK: dead-strip: never +# CHECK: references: +# CHECK: - kind: pointer64 +# CHECK: offset: 0 +# CHECK: target: _init +# CHECK: - type: initializer-pointer +# CHECK: content: [ 00, 00, 00, 00, 00, 00, 00, 00 ] +# CHECK: dead-strip: never +# CHECK: references: +# CHECK: - kind: pointer64 +# CHECK: offset: 0 +# CHECK: target: _init2 +# CHECK: - type: terminator-pointer +# CHECK: content: [ 00, 00, 00, 00, 00, 00, 00, 00 ] +# CHECK: dead-strip: never +# CHECK: references: +# CHECK: - kind: pointer64 +# CHECK: offset: 0 +# CHECK: target: _term +# CHECK: - name: _init +# CHECK: scope: global +# CHECK: content: [ 55, 48, 89, E5, 5D, C3 ] +# CHECK: - name: _init2 +# CHECK: scope: global +# CHECK: content: [ 55, 48, 89, E5, 5D, C3 ] +# CHECK: - name: _term +# CHECK: scope: global +# CHECK: content: [ 55, 48, 89, E5, 5D, C3 ] |