aboutsummaryrefslogtreecommitdiffstats
path: root/main/llvm/clang-3.6-remove-lgcc-when-using-compiler-rt.patch
diff options
context:
space:
mode:
Diffstat (limited to 'main/llvm/clang-3.6-remove-lgcc-when-using-compiler-rt.patch')
-rw-r--r--main/llvm/clang-3.6-remove-lgcc-when-using-compiler-rt.patch29
1 files changed, 29 insertions, 0 deletions
diff --git a/main/llvm/clang-3.6-remove-lgcc-when-using-compiler-rt.patch b/main/llvm/clang-3.6-remove-lgcc-when-using-compiler-rt.patch
new file mode 100644
index 0000000000..15cfe2f8ae
--- /dev/null
+++ b/main/llvm/clang-3.6-remove-lgcc-when-using-compiler-rt.patch
@@ -0,0 +1,29 @@
+diff --git a/lib/Driver/Tools.cpp b/lib/Driver/Tools.cpp
+index 75eef9e..08e4439 100644
+--- a/lib/Driver/Tools.cpp
++++ b/lib/Driver/Tools.cpp
+@@ -2154,18 +2154,18 @@ static SmallString<128> getCompilerRT(const ToolChain &TC, StringRef Component,
+ // FIXME: Make sure we can also emit shared objects if they're requested
+ // and available, check for possible errors, etc.
+ static void addClangRT(const ToolChain &TC, const ArgList &Args,
+ ArgStringList &CmdArgs) {
+ CmdArgs.push_back(Args.MakeArgString(getCompilerRT(TC, "builtins")));
+
+- if (!TC.getTriple().isOSWindows()) {
+- // FIXME: why do we link against gcc when we are using compiler-rt?
+- CmdArgs.push_back("-lgcc_s");
+- if (TC.getDriver().CCCIsCXX())
+- CmdArgs.push_back("-lgcc_eh");
+- }
++ // if (!TC.getTriple().isOSWindows()) {
++ // // FIXME: why do we link against gcc when we are using compiler-rt?
++ // CmdArgs.push_back("-lgcc_s");
++ // if (TC.getDriver().CCCIsCXX())
++ // CmdArgs.push_back("-lgcc_eh");
++ // }
+ }
+
+ static void addProfileRT(const ToolChain &TC, const ArgList &Args,
+ ArgStringList &CmdArgs) {
+ if (!(Args.hasFlag(options::OPT_fprofile_arcs, options::OPT_fno_profile_arcs,
+ false) ||