The bits within the elf file that cover this have been published[1], but the change to <asm/mman.h> for use by mmap/mprotect has not. So I've made something up with which to make progress (TARGET_PROT_BTI).
I intend to press folk at Linaro Connect next week on publishing the necessary ABI changes for this and ARMv8.5-MemTag. r~ [1] https://developer.arm.com/docs/ihi0056/latest/elf-for-the-arm-64-bit-architecture-aarch64-abi-2018q4 Richard Henderson (4): linux-user/aarch64: Reset btype for syscalls and signals linux-user: Set PAGE_TARGET_1 for TARGET_PROT_BTI linux-user: Parse NT_GNU_PROPERTY_TYPE_0 notes tests/tcg/aarch64: Add bti smoke test include/exec/cpu-all.h | 12 +++-- linux-user/syscall_defs.h | 5 ++ linux-user/aarch64/cpu_loop.c | 7 +++ linux-user/aarch64/signal.c | 5 +- linux-user/elfload.c | 79 ++++++++++++++++++++++++++----- linux-user/mmap.c | 13 ++++- target/arm/translate-a64.c | 6 +-- tests/tcg/aarch64/bti-1.c | 62 ++++++++++++++++++++++++ tests/tcg/aarch64/bti-crt.inc.c | 69 +++++++++++++++++++++++++++ tests/tcg/aarch64/Makefile.target | 3 ++ 10 files changed, 241 insertions(+), 20 deletions(-) create mode 100644 tests/tcg/aarch64/bti-1.c create mode 100644 tests/tcg/aarch64/bti-crt.inc.c -- 2.17.1