================ @@ -1694,6 +1718,35 @@ let Predicates = [HasPAuth] in { def BLRABZ : AuthOneOperand<0b001, 1, "blrabz">; } + // BLRA pseudo, generalized version of BLRAA/BLRAB/Z. + // This directly manipulates x16/x17, which are the only registers the OS + // guarantees are safe to use for sensitive operations. ---------------- ahmedbougacha wrote:
Unfortunately this sort of thing isn't documented. We do describe the general contract in the security model sections of the clang docs. For ELF it might make sense to have a formalization in the PAuth ABI, but that would have to be actually honored in an OS; I imagine it currently isn't anywhere other than Darwin. https://github.com/llvm/llvm-project/pull/85736 _______________________________________________ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits