# RUN: ld64.lld -arch x86_64 %s %p/Inputs/interposing-section.yaml \ # RUN: -dylib -o %t %p/Inputs/x86_64/libSystem.yaml # RUN: llvm-objdump --private-headers %t | FileCheck %s # # RUN: ld64.lld -arch x86_64 %s -r -o %t1 # RUN: llvm-objdump --private-headers %t1 | FileCheck %s # # Test that interposing section is preserved by linker. # --- !mach-o arch: x86_64 file-type: MH_OBJECT flags: [ MH_SUBSECTIONS_VIA_SYMBOLS ] sections: - segment: __TEXT section: __text type: S_REGULAR attributes: [ S_ATTR_PURE_INSTRUCTIONS, S_ATTR_SOME_INSTRUCTIONS ] address: 0x0000000000000000 content: [ 0x55, 0x48, 0x89, 0xE5, 0x31, 0xC0, 0x5D, 0xE9, 0x00, 0x00, 0x00, 0x00 ] relocations: - offset: 0x00000008 type: X86_64_RELOC_BRANCH length: 2 pc-rel: true extern: true symbol: 2 - segment: __DATA section: __interpose type: S_INTERPOSING attributes: [ ] alignment: 8 address: 0x0000000000000010 content: [ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 ] relocations: - offset: 0x00000008 type: X86_64_RELOC_UNSIGNED length: 3 pc-rel: false extern: true symbol: 2 - offset: 0x00000000 type: X86_64_RELOC_UNSIGNED length: 3 pc-rel: false extern: true symbol: 0 local-symbols: - name: _my_open type: N_SECT sect: 1 value: 0x0000000000000000 - name: __interpose_open type: N_SECT sect: 2 desc: [ N_NO_DEAD_STRIP ] value: 0x0000000000000010 undefined-symbols: - name: _open type: N_UNDF scope: [ N_EXT ] value: 0x0000000000000000 ... # CHECK: sectname __interposing # CHECK: segname __DATA # CHECK: type S_INTERPOSING