[clang] [llvm] [Clang][AArch64] Command-line options for A-profile's Sign Return Address Hardening (PR #176171)
Anatoly Trosinenko via cfe-commits
cfe-commits at lists.llvm.org
Tue Sep 8 12:06:50 PDT 2026
================
@@ -1660,6 +1660,11 @@ void CodeGenModule::Release() {
LangOpts.PointerAuthInitFiniAddressDiscrimination);
}
+ if (LangOpts.isSignReturnAddressHardenWithLoadReturnAddress())
+ getModule().addModuleFlag(
+ llvm::Module::Error, "sign-return-address-harden",
+ llvm::MDString::get(getLLVMContext(), "load-return-address"));
+
----------------
atrosinenko wrote:
It would probably be more straightforward to define a "none vs. anything" getter instead `isSignReturnAddressHardenWithLoadReturnAddress` and use something like this
```cpp
if (LangOpts.isSignReturnAddressHardenEnabled()) {
TargetInfo::BranchProtectionInfo BPI(LangOpts);
getModule().addModuleFlag(
llvm::Module::Error, "sign-return-address-harden",
llvm::MDString::get(getLLVMContext(), BPI.getSignReturnAddressHardeningStr()));
}
```
https://github.com/llvm/llvm-project/pull/176171
More information about the cfe-commits
mailing list