12345678910111213141516171819202122232425262728293031323334353637383940 |
- From da2647d56a98cc708a6b13e3586e7fb364ef77a0 Mon Sep 17 00:00:00 2001
- From: Khem Raj <raj.khem@gmail.com>
- Date: Thu, 16 Mar 2017 19:06:26 -0700
- Subject: [PATCH] clang: Look inside the target sysroot for compiler runtime
- In OE compiler-rt and libc++ are built and staged into target
- sysroot and not into resourcedir which is relative to clang
- driver installation where the libraries are not instlled
- Specific to cross compiling the way yocto/OE works
- Signed-off-by: Khem Raj <raj.khem@gmail.com>
- ---
- clang/lib/Driver/ToolChain.cpp | 6 +++++-
- 1 file changed, 5 insertions(+), 1 deletion(-)
- diff --git a/clang/lib/Driver/ToolChain.cpp b/clang/lib/Driver/ToolChain.cpp
- index d657d21bfcdb..e83a556b708c 100644
- --- a/clang/lib/Driver/ToolChain.cpp
- +++ b/clang/lib/Driver/ToolChain.cpp
- @@ -13,6 +13,7 @@
- #include "ToolChains/InterfaceStubs.h"
- #include "clang/Basic/ObjCRuntime.h"
- #include "clang/Basic/Sanitizers.h"
- +#include "clang/Basic/Version.h"
- #include "clang/Config/config.h"
- #include "clang/Driver/Action.h"
- #include "clang/Driver/Driver.h"
- @@ -419,7 +420,10 @@ StringRef ToolChain::getOSLibName() const {
- }
-
- std::string ToolChain::getCompilerRTPath() const {
- - SmallString<128> Path(getDriver().ResourceDir);
- + SmallString<128> Path(getDriver().SysRoot);
- + StringRef ClangLibdirSuffix(CLANG_LIBDIR_SUFFIX);
- + llvm::sys::path::append(Path, "/usr/", Twine("lib") + ClangLibdirSuffix, "clang",
- + CLANG_VERSION_STRING);
- if (Triple.isOSUnknown()) {
- llvm::sys::path::append(Path, "lib");
- } else {
|