Files
clang-p2996/lld/test/ELF/aarch64-bti-pac-cli-error.s
Daniil Kovalev cca9115b1c [lld][AArch64][ELF][PAC] Support AUTH relocations and AUTH ELF marking (#72714)
This patch adds lld support for:

- Dynamic R_AARCH64_AUTH_* relocations (without including RELR compressed AUTH
relocations) as described here:
https://github.com/ARM-software/abi-aa/blob/main/pauthabielf64/pauthabielf64.rst#auth-variant-dynamic-relocations

- .note.AARCH64-PAUTH-ABI-tag section as defined here
https://github.com/ARM-software/abi-aa/blob/main/pauthabielf64/pauthabielf64.rst#elf-marking

Depends on #72713 and #85231

---------

Co-authored-by: Peter Collingbourne <peter@pcc.me.uk>
Co-authored-by: Fangrui Song <i@maskray.me>
2024-04-04 12:38:09 +03:00

24 lines
1.1 KiB
ArmAsm

# REQUIRES: x86
# RUN: llvm-mc --triple=x86_64-pc-linux --filetype=obj -o %t.o %s
# RUN: not ld.lld -z pac-plt -z force-bti -z bti-report=error \
# RUN: -z pauth-report=error %t.o -o /dev/null 2>&1 | FileCheck %s
# RUN: not ld.lld -z pac-plt -z force-bti -z bti-report=warning \
# RUN: -z pauth-report=warning %t.o -o /dev/null 2>&1 | FileCheck %s
#
## Check that we error if -z pac-plt, -z force-bti are present and
## -z bti-report and -z pauth-report are not none when target is not aarch64
# CHECK: error: -z pac-plt only supported on AArch64
# CHECK-NEXT: error: -z force-bti only supported on AArch64
# CHECK-NEXT: error: -z bti-report only supported on AArch64
# CHECK-NEXT: error: -z pauth-report only supported on AArch64
# RUN: not ld.lld -z bti-report=something -z pauth-report=something \
# RUN: %t.o -o /dev/null 2>&1 | FileCheck --check-prefix=REPORT_INVALID %s
# REPORT_INVALID: error: -z bti-report= parameter something is not recognized
# REPORT_INVALID: error: -z pauth-report= parameter something is not recognized
# REPORT_INVALID-EMPTY:
.globl start
start: ret