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

Anatoly Trosinenko via llvm-commits llvm-commits at lists.llvm.org
Thu Jul 10 05:45:02 PDT 2025


atrosinenko 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?

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


More information about the llvm-commits mailing list