diff --git a/debian/changelog b/debian/changelog index 5045beec..c3d9d0da 100644 --- a/debian/changelog +++ b/debian/changelog @@ -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 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) diff --git a/debian/patches/bug783205.patch b/debian/patches/bug783205.patch index 18725ea5..33e00859 100644 --- a/debian/patches/bug783205.patch +++ b/debian/patches/bug783205.patch @@ -2,46 +2,46 @@ From: Steven Chamberlain 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 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 && diff --git a/debian/patches/series b/debian/patches/series index 6849a879..16ed90c3 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -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