# RUN: lld -flavor darwin -arch i386 -r -print_atoms %s -o %t | FileCheck %s # # Test parsing of non-lazy-pointer 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, 0xE8, 0x00, 0x00, 0x00, 0x00, 0x59, 0x8D, 0x81, 0x14, 0x00, 0x00, 0x00, 0x8D, 0x81, 0x18, 0x00, 0x00, 0x00, 0x5D, 0xC3, 0x55, 0x89, 0xE5, 0x5D, 0xC3 ] relocations: - offset: 0x00000011 scattered: true type: GENERIC_RELOC_LOCAL_SECTDIFF length: 2 pc-rel: false value: 0x00000020 - offset: 0x00000000 scattered: true type: GENERIC_RELOC_PAIR length: 2 pc-rel: false value: 0x00000008 - offset: 0x0000000B scattered: true type: GENERIC_RELOC_LOCAL_SECTDIFF length: 2 pc-rel: false value: 0x0000001C - offset: 0x00000000 scattered: true type: GENERIC_RELOC_PAIR length: 2 pc-rel: false value: 0x00000008 - segment: __IMPORT section: __pointers type: S_NON_LAZY_SYMBOL_POINTERS attributes: [ ] address: 0x000000000000001C content: [ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 ] indirect-syms: [ 2, 2147483648 ] local-symbols: - name: _foo type: N_SECT sect: 1 value: 0x0000000000000017 global-symbols: - name: _get type: N_SECT scope: [ N_EXT ] sect: 1 value: 0x0000000000000000 undefined-symbols: - name: _bar type: N_UNDF scope: [ N_EXT ] value: 0x0000000000000000 ... # CHECK:defined-atoms: # CHECK: - ref-name: [[GOT1:L[L0-9]+]] # CHECK: scope: hidden # CHECK: type: got # CHECK: content: [ 00, 00, 00, 00 ] # CHECK: merge: by-content # CHECK: - ref-name: [[GOT2:L[L0-9]+]] # CHECK: scope: hidden # CHECK: type: got # CHECK: content: [ 00, 00, 00, 00 ] # CHECK: merge: by-content # CHECK: - name: _get # CHECK: scope: global # CHECK: content: [ 55, 89, E5, E8, 00, 00, 00, 00, 59, 8D, 81, 14, # CHECK: 00, 00, 00, 8D, 81, 18, 00, 00, 00, 5D, C3 ] # CHECK: references: # CHECK: - kind: funcRel32 # CHECK: offset: 11 # CHECK: target: [[GOT1]] # CHECK: - kind: funcRel32 # CHECK: offset: 17 # CHECK: target: [[GOT2]] # CHECK: - name: _foo # CHECK: content: [ 55, 89, E5, 5D, C3 ]