dead-strip-globals.yaml
1.1 KB
# 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