[clang] 40ea61b - [Clang][MinGW] Pass --functionpadmin to the linker when -fms-hotpatch is used (#116512)
via cfe-commits
cfe-commits at lists.llvm.org
Mon Nov 18 05:29:04 PST 2024
Author: Jacek Caban
Date: 2024-11-18T14:29:01+01:00
New Revision: 40ea61b41d3b70ccf39d5ec11ac54100c9b0b388
URL: https://github.com/llvm/llvm-project/commit/40ea61b41d3b70ccf39d5ec11ac54100c9b0b388
DIFF: https://github.com/llvm/llvm-project/commit/40ea61b41d3b70ccf39d5ec11ac54100c9b0b388.diff
LOG: [Clang][MinGW] Pass --functionpadmin to the linker when -fms-hotpatch is used (#116512)
Added:
Modified:
clang/lib/Driver/ToolChains/MinGW.cpp
clang/test/Driver/mingw.cpp
Removed:
################################################################################
diff --git a/clang/lib/Driver/ToolChains/MinGW.cpp b/clang/lib/Driver/ToolChains/MinGW.cpp
index e51daca5025a80..963de81027ca9f 100644
--- a/clang/lib/Driver/ToolChains/MinGW.cpp
+++ b/clang/lib/Driver/ToolChains/MinGW.cpp
@@ -188,6 +188,9 @@ void tools::MinGW::Linker::ConstructJob(Compilation &C, const JobAction &JA,
<< A->getSpelling() << GuardArgs;
}
+ if (Args.hasArg(options::OPT_fms_hotpatch))
+ CmdArgs.push_back("--functionpadmin");
+
CmdArgs.push_back("-o");
const char *OutputFile = Output.getFilename();
// GCC implicitly adds an .exe extension if it is given an output file name
diff --git a/clang/test/Driver/mingw.cpp b/clang/test/Driver/mingw.cpp
index 4a9ba4d259b46f..9790c86a364f85 100644
--- a/clang/test/Driver/mingw.cpp
+++ b/clang/test/Driver/mingw.cpp
@@ -84,3 +84,7 @@
// RUN: %clang --target=arm64ec-windows-gnu -### -o /dev/null %s 2>&1 \
// RUN: | FileCheck %s --check-prefix CHECK_MINGW_EC_LINK
// CHECK_MINGW_EC_LINK: "-m" "arm64ecpe"
+
+// RUN: %clang --target=i686-windows-gnu -fms-hotpatch -### -- %s 2>&1 \
+// RUN: | FileCheck %s --check-prefix=FUNCTIONPADMIN
+// FUNCTIONPADMIN: "--functionpadmin"
More information about the cfe-commits
mailing list