From 5a256db0584a29140a81ea762d92fbac94d13f62 Mon Sep 17 00:00:00 2001 From: Mark Kettenis Date: Wed, 3 Apr 2024 21:47:31 +0000 Subject: Enable PAC in addition to BTI on arm64 such that JIT code matches the default branch protection provided by our base compiler. ok jsg@ --- lib/mesa/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'lib/mesa/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp') diff --git a/lib/mesa/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp b/lib/mesa/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp index a1caece3e..b50a17427 100644 --- a/lib/mesa/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp +++ b/lib/mesa/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp @@ -636,10 +636,12 @@ lp_set_module_stack_alignment_override(LLVMModuleRef MRef, unsigned align) } extern "C" void -lp_set_module_branch_target_enforcement(LLVMModuleRef MRef) +lp_set_module_branch_protection(LLVMModuleRef MRef) { + /* Enable standard (bti+pac-ret) branch protection */ llvm::Module *M = llvm::unwrap(MRef); M->addModuleFlag(llvm::Module::Override, "branch-target-enforcement", 1); + M->addModuleFlag(llvm::Module::Override, "sign-return-address", 1); } using namespace llvm; -- cgit v1.2.3