Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / lld / test / MachO / framework.s
blob38925847935bb981b0ad4a5e3cffe496fe96d5bc
1 # REQUIRES: x86, shell
2 # RUN: rm -rf %t; split-file %s %t
3 # RUN: llvm-mc -filetype=obj -triple=x86_64-apple-darwin %t/foo.s -o %t/foo.o
4 # RUN: mkdir -p %t/Foo.framework/Versions/A
5 # RUN: %lld -dylib -install_name %t/Foo.framework/Versions/A/Foo %t/foo.o -o %t/Foo.framework/Versions/A/Foo
6 # RUN: %lld -dylib -install_name %t/Foo.framework/Versions/A/Foobar %t/foo.o -o %t/Foo.framework/Versions/A/Foobar
7 # RUN: ln -sf A %t/Foo.framework/Versions/Current
8 # RUN: ln -sf Versions/Current/Foo %t/Foo.framework/Foo
10 # RUN: llvm-mc -filetype=obj -triple=x86_64-apple-darwin %t/test.s -o %t/test.o
11 # RUN: %lld -lSystem -F%t -framework Foo %t/test.o -o %t/test
12 # RUN: llvm-objdump --macho --lazy-bind %t/test | FileCheck %s --check-prefix=NOSUFFIX
13 # NOSUFFIX: __DATA __la_symbol_ptr 0x{{[0-9a-f]*}} {{.*}}Foo _foo
15 # RUN: %lld -lSystem -F%t -framework Foo,baz %t/test.o -o %t/test-wrong-suffix
16 # RUN: llvm-objdump --macho --lazy-bind %t/test-wrong-suffix | FileCheck %s --check-prefix=NOSUFFIX
18 # RUN: %lld -lSystem -F%t -framework Foo,bar %t/test.o -o %t/test-suffix
19 # RUN: llvm-objdump --macho --lazy-bind %t/test-suffix | FileCheck %s --check-prefix=SUFFIX
20 # SUFFIX: __DATA __la_symbol_ptr 0x{{[0-9a-f]*}} {{.*}}Foobar _foo
22 #--- foo.s
23 .globl _foo
24 _foo:
25 ret
27 #--- test.s
28 .globl _main
29 .text
30 _main:
31 sub $8, %rsp # 16-byte-align the stack; dyld checks for this
32 callq _foo
33 mov $0, %rax
34 add $8, %rsp
35 ret