| From 3d38148e5ae42e06d4c4f6f29c194c3406402868 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 06/18] 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 88a627eab6d..d56b5264b4d 100644 |
| --- a/clang/lib/Driver/ToolChain.cpp |
| +++ b/clang/lib/Driver/ToolChain.cpp |
| @@ -13,6 +13,7 @@ |
| #include "ToolChains/Clang.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" |
| @@ -353,7 +354,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 { |
| -- |
| 2.20.1 |
| |