[clang] [Clang][AArch64] Command-line options for A-profile's Sign Return Address Hardening (PR #176171)

Victor Campos via cfe-commits cfe-commits at lists.llvm.org
Thu Apr 16 05:08:20 PDT 2026


================
@@ -1382,6 +1378,19 @@ static void CollectARMPACBTIOptions(const ToolChain &TC, const ArgList &Args,
                      ? Args.getLastArg(options::OPT_msign_return_address_EQ,
                                        options::OPT_mbranch_protection_EQ)
                      : Args.getLastArg(options::OPT_mbranch_protection_EQ);
+  const Arg *HardenPACRetArg = Args.getLastArg(options::OPT_mharden_pac_ret_EQ);
+  const Driver &D = TC.getDriver();
+
+  if (HardenPACRetArg) {
+    if (!isAArch64) {
+      D.Diag(diag::err_drv_unsupported_opt_for_target)
+          << HardenPACRetArg->getSpelling() << TC.getTriple().str();
+      return;
+    }
+    if (!A)
+      D.Diag(diag::warn_harden_pac_ret_requires_pac_ret);
----------------
vhscampos wrote:

Done. Thanks

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


More information about the cfe-commits mailing list