llvm-project

Форк
0
/
implicit-and-allowable-clients.test 
48 строк · 1.7 Кб
1
# REQUIRES: aarch64
2
# RUN: rm -rf %t; split-file %s %t
3
# RUN: ln -s Versions/A/FrameworkPublic.tbd %t/System/Library/Frameworks/FrameworkPublic.framework/
4
# RUN: ln -s Versions/A/FrameworkPrivate.tbd %t/System/Library/Frameworks/FrameworkPrivate.framework/
5
# RUN: llvm-mc -filetype obj -triple arm64-apple-macos11.0 %t/test.s -o %t/test.o
6
# RUN: %lld -arch arm64 -platform_version macos 11.0 11.0 -o %t/test -syslibroot %t -framework FrameworkPublic %t/test.o
7

8
# RUN: llvm-objdump --bind --no-show-raw-insn -d %t/test | FileCheck %s
9
# CHECK:     Bind table:
10
# CHECK-DAG: __DATA __data {{.*}} pointer 0 FrameworkPublic   _funcPublic
11
# CHECK-DAG: __DATA __data {{.*}} pointer 0 FrameworkPublic   _funcPrivate
12

13
#--- System/Library/Frameworks/FrameworkPublic.framework/Versions/A/FrameworkPublic.tbd
14
--- !tapi-tbd
15
tbd-version: 4
16
targets: [ arm64-macos ]
17
install-name: '/System/Library/Frameworks/FrameworkPublic.framework/Versions/A/FrameworkPublic'
18
current-version: 1.0.0
19
reexported-libraries:
20
  - targets: [ arm64-macos ]
21
    libraries: [ '/System/Library/Frameworks/FrameworkPrivate.framework/Versions/A/FrameworkPrivate' ]
22
exports:
23
  - targets: [ arm64-macos ]
24
    symbols: [ '_funcPublic' ]
25
...
26
#--- System/Library/Frameworks/FrameworkPrivate.framework/Versions/A/FrameworkPrivate.tbd
27
--- !tapi-tbd
28
tbd-version: 4
29
targets: [ arm64-macos ]
30
install-name: '/System/Library/Frameworks/FrameworkPrivate.framework/Versions/A/FrameworkPrivate'
31
current-version: 1.0.0
32
allowable-clients:
33
  - targets: [ arm64-macos ]
34
    clients: [ FrameworkPublic ]
35
exports:
36
  - targets: [ arm64-macos ]
37
    symbols: [ '_funcPrivate' ]
38
...
39
#--- test.s
40
.text
41
.globl _main
42

43
_main:
44
  ret
45

46
.data
47
  .quad _funcPublic
48
  .quad _funcPrivate
49

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.