diff -Nru clang-3.0/debian/changelog clang-3.0/debian/changelog --- clang-3.0/debian/changelog 2012-02-25 14:05:54.000000000 +0100 +++ clang-3.0/debian/changelog 2013-02-06 14:11:11.000000000 +0100 @@ -1,3 +1,17 @@ +clang (3.0-6.1+deb7u0) testing-proposed-updates; urgency=low + + * Non-maintainer upload. + * 28-gcc-4.7.diff: Fix -Wuninitialized when clang is compiled with gcc-4.7 + + [ Peter Michael Green ] + * 26-set-correct-float-abi.diff: Fix default float abis for armel and armhf + * 24-path-multiarch.diff: Fix paths for armhf + * 27-dynamic-linker.patch: Fix dynamic linker path for armhf + * debian/rules: fix clean target to remove generated file + tools/clang/include/clang/Debian/debian_path.h + + -- Michael Stapelberg Wed, 06 Feb 2013 14:11:04 +0100 + clang (3.0-6) unstable; urgency=low * Improve the soname patch diff -Nru clang-3.0/debian/patches/24-path-multiarch.diff clang-3.0/debian/patches/24-path-multiarch.diff --- clang-3.0/debian/patches/24-path-multiarch.diff 2012-02-25 14:05:16.000000000 +0100 +++ clang-3.0/debian/patches/24-path-multiarch.diff 2013-02-06 11:11:00.000000000 +0100 @@ -1,8 +1,8 @@ Index: clang-3.0/tools/clang/lib/Driver/ToolChains.cpp =================================================================== ---- clang-3.0.orig/tools/clang/lib/Driver/ToolChains.cpp 2012-02-25 13:20:26.235542936 +0100 -+++ clang-3.0/tools/clang/lib/Driver/ToolChains.cpp 2012-02-25 13:21:02.951542117 +0100 -@@ -1785,6 +1785,15 @@ +--- clang-3.0.orig/tools/clang/lib/Driver/ToolChains.cpp 2012-11-12 21:17:23.000000000 +0000 ++++ clang-3.0/tools/clang/lib/Driver/ToolChains.cpp 2012-11-12 22:03:25.000000000 +0000 +@@ -1785,6 +1785,19 @@ if (llvm::sys::fs::exists(SysRoot + "/lib/x86_64-unknown-linux-gnu")) return "x86_64-unknown-linux-gnu"; return TargetTriple.str(); @@ -11,8 +11,12 @@ + return "powerpc-linux-gnu"; + return TargetTriple.str(); + case llvm::Triple::arm: -+ if (llvm::sys::fs::exists(SysRoot + "/lib/arm-linux-gnueabi")) -+ return "arm-linux-gnueabi"; ++ if (TargetTriple.getEnvironment() == llvm::Triple::GNUEABI) ++ if (llvm::sys::fs::exists(SysRoot + "/lib/arm-linux-gnueabi")) ++ return "arm-linux-gnueabi"; ++ if (TargetTriple.getEnvironment() == llvm::Triple::GNUEABIHF) ++ if (llvm::sys::fs::exists(SysRoot + "/lib/arm-linux-gnueabihf")) ++ return "arm-linux-gnueabihf"; + return TargetTriple.str(); + } diff -Nru clang-3.0/debian/patches/26-set-correct-float-abi.diff clang-3.0/debian/patches/26-set-correct-float-abi.diff --- clang-3.0/debian/patches/26-set-correct-float-abi.diff 1970-01-01 01:00:00.000000000 +0100 +++ clang-3.0/debian/patches/26-set-correct-float-abi.diff 2013-02-06 12:10:59.000000000 +0100 @@ -0,0 +1,30 @@ +Description: set correct float abi settings for armel and armhf + debian armel supports systems that don't have a fpu so should use a "float abi" + setting of soft by default. + + Debian armhf needs a float abi setting of "hard" +Author: Peter Michael Green +Last-Update: 2012-11-14 +Reviewed-By: Michael Stapelberg +Bug-Debian: http://bugs.debian.org/693208 +Forwarded: not-needed + +--- + +Index: clang-3.0/tools/clang/lib/Driver/Tools.cpp +=================================================================== +--- clang-3.0.orig/tools/clang/lib/Driver/Tools.cpp 2012-11-12 22:03:29.000000000 +0000 ++++ clang-3.0/tools/clang/lib/Driver/Tools.cpp 2012-11-13 12:03:33.000000000 +0000 +@@ -583,7 +583,11 @@ + + case llvm::Triple::Linux: { + if (getToolChain().getTriple().getEnvironment() == llvm::Triple::GNUEABI) { +- FloatABI = "softfp"; ++ FloatABI = "soft"; ++ break; ++ } ++ if (getToolChain().getTriple().getEnvironment() == llvm::Triple::GNUEABIHF) { ++ FloatABI = "hard"; + break; + } + } diff -Nru clang-3.0/debian/patches/27-dynamic-linker.diff clang-3.0/debian/patches/27-dynamic-linker.diff --- clang-3.0/debian/patches/27-dynamic-linker.diff 1970-01-01 01:00:00.000000000 +0100 +++ clang-3.0/debian/patches/27-dynamic-linker.diff 2013-02-06 12:11:19.000000000 +0100 @@ -0,0 +1,26 @@ +Description: set correct dynamic linker path for armhf + armhf uses a different dynamic linker path from armel +Author: Peter Michael Green +Last-Update: 2012-11-14 +Reviewed-By: Michael Stapelberg +Bug-Debian: http://bugs.debian.org/693208 +Forwarded: not-needed + +--- + +Index: clang-3.0/tools/clang/lib/Driver/Tools.cpp +=================================================================== +--- clang-3.0.orig/tools/clang/lib/Driver/Tools.cpp 2012-11-13 12:04:59.000000000 +0000 ++++ clang-3.0/tools/clang/lib/Driver/Tools.cpp 2012-11-13 12:04:59.000000000 +0000 +@@ -4315,7 +4315,10 @@ + CmdArgs.push_back("/lib/ld-linux.so.2"); + else if (ToolChain.getArch() == llvm::Triple::arm || + ToolChain.getArch() == llvm::Triple::thumb) +- CmdArgs.push_back("/lib/ld-linux.so.3"); ++ if (ToolChain.getTriple().getEnvironment() == llvm::Triple::GNUEABIHF) ++ CmdArgs.push_back("/lib/ld-linux-armhf.so.3"); ++ else ++ CmdArgs.push_back("/lib/ld-linux.so.3"); + else if (ToolChain.getArch() == llvm::Triple::ppc) + CmdArgs.push_back("/lib/ld.so.1"); + else if (ToolChain.getArch() == llvm::Triple::ppc64) diff -Nru clang-3.0/debian/patches/28-gcc-4.7.diff clang-3.0/debian/patches/28-gcc-4.7.diff --- clang-3.0/debian/patches/28-gcc-4.7.diff 1970-01-01 01:00:00.000000000 +0100 +++ clang-3.0/debian/patches/28-gcc-4.7.diff 2013-02-06 13:53:48.000000000 +0100 @@ -0,0 +1,20 @@ +Description: fix -Wuninitialized with gcc-4.7 +Author: Markus Trippelsdorf +Last-Update: 2012-04-28 +Reviewed-By: Michael Stapelberg +Forwarded: not-needed + +--- + +--- clang-3.0.orig/tools/clang/lib/Analysis/UninitializedValues.cpp ++++ clang-3.0/tools/clang/lib/Analysis/UninitializedValues.cpp +@@ -168,7 +168,8 @@ static const BinaryOperator *getLogicalOperatorInChain(const CFGBlock *block) { + if (block->empty()) + return 0; + +- const CFGStmt *cstmt = block->front().getAs(); ++ CFGElement bf = block->front(); ++ const CFGStmt *cstmt = bf.getAs(); + if (!cstmt) + return 0; + diff -Nru clang-3.0/debian/patches/series clang-3.0/debian/patches/series --- clang-3.0/debian/patches/series 2012-02-25 14:05:54.000000000 +0100 +++ clang-3.0/debian/patches/series 2013-02-06 13:53:12.000000000 +0100 @@ -6,3 +6,6 @@ 23-strlcpy_strlcat_warning_removed.diff 24-path-multiarch.diff 25-amdfam10.diff +26-set-correct-float-abi.diff +27-dynamic-linker.diff +28-gcc-4.7.diff diff -Nru clang-3.0/debian/rules clang-3.0/debian/rules --- clang-3.0/debian/rules 2011-10-04 14:58:06.000000000 +0200 +++ clang-3.0/debian/rules 2013-02-06 11:13:50.000000000 +0100 @@ -36,5 +36,6 @@ endif $(RM) -r $(D)/debian/ccache find utils -name '*.py[co]' | xargs rm -f + $(RM) tools/clang/include/clang/Debian/debian_path.h .PHONY: clean