Revert the change that enabled retpoline thunks by default. The use of
authorkettenis <kettenis@openbsd.org>
Mon, 19 Feb 2024 14:08:58 +0000 (14:08 +0000)
committerkettenis <kettenis@openbsd.org>
Mon, 19 Feb 2024 14:08:58 +0000 (14:08 +0000)
retpolines makes IBT less useful and we have enabled additional mitigations
in our kernel now that should make them (mostly) unnecessary.

ok guenther@

gnu/llvm/clang/lib/Driver/ToolChains/Arch/X86.cpp

index c7de299..3c8adf3 100644 (file)
@@ -158,12 +158,6 @@ void x86::getX86TargetFeatures(const Driver &D, const llvm::Triple &Triple,
   // consider deprecating this and instead warn if the user requests external
   // retpoline thunks and *doesn't* request some form of retpolines.
   auto SpectreOpt = clang::driver::options::ID::OPT_INVALID;
-  if (Triple.isOSOpenBSD() && Triple.getArch() == llvm::Triple::x86_64 &&
-      Args.hasFlag(options::OPT_mretpoline, options::OPT_mno_retpoline, true)) {
-      Features.push_back("+retpoline-indirect-calls");
-      Features.push_back("+retpoline-indirect-branches");
-      SpectreOpt = options::OPT_mretpoline;
-  } else
   if (Args.hasArgNoClaim(options::OPT_mretpoline, options::OPT_mno_retpoline,
                          options::OPT_mspeculative_load_hardening,
                          options::OPT_mno_speculative_load_hardening)) {