================
@@ -1537,11 +1570,16 @@ static void CollectARMPACBTIOptions(const ToolChain
&TC, const ArgList &Args,
if (!isAArch64 && PBP.Key == "b_key")
D.Diag(diag::warn_unsupported_branch_protection)
<< "b-key" << A->getAsString(Args);
+ if (!isAArch64 && PBP.HasPauthABI)
+ D.Diag(diag::warn_unsupported_branch_protection)
+ << "pauthabi" << A->getAsString(Args);
Scope = PBP.Scope;
Key = PBP.Key;
BranchProtectionPAuthLR = PBP.BranchProtectionPAuthLR;
IndirectBranches = PBP.BranchTargetEnforcement;
GuardedControlStack = PBP.GuardedControlStack;
+ if (isAArch64 && PBP.HasPauthABI)
----------------
DanielKristofKiss wrote:
FYI - I'm going to change the `sign-return-address` and variants to be a
function flag. (#82819)
`bti` - All `BRA*` and `BLRA*` instructions set the `PSTATE.BTYPE`. I prefer
to check the [pseudo
code](https://developer.arm.com/documentation/ddi0602/2022-06/Base-Instructions/BLRAA--BLRAAZ--BLRAB--BLRABZ--Branch-with-Link-to-Register--with-pointer-authentication-
)for this things (see BTypeNext)
IMHO `pauthabi+bti` makes sense as they are complementary while other option
are overlapping. We can introduce this combination later.
https://github.com/llvm/llvm-project/pull/97237
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits