diff options
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.patch | 29 |
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) || |