diff options
author | Sylvestre Ledru <sylvestre@debian.org> | 2015-08-28 12:26:09 +0000 |
---|---|---|
committer | Sylvestre Ledru <sylvestre@debian.org> | 2015-08-28 12:26:09 +0000 |
commit | c0babf2bc0875bb48566d43c90df3d2ec365788a (patch) | |
tree | a76d71bc3030ebbded7f0dae1ebcf7444bc30412 /clang/lib/Driver | |
parent | 79cb0090ffbd83d24c86a68d7aab4427131f3b59 (diff) | |
download | bcm5719-llvm-c0babf2bc0875bb48566d43c90df3d2ec365788a.tar.gz bcm5719-llvm-c0babf2bc0875bb48566d43c90df3d2ec365788a.zip |
Support Debian s390x multiarch paths
Summary: Patch by Steven Chamberlain <steven@pyro.eu.org>
Reviewers: uweigand
Differential Revision: http://reviews.llvm.org/D12430
llvm-svn: 246295
Diffstat (limited to 'clang/lib/Driver')
-rw-r--r-- | clang/lib/Driver/ToolChains.cpp | 9 | ||||
-rw-r--r-- | clang/lib/Driver/Tools.cpp | 2 |
2 files changed, 10 insertions, 1 deletions
diff --git a/clang/lib/Driver/ToolChains.cpp b/clang/lib/Driver/ToolChains.cpp index cae992e4a9d..34a8da68498 100644 --- a/clang/lib/Driver/ToolChains.cpp +++ b/clang/lib/Driver/ToolChains.cpp @@ -3099,6 +3099,10 @@ static std::string getMultiarchTriple(const llvm::Triple &TargetTriple, if (llvm::sys::fs::exists(SysRoot + "/lib/sparc64-linux-gnu")) return "sparc64-linux-gnu"; break; + case llvm::Triple::systemz: + if (llvm::sys::fs::exists(SysRoot + "/lib/s390x-linux-gnu")) + return "s390x-linux-gnu"; + break; } return TargetTriple.str(); } @@ -3442,6 +3446,8 @@ void Linux::AddClangSystemIncludeArgs(const ArgList &DriverArgs, "/usr/include/sparc-linux-gnu"}; const StringRef Sparc64MultiarchIncludeDirs[] = { "/usr/include/sparc64-linux-gnu"}; + const StringRef SYSTEMZMultiarchIncludeDirs[] = { + "/usr/include/s390x-linux-gnu"}; ArrayRef<StringRef> MultiarchIncludeDirs; switch (getTriple().getArch()) { case llvm::Triple::x86_64: @@ -3487,6 +3493,9 @@ void Linux::AddClangSystemIncludeArgs(const ArgList &DriverArgs, case llvm::Triple::sparcv9: MultiarchIncludeDirs = Sparc64MultiarchIncludeDirs; break; + case llvm::Triple::systemz: + MultiarchIncludeDirs = SYSTEMZMultiarchIncludeDirs; + break; default: break; } diff --git a/clang/lib/Driver/Tools.cpp b/clang/lib/Driver/Tools.cpp index c90c63d850a..c838d6bd321 100644 --- a/clang/lib/Driver/Tools.cpp +++ b/clang/lib/Driver/Tools.cpp @@ -8122,7 +8122,7 @@ static std::string getLinuxDynamicLinker(const ArgList &Args, return "/lib64/ld64.so.1"; return "/lib64/ld64.so.2"; } else if (Arch == llvm::Triple::systemz) - return "/lib64/ld64.so.1"; + return "/lib/ld64.so.1"; else if (Arch == llvm::Triple::sparcv9) return "/lib64/ld-linux.so.2"; else if (Arch == llvm::Triple::x86_64 && |