Patches 1-2 are just rebased from the earlier version for clang 3.8, no changes in surrounding code there. Patch 3 is necessary to fix a regression in assembling standalone assembly files in 3.9. Patch 4 makes clang work in MSVC mode with the MSVC SDK for ARM (to simplify testing of the toolchain in that mode).
42 lines
1.4 KiB
Diff
42 lines
1.4 KiB
Diff
From 6e83e00fb6c9b858b9ccb1cbeb30198ec85d190d Mon Sep 17 00:00:00 2001
|
|
From: Martell Malone <martellmalone@gmail.com>
|
|
Date: Wed, 16 Dec 2015 02:07:06 -0800
|
|
Subject: [PATCH 1/4] use lld and compiler-rt by default
|
|
|
|
---
|
|
lib/Driver/ToolChains.h | 4 ++++
|
|
lib/Driver/Tools.cpp | 2 +-
|
|
2 files changed, 5 insertions(+), 1 deletion(-)
|
|
|
|
diff --git a/lib/Driver/ToolChains.h b/lib/Driver/ToolChains.h
|
|
index 4e5c3f7..c06f695 100644
|
|
--- a/lib/Driver/ToolChains.h
|
|
+++ b/lib/Driver/ToolChains.h
|
|
@@ -680,6 +680,10 @@ public:
|
|
const llvm::opt::ArgList &DriverArgs,
|
|
llvm::opt::ArgStringList &CC1Args) const override;
|
|
|
|
+ RuntimeLibType GetDefaultRuntimeLibType() const override {
|
|
+ return RuntimeLibType::RLT_CompilerRT;
|
|
+ }
|
|
+
|
|
protected:
|
|
Tool *getTool(Action::ActionClass AC) const override;
|
|
Tool *buildLinker() const override;
|
|
diff --git a/lib/Driver/Tools.cpp b/lib/Driver/Tools.cpp
|
|
index 95f2850..3fff6d2 100644
|
|
--- a/lib/Driver/Tools.cpp
|
|
+++ b/lib/Driver/Tools.cpp
|
|
@@ -10376,7 +10376,7 @@ void MinGW::Linker::ConstructJob(Compilation &C, const JobAction &JA,
|
|
// handled somewhere else.
|
|
Args.ClaimAllArgs(options::OPT_w);
|
|
|
|
- StringRef LinkerName = Args.getLastArgValue(options::OPT_fuse_ld_EQ, "ld");
|
|
+ StringRef LinkerName = Args.getLastArgValue(options::OPT_fuse_ld_EQ, "lld");
|
|
if (LinkerName.equals_lower("lld")) {
|
|
CmdArgs.push_back("-flavor");
|
|
CmdArgs.push_back("gnu");
|
|
--
|
|
2.7.4
|
|
|