[compiler-rt] [libcxx] [llvm] compiler-rt: Introduce runtime functions for emulated PAC. (PR #133530)

Paul Osmialowski via llvm-commits llvm-commits at lists.llvm.org
Thu Jul 10 06:41:46 PDT 2025


pawosm-arm wrote:

> If I get the log posted by @pawosm-arm right, this test case should crash but it doesn't:
> 
> ```c
>   case 3: {
>     // Test that a corrupted signature crashes the program.
>     uint64_t signed_ptr = __emupac_pacda(ptr1, ptr2);
>     __emupac_autda(signed_ptr + (1ULL << 48), ptr2);
>     break;
>   }
> ```
> 
> I guess the reason is that the CPU supports `FEAT_PAuth` (thus actual `autda` instruction is executed instead of the software emulation), but not `FEAT_FPAC` (so that `__emupac_autda` simply returns a corrupted pointer, which is never dereferenced). @pawosm-arm on what CPU model do you run the tests?

According to our CI maintainers, it's Neoverse V2.

https://github.com/llvm/llvm-project/pull/133530


More information about the llvm-commits mailing list