Add commented patch for bug 783205

This commit is contained in:
Gianfranco Costamagna 2015-08-18 16:40:09 +00:00
parent 9ded9e5a91
commit 597ab19832
3 changed files with 36 additions and 30 deletions

6
debian/changelog vendored
View File

@ -1,3 +1,9 @@
llvm-toolchain-snapshot (1:3.8~svn245286-2) UNRELEASED; urgency=medium
* d/p/bug783205.patch fix s390x porting issue.
-- Gianfranco Costamagna <locutusofborg@debian.org> Tue, 18 Aug 2015 18:37:46 +0200
llvm-toolchain-snapshot (1:3.8~svn245286-1) unstable; urgency=medium
* New snapshot release (3.7 => 3.8)

View File

@ -2,46 +2,46 @@ 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;
--- a/clang/lib/Driver/ToolChains.cpp
+++ b/clang/lib/Driver/ToolChains.cpp
@@ -2877,6 +2881,10 @@ static std::string getMultiarchTriple(co
if (llvm::sys::fs::exists(SysRoot + "/lib/powerpc64le-linux-gnu"))
return "powerpc64le-linux-gnu";
return TargetTriple.str();
+ case llvm::Triple::systemz:
+ if (llvm::sys::fs::exists(SysRoot + "/lib/s390x-linux-gnu"))
+ return "s390x-linux-gnu";
+ break;
+ return TargetTriple.str();
}
return TargetTriple.str();
}
@@ -3424,6 +3428,8 @@ void Linux::AddClangSystemIncludeArgs(co
"/usr/include/sparc-linux-gnu"};
const StringRef Sparc64MultiarchIncludeDirs[] = {
"/usr/include/sparc64-linux-gnu"};
@@ -3230,6 +3238,9 @@ void Linux::AddClangSystemIncludeArgs(co
const StringRef PPC64LEMultiarchIncludeDirs[] = {
"/usr/include/powerpc64le-linux-gnu"
};
+ const StringRef SYSTEMZMultiarchIncludeDirs[] = {
+ "/usr/include/s390x-linux-gnu"};
+ "/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:
if (getTriple().getArch() == llvm::Triple::x86_64) {
MultiarchIncludeDirs = X86_64MultiarchIncludeDirs;
@@ -3257,6 +3268,8 @@ void Linux::AddClangSystemIncludeArgs(co
MultiarchIncludeDirs = PPC64MultiarchIncludeDirs;
} else if (getTriple().getArch() == llvm::Triple::ppc64le) {
MultiarchIncludeDirs = PPC64LEMultiarchIncludeDirs;
+ } else if (getTriple().getArch() == 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
for (StringRef Dir : MultiarchIncludeDirs) {
if (llvm::sys::fs::exists(SysRoot + Dir)) {
--- a/clang/lib/Driver/Tools.cpp
+++ b/clang/lib/Driver/Tools.cpp
@@ -7333,7 +7333,7 @@ static std::string getLinuxDynamicLinker
return "/lib64/ld64.so.1";
return "/lib64/ld64.so.2";
} else if (Arch == llvm::Triple::systemz)
} else if (ToolChain.getArch() == llvm::Triple::systemz)
- return "/lib64/ld64.so.1";
+ return "/lib/ld64.so.1";
else if (Arch == llvm::Triple::sparcv9)
else if (ToolChain.getArch() == llvm::Triple::sparcv9)
return "/lib64/ld-linux.so.2";
else if (Arch == llvm::Triple::x86_64 &&
else if (ToolChain.getArch() == llvm::Triple::x86_64 &&

View File

@ -38,6 +38,6 @@ strip-svn.diff
lit-lang.diff
compiler-rt-i586.diff
clang-analyzer-force-version.diff
locale-issue-ld.diff
CVE-2015-2305.patch
#bug783205.patch