brintos

brintos / llvm-project-archived public Read only

0
0
Text · 7.2 KiB · 79503e0 Raw
113 lines · plain
1# REQUIRES: x86, aarch642 3# RUN: rm -rf %t; split-file %s %t4 5# RUN: llvm-mc -filetype=obj -triple=arm64-apple-macos -o %t/main-arm64-macos.o %t/main.s6# RUN: llvm-mc -filetype=obj -triple=arm64-apple-iossimulator -o %t/main-arm64-sim.o %t/main.s7# RUN: llvm-mc -filetype=obj -triple=x86_64-apple-macos -o %t/main-x86_64-macos.o %t/main.s8# RUN: llvm-mc -filetype=obj -triple=arm64-apple-macos -o %t/foo-arm64-macos.o %t/foo.s9# RUN: llvm-mc -filetype=obj -triple=arm64-apple-iossimulator -o %t/foo-arm64-sim.o %t/foo.s10# RUN: llvm-mc -filetype=obj -triple=x86_64-apple-macos -o %t/foo-x86_64-macos.o %t/foo.s11 12# Exhaustive test for:13# (x86_64-macos, arm64-macos, arm64-ios-simulator) 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-macos.o16# RUN: llvm-objdump --macho --all-headers %t/out | FileCheck --check-prefix=NO-ADHOC %s17# RUN: %lld          -arch x86_64 -dylib   -o %t/out %t/foo-x86_64-macos.o18# RUN: llvm-objdump --macho --all-headers  %t/out| FileCheck --check-prefix=NO-ADHOC %s19# RUN: %lld          -arch x86_64 -bundle  -o %t/out %t/foo-x86_64-macos.o20# RUN: llvm-objdump --macho --all-headers  %t/out| FileCheck --check-prefix=NO-ADHOC %s21 22# RUN: %lld -lSystem -arch x86_64 -execute -adhoc_codesign -o %t/out %t/main-x86_64-macos.o23# RUN: llvm-objdump --macho --all-headers %t/out| FileCheck --check-prefix=ADHOC %s24# RUN: %lld          -arch x86_64 -dylib   -adhoc_codesign -o %t/out %t/foo-x86_64-macos.o25# RUN: llvm-objdump --macho --all-headers %t/out| FileCheck --check-prefix=ADHOC %s26# RUN: %lld          -arch x86_64 -bundle  -adhoc_codesign -o %t/out %t/foo-x86_64-macos.o27# RUN: llvm-objdump --macho --all-headers %t/out| FileCheck --check-prefix=ADHOC %s28 29# RUN: %lld -lSystem -arch x86_64 -execute -no_adhoc_codesign -o %t/out %t/main-x86_64-macos.o30# RUN: llvm-objdump --macho --all-headers %t/out| FileCheck --check-prefix=NO-ADHOC %s31# RUN: %lld          -arch x86_64 -dylib   -no_adhoc_codesign -o %t/out %t/foo-x86_64-macos.o32# RUN: llvm-objdump --macho --all-headers %t/out| FileCheck --check-prefix=NO-ADHOC %s33# RUN: %lld          -arch x86_64 -bundle  -no_adhoc_codesign -o %t/out %t/foo-x86_64-macos.o34# RUN: llvm-objdump --macho --all-headers %t/out| FileCheck --check-prefix=NO-ADHOC %s35 36 37# RUN: %lld -lSystem -arch arm64 -execute -o %t/out %t/main-arm64-macos.o38# RUN: llvm-objdump --macho --all-headers %t/out | FileCheck --check-prefix=ADHOC %s39# RUN: %lld          -arch arm64 -dylib   -o %t/out %t/foo-arm64-macos.o40# RUN: llvm-objdump --macho --all-headers  %t/out| FileCheck --check-prefix=ADHOC %s41# RUN: %lld          -arch arm64 -bundle  -o %t/out %t/foo-arm64-macos.o42# RUN: llvm-objdump --macho --all-headers  %t/out| FileCheck --check-prefix=ADHOC %s43 44# RUN: %lld -lSystem -arch arm64 -execute -adhoc_codesign -o %t/out %t/main-arm64-macos.o45# RUN: llvm-objdump --macho --all-headers %t/out| FileCheck --check-prefix=ADHOC %s46# RUN: %lld          -arch arm64 -dylib   -adhoc_codesign -o %t/out %t/foo-arm64-macos.o47# RUN: llvm-objdump --macho --all-headers %t/out| FileCheck --check-prefix=ADHOC %s48# RUN: %lld          -arch arm64 -bundle  -adhoc_codesign -o %t/out %t/foo-arm64-macos.o49# RUN: llvm-objdump --macho --all-headers %t/out| FileCheck --check-prefix=ADHOC %s50 51# RUN: %lld -lSystem -arch arm64 -execute -no_adhoc_codesign -o %t/out %t/main-arm64-macos.o52# RUN: llvm-objdump --macho --all-headers %t/out| FileCheck --check-prefix=NO-ADHOC %s53# RUN: %lld          -arch arm64 -dylib   -no_adhoc_codesign -o %t/out %t/foo-arm64-macos.o54# RUN: llvm-objdump --macho --all-headers %t/out| FileCheck --check-prefix=NO-ADHOC %s55# RUN: %lld          -arch arm64 -bundle  -no_adhoc_codesign -o %t/out %t/foo-arm64-macos.o56# RUN: llvm-objdump --macho --all-headers %t/out| FileCheck --check-prefix=NO-ADHOC %s57 58 59# RUN: %no-arg-lld -arch arm64 -platform_version ios-simulator 14.0 15.0 -execute -o %t/out %t/main-arm64-sim.o -syslibroot %S/Inputs/iPhoneSimulator.sdk -lSystem60# RUN: llvm-objdump --macho --all-headers %t/out | FileCheck --check-prefix=ADHOC %s61# RUN: %no-arg-lld -arch arm64 -platform_version ios-simulator 14.0 15.0 -dylib   -o %t/out %t/foo-arm64-sim.o62# RUN: llvm-objdump --macho --all-headers  %t/out| FileCheck --check-prefix=ADHOC %s63# RUN: %no-arg-lld -arch arm64 -platform_version ios-simulator 14.0 15.0 -bundle  -o %t/out %t/foo-arm64-sim.o64# RUN: llvm-objdump --macho --all-headers  %t/out| FileCheck --check-prefix=ADHOC %s65 66# RUN: %no-arg-lld -arch arm64 -platform_version ios-simulator 14.0 15.0 -execute -adhoc_codesign -o %t/out %t/main-arm64-sim.o -syslibroot %S/Inputs/iPhoneSimulator.sdk -lSystem67# RUN: llvm-objdump --macho --all-headers %t/out| FileCheck --check-prefix=ADHOC %s68# RUN: %no-arg-lld -arch arm64 -platform_version ios-simulator 14.0 15.0 -dylib   -adhoc_codesign -o %t/out %t/foo-arm64-sim.o69# RUN: llvm-objdump --macho --all-headers %t/out| FileCheck --check-prefix=ADHOC %s70# RUN: %no-arg-lld -arch arm64 -platform_version ios-simulator 14.0 15.0 -bundle  -adhoc_codesign -o %t/out %t/foo-arm64-sim.o71# RUN: llvm-objdump --macho --all-headers %t/out| FileCheck --check-prefix=ADHOC %s72 73# RUN: %no-arg-lld -lSystem -arch arm64 -platform_version ios-simulator 14.0 15.0 -execute -no_adhoc_codesign -o %t/out %t/main-arm64-sim.o -syslibroot %S/Inputs/iPhoneSimulator.sdk74# RUN: llvm-objdump --macho --all-headers %t/out| FileCheck --check-prefix=NO-ADHOC %s75# RUN: %no-arg-lld -arch arm64 -platform_version ios-simulator 14.0 15.0 -dylib   -no_adhoc_codesign -o %t/out %t/foo-arm64-sim.o76# RUN: llvm-objdump --macho --all-headers %t/out| FileCheck --check-prefix=NO-ADHOC %s77# RUN: %no-arg-lld -arch arm64 -platform_version ios-simulator 14.0 15.0 -bundle  -no_adhoc_codesign -o %t/out %t/foo-arm64-sim.o78# RUN: llvm-objdump --macho --all-headers %t/out| FileCheck --check-prefix=NO-ADHOC %s79 80# RUN: %lld -arch x86_64 -dylib -o %t/out_installname.dylib -install_name @rpath/MyInstallName %t/foo-x86_64-macos.o -adhoc_codesign81# RUN: %lld -arch x86_64 -dylib -o %t/out_no_installname.dylib %t/foo-x86_64-macos.o -adhoc_codesign82 83## Smoke check to verify the dataoff and datasize value before using them with code-signature-check.py84# RUN: llvm-objdump --macho --all-headers %t/out_installname.dylib | FileCheck %s --check-prefix CS-ID-PRE -D#DATA_OFFSET=4176 -D#DATA_SIZE=192 85# RUN: llvm-objdump --macho --all-headers %t/out_no_installname.dylib | FileCheck %s --check-prefix CS-ID-PRE -D#DATA_OFFSET=4176 -D#DATA_SIZE=208 86 87## Verify that the 'Identifier' (aka 'Code Directory ID') field are set to the install-name, if available.88# RUN: %python %p/Inputs/code-signature-check.py %t/out_installname.dylib 4176 192 0 4176 | FileCheck %s --check-prefix CS-ID-INSTALL89# RUN:  %python %p/Inputs/code-signature-check.py %t/out_no_installname.dylib 4176 208 0 4176 | FileCheck %s --check-prefix CS-ID-NO-INSTALL90 91# ADHOC:          cmd LC_CODE_SIGNATURE92# ADHOC-NEXT: cmdsize 1693 94# NO-ADHOC-NOT:          cmd LC_CODE_SIGNATURE95 96# CS-ID-PRE: cmd LC_CODE_SIGNATURE97# CS-ID-PRE-NEXT: cmdsize 1698# CS-ID-PRE-NEXT: dataoff [[#DATA_OFFSET]]99# CS-ID-PRE-NEXT: datasize [[#DATA_SIZE]]100 101# CS-ID-INSTALL: Code Directory ID: MyInstallName102# CS-ID-NO-INSTALL: Code Directory ID: out_no_installname.dylib103 104#--- foo.s105.globl _foo106_foo:107  ret108 109#--- main.s110.globl _main111_main:112  ret113