llvm-project/lld/test/MachO/encryption-info.s

36 lines
1.4 KiB
ArmAsm

# REQUIRES: aarch64, x86
# RUN: rm -rf %t; mkdir -p %t
# RUN: llvm-mc -filetype=obj -triple=x86_64-apple-darwin %s -o %t/test.o
# RUN: llvm-mc -filetype=obj -triple=arm64_32-apple-watchos %s -o %t/watchos-test.o
# RUN: %lld -lSystem -o %t/test %t/test.o
# RUN: llvm-objdump --macho --all-headers %t/test | FileCheck %s --check-prefix=NO-ENCRYPTION -DSUFFIX=_64
# RUN: %lld -lSystem -encryptable -o %t/test %t/test.o
# RUN: llvm-objdump --macho --all-headers %t/test | FileCheck %s --check-prefix=ENCRYPTION -DSUFFIX=_64 -D#PAGE_SIZE=4096
# RUN: %lld-watchos -lSystem -o %t/watchos-test %t/watchos-test.o
# RUN: llvm-objdump --macho --all-headers %t/watchos-test | FileCheck %s --check-prefix=ENCRYPTION -DSUFFIX= -D#PAGE_SIZE=16384
# RUN: %lld-watchos -lSystem -no_encryption -o %t/watchos-test %t/watchos-test.o
# RUN: llvm-objdump --macho --all-headers %t/watchos-test | FileCheck %s --check-prefix=NO-ENCRYPTION -DSUFFIX=
# ENCRYPTION: segname __TEXT
# ENCRYPTION-NEXT: vmaddr
# ENCRYPTION-NEXT: vmsize
# ENCRYPTION-NEXT: fileoff 0
# ENCRYPTION-NEXT: filesize [[#TEXT_SIZE:]]
# ENCRYPTION: cmd LC_ENCRYPTION_INFO[[SUFFIX]]{{$}}
# ENCRYPTION-NEXT: cmdsize
# ENCRYPTION-NEXT: cryptoff [[#PAGE_SIZE]]
# ENCRYPTION-NEXT: cryptsize [[#TEXT_SIZE - PAGE_SIZE]]
# ENCRYPTION-NEXT: cryptid 0
# NO-ENCRYPTION-NOT: LC_ENCRYPTION_INFO[[SUFFIX]]{{$}}
.globl _main
.p2align 2
_main:
ret