When building with GCC15+, binutils 2.44+, glibc 2.41+ and -mbranch-protection=standard on (openSUSE Tumbleweed) aarch64, this enables PAC, BTI and GCS (Guarded Control Stack).
PAC and BTI are already supported with #312
A patch similar to smuellerDD/leancrypto@fe9751f for src/asm/*_arm64_aapcs_elf_gas.S should be enough if assembler code does nothing around control flow (things like loaders, exception unwinders, etc)
More details on GCS:
When building with GCC15+, binutils 2.44+, glibc 2.41+ and
-mbranch-protection=standardon (openSUSE Tumbleweed) aarch64, this enables PAC, BTI and GCS (Guarded Control Stack).PAC and BTI are already supported with #312
A patch similar to smuellerDD/leancrypto@fe9751f for
src/asm/*_arm64_aapcs_elf_gas.Sshould be enough if assembler code does nothing around control flow (things like loaders, exception unwinders, etc)More details on GCS: