64 lines
2.0 KiB
YAML
64 lines
2.0 KiB
YAML
# RUN: lld -flavor darwin -arch x86_64 -r %s -o %t \
|
|
# RUN: && llvm-nm -m %t | FileCheck %s
|
|
#
|
|
# RUN: lld -flavor darwin -arch x86_64 -r %s -o %t2 -keep_private_externs \
|
|
# RUN: && llvm-nm -m %t2 | FileCheck -check-prefix=CHECK_KPE %s
|
|
#
|
|
# Test -keep_private_externs in -r mode.
|
|
#
|
|
|
|
--- !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, 0x5D, 0xC3, 0x55, 0x48,
|
|
0x89, 0xE5, 0x5D, 0xC3 ]
|
|
- segment: __DATA
|
|
section: __data
|
|
type: S_REGULAR
|
|
attributes: [ ]
|
|
alignment: 2
|
|
address: 0x000000000000000C
|
|
content: [ 0x0A, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00 ]
|
|
|
|
global-symbols:
|
|
- name: _a
|
|
type: N_SECT
|
|
scope: [ N_EXT ]
|
|
sect: 2
|
|
value: 0x000000000000000C
|
|
- name: _b
|
|
type: N_SECT
|
|
scope: [ N_EXT, N_PEXT ]
|
|
sect: 2
|
|
value: 0x0000000000000010
|
|
- name: _bar
|
|
type: N_SECT
|
|
scope: [ N_EXT ]
|
|
sect: 1
|
|
value: 0x0000000000000006
|
|
- name: _foo
|
|
type: N_SECT
|
|
scope: [ N_EXT, N_PEXT ]
|
|
sect: 1
|
|
value: 0x0000000000000000
|
|
|
|
|
|
...
|
|
|
|
# CHECK: (__DATA,__data) external _a
|
|
# CHECK: (__DATA,__data) non-external (was a private external) _b
|
|
# CHECK: (__TEXT,__text) external _bar
|
|
# CHECK: (__TEXT,__text) non-external (was a private external) _foo
|
|
|
|
# CHECK_KPE: (__DATA,__data) external _a
|
|
# CHECK_KPE: (__DATA,__data) private external _b
|
|
# CHECK_KPE: (__TEXT,__text) external _bar
|
|
# CHECK_KPE: (__TEXT,__text) private external _foo
|