| # RUN: ld64.lld -arch x86_64 -dead_strip -export_dynamic %s -dylib %p/Inputs/x86_64/libSystem.yaml -o %t.dylib -print_atoms | FileCheck -check-prefix=CHECK1 %s |
| # RUN: ld64.lld -arch x86_64 -export_dynamic -dead_strip %s -dylib %p/Inputs/x86_64/libSystem.yaml -o %t.dylib -print_atoms | FileCheck -check-prefix=CHECK1 %s |
| # RUN: ld64.lld -arch x86_64 -dead_strip %s -dylib %p/Inputs/x86_64/libSystem.yaml -o %t2.dylib -print_atoms | FileCheck -check-prefix=CHECK2 %s |
| |
| # RUN: ld64.lld -arch x86_64 -r %s -dylib %p/Inputs/x86_64/libSystem.yaml -o %t3.o |
| # RUN: llvm-nm -m %t3.o | FileCheck -check-prefix=RELOCATABLE_SYMBOLS %s |
| |
| # |
| # Test that -export_dynamic -dead-strip from removing globals. |
| # |
| |
| --- |
| defined-atoms: |
| - name: def |
| scope: global |
| dead-strip: never |
| - name: dead |
| scope: global |
| shared-library-atoms: |
| - name: dyld_stub_binder |
| load-name: /usr/lib/libSystem.B.dylib |
| type: unknown |
| ... |
| |
| # CHECK1: name: def |
| # CHECK1: name: dead |
| |
| # CHECK2: name: def |
| # CHECK2-NOT: name: dead |
| |
| # RELOCATABLE_SYMBOLS: external def |