[clang] [PAC][clang] Use `Error` behavior for ptrauth module flags (PR #189923)
via cfe-commits
cfe-commits at lists.llvm.org
Tue Apr 7 14:02:23 PDT 2026
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-clang
Author: Daniil Kovalev (kovdan01)
<details>
<summary>Changes</summary>
Previous use of `Min` for `ptrauth-elf-got` and `ptrauth-sign-personality` module flags was introducing a risk of silent decrease of security during module merge.
---
Full diff: https://github.com/llvm/llvm-project/pull/189923.diff
2 Files Affected:
- (modified) clang/lib/CodeGen/CodeGenModule.cpp (+3-3)
- (modified) clang/test/CodeGen/ptrauth-module-flags.c (+2-2)
``````````diff
diff --git a/clang/lib/CodeGen/CodeGenModule.cpp b/clang/lib/CodeGen/CodeGenModule.cpp
index 94a52f51118a7..28ef93da75dc7 100644
--- a/clang/lib/CodeGen/CodeGenModule.cpp
+++ b/clang/lib/CodeGen/CodeGenModule.cpp
@@ -1383,12 +1383,12 @@ void CodeGenModule::Release() {
"sign-return-address-with-bkey", 2);
if (LangOpts.PointerAuthELFGOT)
- getModule().addModuleFlag(llvm::Module::Min, "ptrauth-elf-got", 1);
+ getModule().addModuleFlag(llvm::Module::Error, "ptrauth-elf-got", 1);
if (getTriple().isOSLinux()) {
if (LangOpts.PointerAuthCalls)
- getModule().addModuleFlag(llvm::Module::Min, "ptrauth-sign-personality",
- 1);
+ getModule().addModuleFlag(llvm::Module::Error,
+ "ptrauth-sign-personality", 1);
assert(getTriple().isOSBinFormatELF());
using namespace llvm::ELF;
uint64_t PAuthABIVersion =
diff --git a/clang/test/CodeGen/ptrauth-module-flags.c b/clang/test/CodeGen/ptrauth-module-flags.c
index faa9d11bf9223..6c175c0aad781 100644
--- a/clang/test/CodeGen/ptrauth-module-flags.c
+++ b/clang/test/CodeGen/ptrauth-module-flags.c
@@ -4,10 +4,10 @@
// ELFGOT: !llvm.module.flags = !{
// ELFGOT-SAME: !0
-// ELFGOT: !0 = !{i32 8, !"ptrauth-elf-got", i32 1}
+// ELFGOT: !0 = !{i32 1, !"ptrauth-elf-got", i32 1}
// PERSONALITY: !llvm.module.flags = !{
// PERSONALITY-SAME: !0
-// PERSONALITY: !0 = !{i32 8, !"ptrauth-sign-personality", i32 1}
+// PERSONALITY: !0 = !{i32 1, !"ptrauth-sign-personality", i32 1}
// OFF-NOT: "ptrauth-
``````````
</details>
https://github.com/llvm/llvm-project/pull/189923
More information about the cfe-commits
mailing list