# RUN: ld64.lld -arch i386 -r -print_atoms %s -o %t | FileCheck %s # # Test parsing of literal sections. # --- !mach-o arch: x86 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, 0x89, 0xE5, 0x5D, 0xC3, 0x55, 0x89, 0xE5, 0x5D, 0xC3, 0x55, 0x89, 0xE5, 0x5D, 0xC3 ] - segment: __DATA section: __mod_init_func type: S_MOD_INIT_FUNC_POINTERS attributes: [ ] alignment: 2 address: 0x0000000000000044 content: [ 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00 ] relocations: - offset: 0x00000000 type: GENERIC_RELOC_VANILLA length: 2 pc-rel: false extern: false symbol: 1 - offset: 0x00000004 type: GENERIC_RELOC_VANILLA length: 2 pc-rel: false extern: false symbol: 1 - segment: __DATA section: __mod_term_func type: S_MOD_TERM_FUNC_POINTERS attributes: [ ] alignment: 2 address: 0x0000000000000104 content: [ 0x0A, 0x00, 0x00, 0x00 ] 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: 0x0000000000000005 - name: _term type: N_SECT scope: [ N_EXT ] sect: 1 value: 0x000000000000000A ... # CHECK:defined-atoms: # CHECK: - type: initializer-pointer # CHECK: content: [ 00, 00, 00, 00 ] # CHECK: dead-strip: never # CHECK: - type: initializer-pointer # CHECK: content: [ 05, 00, 00, 00 ] # CHECK: dead-strip: never # CHECK: - type: terminator-pointer # CHECK: content: [ 0A, 00, 00, 00 ] # CHECK: dead-strip: never # CHECK: - name: _init # CHECK: scope: global # CHECK: content: [ 55, 89, E5, 5D, C3 ] # CHECK: - name: _init2 # CHECK: scope: global # CHECK: content: [ 55, 89, E5, 5D, C3 ] # CHECK: - name: _term # CHECK: scope: global # CHECK: content: [ 55, 89, E5, 5D, C3 ]