1 # RUN: lld -flavor darwin -arch x86_64 -macosx_version_min 10.8 -dylib \
2 # RUN: %s %p/Inputs/x86_64/libSystem.yaml -o %t \
3 # RUN: -exported_symbols_list %p/Inputs/exported_symbols_list.exp && \
4 # RUN: llvm-nm -m %t | FileCheck %s
6 # RUN: lld -flavor darwin -arch x86_64 -macosx_version_min 10.8 -dylib \
7 # RUN: %s %p/Inputs/x86_64/libSystem.yaml -o %t2 \
8 # RUN: -exported_symbol _foo -exported_symbol _b && \
9 # RUN: llvm-nm -m %t2 | FileCheck %s
11 # RUN: lld -flavor darwin -arch x86_64 -macosx_version_min 10.8 -dylib \
12 # RUN: %s %p/Inputs/x86_64/libSystem.yaml -o %t3 \
13 # RUN: -unexported_symbol _bar -unexported_symbol _a && \
14 # RUN: llvm-nm -m %t3 | FileCheck %s
16 # RUN: lld -flavor darwin -arch x86_64 -macosx_version_min 10.8 -dylib \
17 # RUN: %s %p/Inputs/x86_64/libSystem.yaml -dead_strip -o %t \
18 # RUN: -exported_symbols_list %p/Inputs/exported_symbols_list.exp && \
19 # RUN: llvm-nm -m %t | FileCheck -check-prefix=CHECK_DEAD %s
21 # Test -exported_symbols_list and -exported_symbol properly changes visibility.
27 flags: [ MH_SUBSECTIONS_VIA_SYMBOLS ]
32 attributes: [ S_ATTR_PURE_INSTRUCTIONS, S_ATTR_SOME_INSTRUCTIONS ]
33 address: 0x0000000000000000
34 content: [ 0x55, 0x48, 0x89, 0xE5, 0x5D, 0xC3, 0x55, 0x48,
35 0x89, 0xE5, 0x5D, 0xC3 ]
41 address: 0x000000000000000C
42 content: [ 0x0A, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00 ]
49 value: 0x000000000000000C
54 value: 0x0000000000000010
59 value: 0x0000000000000006
64 value: 0x0000000000000000
69 # CHECK: (__DATA,__data) non-external (was a private external) _a
70 # CHECK: (__DATA,__data) external _b
71 # CHECK: (__TEXT,__text) non-external (was a private external) _bar
72 # CHECK: (__TEXT,__text) external _foo
74 # CHECK_DEAD-NOT: (__DATA,__data) non-external (was a private external) _a
75 # CHECK_DEAD: (__DATA,__data) external _b
76 # CHECK_DEAD-NOT: (__TEXT,__text) non-external (was a private external) _bar
77 # CHECK_DEAD: (__TEXT,__text) external _foo