# 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: 1 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: 8 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 ]