# RUN: ld64.lld -arch x86_64 %s %p/Inputs/x86_64/libSystem.yaml -o %t1 # RUN: llvm-nm -m -n %t1 | FileCheck %s # # RUN: ld64.lld -arch x86_64 %s %p/Inputs/x86_64/libSystem.yaml -dead_strip -o %t2 # RUN: llvm-nm -m -n %t2 | FileCheck %s # # RUN: ld64.lld -arch x86_64 %s %p/Inputs/x86_64/libSystem.yaml -dylib -o %t3 # RUN: llvm-nm -m -n %t3 | FileCheck %s # # RUN: ld64.lld -arch x86_64 %s %p/Inputs/x86_64/libSystem.yaml -bundle -o %t4 # RUN: llvm-nm -m -n %t4 | FileCheck %s # # Test that ___dso_handle symbol is available for executables, bundles, and dylibs # --- !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, 0xC3 ] - segment: __DATA section: __data type: S_REGULAR attributes: [ ] alignment: 8 address: 0x0000000000000008 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: _d type: N_SECT scope: [ N_EXT ] sect: 2 value: 0x0000000000000008 - name: _main type: N_SECT scope: [ N_EXT ] sect: 1 value: 0x0000000000000000 undefined-symbols: - name: ___dso_handle type: N_UNDF scope: [ N_EXT ] value: 0x0000000000000000 ... # CHECK_NOT: ___dso_handle # CHECK: _main