================ @@ -1076,6 +1076,16 @@ void CodeGenModule::Release() { "sign-return-address-with-bkey", 1); } + if (Arch == llvm::Triple::aarch64 || Arch == llvm::Triple::aarch64_be) { + auto *InlineAsm = llvm::MDString::get(TheModule.getContext(), "inline-asm"); + if (CodeGenOpts.StackClashProtector) + getModule().addModuleFlag(llvm::Module::Override, "probe-stack", + InlineAsm); ---------------- momchil-velikov wrote:
We would like to use a module flag so the stack clash protection is effective for functions created by LLVM (e..g `asan.module_ctor`). It is not AArch64 specific in principle, but other backends which implement SCP still rely on function attributes. When/if other backends adopt this approach the condition can be removed. @serge-sans-paille https://github.com/llvm/llvm-project/pull/66524 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits