llvm-toolchain/debian/patches/bug783205.patch
2015-08-20 15:48:22 +00:00

48 lines
1.8 KiB
Diff

From: Steven Chamberlain <steven@pyro.eu.org>
Date: Sun, 10 May 2015 19:46:59 +0100
Subject: support Debian s390x multiarch paths
--- llvm-toolchain-3.7-3.7~+rc2.orig/clang/lib/Driver/ToolChains.cpp
+++ llvm-toolchain-3.7-3.7~+rc2/clang/lib/Driver/ToolChains.cpp
@@ -3081,6 +3081,10 @@ static std::string getMultiarchTriple(co
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();
}
@@ -3424,6 +3428,8 @@ void Linux::AddClangSystemIncludeArgs(co
"/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:
@@ -3469,6 +3475,9 @@ void Linux::AddClangSystemIncludeArgs(co
case llvm::Triple::sparcv9:
MultiarchIncludeDirs = Sparc64MultiarchIncludeDirs;
break;
+ case llvm::Triple::systemz:
+ MultiarchIncludeDirs = SYSTEMZMultiarchIncludeDirs;
+ break;
default:
break;
}
--- llvm-toolchain-3.7-3.7~+rc2.orig/clang/lib/Driver/Tools.cpp
+++ llvm-toolchain-3.7-3.7~+rc2/clang/lib/Driver/Tools.cpp
@@ -8008,7 +8008,7 @@ static std::string getLinuxDynamicLinker
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 &&