From 5aea44941f146f61ef2ab422ade7f52d5d793320 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Sat, 26 Jan 2019 13:45:15 -0800 Subject: clang: Add libunwind automatically to link cmdline when using compiler-rt This makes compile-rt equal to libgcc which has both builtins+unwind as well Signed-off-by: Khem Raj --- ...pend-libunwind-to-compiler-rt-for-linking.patch | 23 ++++++++++++++++++++++ recipes-devtools/clang/common.inc | 1 + 2 files changed, 24 insertions(+) create mode 100644 recipes-devtools/clang/clang/0016-clang-Append-libunwind-to-compiler-rt-for-linking.patch 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 new file mode 100644 index 0000000..d5c67d1 --- /dev/null +++ b/recipes-devtools/clang/clang/0016-clang-Append-libunwind-to-compiler-rt-for-linking.patch @@ -0,0 +1,23 @@ +From 4b5386fe67b03923b7ce25c066e6f6220a32eb44 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Fri, 25 Jan 2019 14:39:04 -0800 +Subject: [PATCH] clang: Append libunwind to compiler-rt for linking + +Some packages which use libgcc tend to use low level unwind functions +too, and they are missing in compiler-rt but provided by llvm libunwind + +Signed-off-by: Khem Raj +--- + clang/lib/Driver/ToolChains/CommonArgs.cpp | 4 ++++ + 1 file changed, 4 insertions(+) + +--- a/clang/lib/Driver/ToolChains/CommonArgs.cpp ++++ b/clang/lib/Driver/ToolChains/CommonArgs.cpp +@@ -1191,6 +1191,7 @@ void tools::AddRunTimeLibs(const ToolCha + switch (RLT) { + case ToolChain::RLT_CompilerRT: + CmdArgs.push_back(TC.getCompilerRTArgString(Args, "builtins")); ++ CmdArgs.push_back(Args.MakeArgString(D.SysRoot + "/usr/lib" "/libunwind.a")); + break; + case ToolChain::RLT_Libgcc: + // Make sure libgcc is not used under MSVC environment by default diff --git a/recipes-devtools/clang/common.inc b/recipes-devtools/clang/common.inc index ad1f435..0d9445a 100644 --- a/recipes-devtools/clang/common.inc +++ b/recipes-devtools/clang/common.inc @@ -24,6 +24,7 @@ SRC_URI = "\ file://0013-compiler-rt-support-a-new-embedded-linux-target.patch \ file://0014-compiler-rt-Simplify-cross-compilation.-Don-t-use-na.patch \ file://0015-compiler-rt-Disable-tsan-on-OE-glibc.patch \ + file://0016-clang-Append-libunwind-to-compiler-rt-for-linking.patch \ " # Fallback to no-PIE if not set -- cgit v1.2.3-54-g00ecf