AArch64 Pointer Authentication ABI
The Armv8.3-A architecture has a pointer authentication extension that can sign and authenticate pointers. A subset of this extension can be used to protect return addresses while remaining backwards compatible (-mbranch-protection option). The arm64e ABI as presented in the 2019 dev meeting https://llvm.org/devmtg/2019-10/slides/McCall-Bougacha-arm64e.pdf uses the full extension to sign and authenticate code pointers.
At present pointer authentication for code-pointers is specific to arm64e. There is an Alpha specification for ELF at https://github.com/ARM-software/abi-aa/blob/main/pauthabielf64/pauthabielf64.rst and there is an attempt underway to upstream and adapt pointer authentication so that it can work for ELF based targets.
This round table is an extension of the regular sync up-call https://discourse.llvm.org/t/llvm-pointer-authentication-sync-ups/62661 taking the opportunity for the people working on the problem to meet in person. The agenda can be extended for topics including pointer authentication.
More information coming soon.