|
| 1 | +# REQUIRES: x86, aarch64 |
| 2 | + |
| 3 | +# RUN: rm -rf %t |
| 4 | +# RUN: split-file %s %t |
| 5 | + |
| 6 | + |
| 7 | +# RUN: llvm-mc -filetype=obj -triple=arm64-apple-macos -o %t/main-arm64.o %t/main.s |
| 8 | +# RUN: llvm-mc -filetype=obj -triple=x86_64-apple-macos -o %t/main-x86_64.o %t/main.s |
| 9 | +# RUN: llvm-mc -filetype=obj -triple=arm64-apple-macos -o %t/foo-arm64.o %t/foo.s |
| 10 | +# RUN: llvm-mc -filetype=obj -triple=x86_64-apple-macos -o %t/foo-x86_64.o %t/foo.s |
| 11 | + |
| 12 | +# Exhaustive test for: |
| 13 | +# (x86_64, arm64) x (default, -adhoc_codesign, -no_adhoc-codesign) x (execute, dylib, bundle) |
| 14 | + |
| 15 | +# RUN: %lld -lSystem -arch x86_64 -execute -o %t/out %t/main-x86_64.o |
| 16 | +# RUN: llvm-objdump --macho --all-headers %t/out | FileCheck --check-prefix=NO-ADHOC %s |
| 17 | +# RUN: %lld -arch x86_64 -dylib -o %t/out %t/foo-x86_64.o |
| 18 | +# RUN: llvm-objdump --macho --all-headers %t/out| FileCheck --check-prefix=NO-ADHOC %s |
| 19 | +# RUN: %lld -arch x86_64 -bundle -o %t/out %t/foo-x86_64.o |
| 20 | +# RUN: llvm-objdump --macho --all-headers %t/out| FileCheck --check-prefix=NO-ADHOC %s |
| 21 | + |
| 22 | +# RUN: %lld -lSystem -arch x86_64 -execute -adhoc_codesign -o %t/out %t/main-x86_64.o |
| 23 | +# RUN: llvm-objdump --macho --all-headers %t/out| FileCheck --check-prefix=ADHOC %s |
| 24 | +# RUN: %lld -arch x86_64 -dylib -adhoc_codesign -o %t/out %t/foo-x86_64.o |
| 25 | +# RUN: llvm-objdump --macho --all-headers %t/out| FileCheck --check-prefix=ADHOC %s |
| 26 | +# RUN: %lld -arch x86_64 -bundle -adhoc_codesign -o %t/out %t/foo-x86_64.o |
| 27 | +# RUN: llvm-objdump --macho --all-headers %t/out| FileCheck --check-prefix=ADHOC %s |
| 28 | + |
| 29 | +# RUN: %lld -lSystem -arch x86_64 -execute -no_adhoc_codesign -o %t/out %t/main-x86_64.o |
| 30 | +# RUN: llvm-objdump --macho --all-headers %t/out| FileCheck --check-prefix=NO-ADHOC %s |
| 31 | +# RUN: %lld -arch x86_64 -dylib -no_adhoc_codesign -o %t/out %t/foo-x86_64.o |
| 32 | +# RUN: llvm-objdump --macho --all-headers %t/out| FileCheck --check-prefix=NO-ADHOC %s |
| 33 | +# RUN: %lld -arch x86_64 -bundle -no_adhoc_codesign -o %t/out %t/foo-x86_64.o |
| 34 | +# RUN: llvm-objdump --macho --all-headers %t/out| FileCheck --check-prefix=NO-ADHOC %s |
| 35 | + |
| 36 | + |
| 37 | +# RUN: %lld -lSystem -arch arm64 -execute -o %t/out %t/main-arm64.o |
| 38 | +# RUN: llvm-objdump --macho --all-headers %t/out | FileCheck --check-prefix=ADHOC %s |
| 39 | +# RUN: %lld -arch arm64 -dylib -o %t/out %t/foo-arm64.o |
| 40 | +# RUN: llvm-objdump --macho --all-headers %t/out| FileCheck --check-prefix=ADHOC %s |
| 41 | +# RUN: %lld -arch arm64 -bundle -o %t/out %t/foo-arm64.o |
| 42 | +# RUN: llvm-objdump --macho --all-headers %t/out| FileCheck --check-prefix=ADHOC %s |
| 43 | + |
| 44 | +# RUN: %lld -lSystem -arch arm64 -execute -adhoc_codesign -o %t/out %t/main-arm64.o |
| 45 | +# RUN: llvm-objdump --macho --all-headers %t/out| FileCheck --check-prefix=ADHOC %s |
| 46 | +# RUN: %lld -arch arm64 -dylib -adhoc_codesign -o %t/out %t/foo-arm64.o |
| 47 | +# RUN: llvm-objdump --macho --all-headers %t/out| FileCheck --check-prefix=ADHOC %s |
| 48 | +# RUN: %lld -arch arm64 -bundle -adhoc_codesign -o %t/out %t/foo-arm64.o |
| 49 | +# RUN: llvm-objdump --macho --all-headers %t/out| FileCheck --check-prefix=ADHOC %s |
| 50 | + |
| 51 | +# RUN: %lld -lSystem -arch arm64 -execute -no_adhoc_codesign -o %t/out %t/main-arm64.o |
| 52 | +# RUN: llvm-objdump --macho --all-headers %t/out| FileCheck --check-prefix=NO-ADHOC %s |
| 53 | +# RUN: %lld -arch arm64 -dylib -no_adhoc_codesign -o %t/out %t/foo-arm64.o |
| 54 | +# RUN: llvm-objdump --macho --all-headers %t/out| FileCheck --check-prefix=NO-ADHOC %s |
| 55 | +# RUN: %lld -arch arm64 -bundle -no_adhoc_codesign -o %t/out %t/foo-arm64.o |
| 56 | +# RUN: llvm-objdump --macho --all-headers %t/out| FileCheck --check-prefix=NO-ADHOC %s |
| 57 | + |
| 58 | +# ADHOC: cmd LC_CODE_SIGNATURE |
| 59 | +# ADHOC-NEXT: cmdsize 16 |
| 60 | + |
| 61 | +# NO-ADHOC-NOT: cmd LC_CODE_SIGNATURE |
| 62 | + |
| 63 | +#--- foo.s |
| 64 | +.globl _foo |
| 65 | +_foo: |
| 66 | + ret |
| 67 | + |
| 68 | +#--- main.s |
| 69 | +.globl _main |
| 70 | +_main: |
| 71 | + ret |
0 commit comments