summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2019-01-31 13:24:59 -0800
committerKhem Raj <raj.khem@gmail.com>2019-01-31 20:11:09 -0800
commit11fe47dbfed41218df9f6c5e4f4e75bee0c4ad77 (patch)
treecd8aae3638a4bb6297c7b769c985e90edd8cbc1d
parenta882af2fd4f8f682a95a80d121a4461130d262d9 (diff)
downloadmeta-clang-11fe47dbfed41218df9f6c5e4f4e75bee0c4ad77.tar.gz
Add libunwind to linker cmdline when using compiler-rt
libunwind also drags in libpthread and libdl so add those too Signed-off-by: Khem Raj <raj.khem@gmail.com>
-rw-r--r--recipes-devtools/clang/clang/0016-clang-Append-libunwind-to-compiler-rt-for-linking.patch15
1 files changed, 9 insertions, 6 deletions
diff --git a/recipes-devtools/clang/clang/0016-clang-Append-libunwind-to-compiler-rt-for-linking.patch b/recipes-devtools/clang/clang/0016-clang-Append-libunwind-to-compiler-rt-for-linking.patch
index 4f008f6..7fc5795 100644
--- a/recipes-devtools/clang/clang/0016-clang-Append-libunwind-to-compiler-rt-for-linking.patch
+++ b/recipes-devtools/clang/clang/0016-clang-Append-libunwind-to-compiler-rt-for-linking.patch
@@ -1,4 +1,4 @@
1From 53ff7e84ddaf2a82733c4fcb321afa1d54e2516b Mon Sep 17 00:00:00 2001 1From 89c9b5e2bec26bad047a60bd08722ff138cb7cb3 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 25 Jan 2019 14:39:04 -0800 3Date: Fri, 25 Jan 2019 14:39:04 -0800
4Subject: [PATCH] clang: Append libunwind to compiler-rt for linking 4Subject: [PATCH] clang: Append libunwind to compiler-rt for linking
@@ -8,20 +8,23 @@ too, and they are missing in compiler-rt but provided by llvm libunwind
8 8
9Signed-off-by: Khem Raj <raj.khem@gmail.com> 9Signed-off-by: Khem Raj <raj.khem@gmail.com>
10--- 10---
11 clang/lib/Driver/ToolChains/CommonArgs.cpp | 3 +++ 11 clang/lib/Driver/ToolChains/CommonArgs.cpp | 6 ++++++
12 1 file changed, 3 insertions(+) 12 1 file changed, 6 insertions(+)
13 13
14diff --git a/clang/lib/Driver/ToolChains/CommonArgs.cpp b/clang/lib/Driver/ToolChains/CommonArgs.cpp 14diff --git a/clang/lib/Driver/ToolChains/CommonArgs.cpp b/clang/lib/Driver/ToolChains/CommonArgs.cpp
15index 1161e8158d5..d4c346e7960 100644 15index d7e316befa6..72226dd09ce 100644
16--- a/clang/lib/Driver/ToolChains/CommonArgs.cpp 16--- a/clang/lib/Driver/ToolChains/CommonArgs.cpp
17+++ b/clang/lib/Driver/ToolChains/CommonArgs.cpp 17+++ b/clang/lib/Driver/ToolChains/CommonArgs.cpp
18@@ -1190,6 +1190,9 @@ void tools::AddRunTimeLibs(const ToolChain &TC, const Driver &D, 18@@ -1191,6 +1191,12 @@ void tools::AddRunTimeLibs(const ToolChain &TC, const Driver &D,
19 switch (RLT) { 19 switch (RLT) {
20 case ToolChain::RLT_CompilerRT: 20 case ToolChain::RLT_CompilerRT:
21 CmdArgs.push_back(TC.getCompilerRTArgString(Args, "builtins")); 21 CmdArgs.push_back(TC.getCompilerRTArgString(Args, "builtins"));
22+ CmdArgs.push_back("--as-needed"); 22+ CmdArgs.push_back("--as-needed");
23+ CmdArgs.push_back(Args.MakeArgString("-l:libgcc_eh.a")); 23+ CmdArgs.push_back("-lunwind");
24+ CmdArgs.push_back("-lpthread");
25+ CmdArgs.push_back("-ldl");
24+ CmdArgs.push_back("--no-as-needed"); 26+ CmdArgs.push_back("--no-as-needed");
27+
25 break; 28 break;
26 case ToolChain::RLT_Libgcc: 29 case ToolChain::RLT_Libgcc:
27 // Make sure libgcc is not used under MSVC environment by default 30 // Make sure libgcc is not used under MSVC environment by default