EUROLLVM 2026 PAuthABI Roundtable meeting notes

A brief write up the PAuthABI round table at EuroLLVM. I didn’t take notes so this is from my memory.

Discussion revolved around:

  • Supporting PAuthABI on bare-metal.
  • Moving Linux PAuthTest to a less experimental, more production ready name.
  • Status of PAuthABI support on Rust.

PAuthABI support on ELF platforms is currently restricted to Linux, using a pauthtest environment in the triple aarch64-linux-pauthtest. PAuthABI can in principle be supported on bare-metal, which has the advantage of not needing to be ABI stable, but has the disadvantage that implementations are going to vary in capability so no one size fits all. Current thoughts [1] are that we want to provide a number of “profiles” that encapsulate major design decisions rather than require all the low-level options be set for each project. This should limit the users ability to make incompatible objects by misconfiguring the compiler. Discussion was mainly about how to avoid command-line options for bare-metal clashing with arm64e and the Linux pauthtest environment. Action on @smithp35 to make a discourse RFC out of the current thoughts [1].

PAuthTest, in particular the target triple `aarch64-linux-pauthtest` is the current way to use PAuthABI on Linux. Access Softek have provided a set of build-scripts and patches to Musl to make a sysroot that can make statically linked Linux executables https://github.com/access-softek/pauth-toolchain-build-scripts . The “test” in pauthtest was intended to scare people off from using it production while the ELF support was in development. Now that the implementation has stabilised there is an opportunity to make a more production ready target. As there’s no one person that can authoratitively decide the Linux signing schema, it is likely that we’ll have to do something similar to the bare-metal profiles. Another RFC will be needed, building upon the bare-metal PAuthABI support to come up with a proposal.

PAuthABI support on Rust. Team are progressing well with the Rust community. Rust signing-schema is most important for the C-ABI. PAuthtest target is having to be used which isn’t ideal.

There is a PAuthABI call every Monday at 17:00 GMT, details are in the LLVM Community Calendar https://calendar.google.com/calendar/u/0/embed?src=calendar@llvm.org

[1] https://github.com/smithp35/llvm-project/blob/pauthabi/RFC-BARE-METAL.md , way too long to post on Discourse.