diff options
| author | Fangrui Song <i@maskray.me> | 2022-07-19 21:20:01 -0700 |
|---|---|---|
| committer | Fangrui Song <i@maskray.me> | 2022-07-19 21:20:02 -0700 |
| commit | 23ba688f02ea72b0af3480cd95d31e9a79f2d92a (patch) | |
| tree | 0e2eb09f336a10d821a670d49861b5aaa1bc879b /clang/lib/CodeGen/CodeGenModule.cpp | |
| parent | e882ac54c4bf9257b6a06ab03263a9b15c640af1 (diff) | |
[X86] Use Min behavior for cf-protection-{return,branch}/ibt-seal module flags
These features require that all object files are compiled with the support. When
the feature is disabled for an object file, the merge behavior should treat the
file having a value of 0 (see D129911).
Reviewed By: xiangzhangllvm
Differential Revision: https://reviews.llvm.org/D130065
Diffstat (limited to 'clang/lib/CodeGen/CodeGenModule.cpp')
| -rw-r--r-- | clang/lib/CodeGen/CodeGenModule.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/clang/lib/CodeGen/CodeGenModule.cpp b/clang/lib/CodeGen/CodeGenModule.cpp index 4daf4120e0ca..2ec71fa29765 100644 --- a/clang/lib/CodeGen/CodeGenModule.cpp +++ b/clang/lib/CodeGen/CodeGenModule.cpp @@ -743,19 +743,19 @@ void CodeGenModule::Release() { if (CodeGenOpts.CFProtectionReturn && Target.checkCFProtectionReturnSupported(getDiags())) { // Indicate that we want to instrument return control flow protection. - getModule().addModuleFlag(llvm::Module::Override, "cf-protection-return", + getModule().addModuleFlag(llvm::Module::Min, "cf-protection-return", 1); } if (CodeGenOpts.CFProtectionBranch && Target.checkCFProtectionBranchSupported(getDiags())) { // Indicate that we want to instrument branch control flow protection. - getModule().addModuleFlag(llvm::Module::Override, "cf-protection-branch", + getModule().addModuleFlag(llvm::Module::Min, "cf-protection-branch", 1); } if (CodeGenOpts.IBTSeal) - getModule().addModuleFlag(llvm::Module::Override, "ibt-seal", 1); + getModule().addModuleFlag(llvm::Module::Min, "ibt-seal", 1); if (CodeGenOpts.FunctionReturnThunks) getModule().addModuleFlag(llvm::Module::Override, "function_return_thunk_extern", 1); |
