diff --git a/debian/changelog b/debian/changelog index a459a54b..aa056eda 100644 --- a/debian/changelog +++ b/debian/changelog @@ -190,6 +190,61 @@ llvm-toolchain-snapshot (1:11~++20200123111717+04fd2041561-1~exp1) experimental; -- Sylvestre Ledru Thu, 23 Jan 2020 14:52:30 +0100 +llvm-toolchain-10 (1:10.0.1-6) unstable; urgency=medium + + * Add debian/* to the copyright file. Uses the same license + as LLVM + + -- Sylvestre Ledru Wed, 02 Sep 2020 13:55:46 +0200 + +llvm-toolchain-10 (1:10.0.1-5) unstable; urgency=medium + + [ John Paul Adrian Glaubitz ] + * Use dh-exec to exclude lib/libPolly*.a on powerpc and + powerpcspe from libclang-common-X.Y-dev.install.in + + [ Gianfranco Costamagna ] + * autopkgtests: ignore binfmts enable command return value. + + -- Gianfranco Costamagna Mon, 31 Aug 2020 12:28:24 +0200 + +llvm-toolchain-10 (1:10.0.1-4) unstable; urgency=medium + + * Fix testsuite by ignoring binfmts test + (can't be enabled on autopkgtests) + + -- Gianfranco Costamagna Fri, 28 Aug 2020 21:54:05 +0200 + +llvm-toolchain-10 (1:10.0.1-3) unstable; urgency=medium + + * Fix testsuite by enabling binfmts support before using it + (the default is disabled) + + -- Gianfranco Costamagna Thu, 27 Aug 2020 12:42:20 +0200 + +llvm-toolchain-10 (1:10.0.1-2) unstable; urgency=medium + + [ Samuel Thibault ] + * patches/hurd/hurd-cxx-paths.diff: Refresh, some of the factorization was + backported from 11 to 10. + + [ Gianfranco Costamagna ] + * debian/patches/mips-force-nomadd4.patch: Apply and rebase patch to disable + nomadd4 on mips* (Closes: #964989) + - thanks Yunqiang Su for the patch + + [ Steve Langasek ] + * Drop ocaml support on i386, which pulls in a series of packages which + is not reasonable to support. + + -- Gianfranco Costamagna Sun, 23 Aug 2020 22:57:55 +0200 + +llvm-toolchain-10 (1:10.0.1-1) unstable; urgency=medium + + * New release + + -- Sylvestre Ledru Tue, 21 Jul 2020 18:29:06 +0200 + llvm-toolchain-10 (1:10.0.1~+rc4-1) unstable; urgency=medium * New RC release (of course, I was wrong) diff --git a/debian/copyright b/debian/copyright index ad7fdbf9..853eb278 100644 --- a/debian/copyright +++ b/debian/copyright @@ -24,6 +24,28 @@ License: APACHE-2-LLVM-EXCEPTIONS the License, but only in their entirety and only with respect to the Combined Software. +Files: debian/* +Copyright: 2003-2020 Sylvestre Ledru and others +License: APACHE-2-LLVM-EXCEPTIONS + On Debian systems the full text of the Apache Software License 2.0 can be + found in the `/usr/share/common-licenses/Apache-2.0' file. + . + ---- LLVM Exceptions to the Apache 2.0 License ---- + . + As an exception, if, as a result of your compiling your source code, portions + of this Software are embedded into an Object form of such source code, you + may redistribute such embedded portions in such Object form without complying + with the conditions of Sections 4(a), 4(b) and 4(d) of the License. + . + In addition, if you combine or link compiled forms of this Software with + software that is licensed under the GPLv2 ("Combined Software") and if a + court of competent jurisdiction determines that the patent provision (Section + 3), the indemnity provision (Section 9) or other Section of the License + conflicts with the conditions of the GPLv2, you may retroactively and + prospectively choose to deem waived or otherwise exclude such Section(s) of + the License, but only in their entirety and only with respect to the Combined + Software. + Files: compiler-rt/lib/BlocksRuntime/* lldb/tools/debugserver/source/MacOSX/stack_logging.h Copyright: 2008-2010 Apple, Inc. diff --git a/debian/patches/mips-force-nomadd4.patch b/debian/patches/mips-force-nomadd4.patch new file mode 100644 index 00000000..670b2f13 --- /dev/null +++ b/debian/patches/mips-force-nomadd4.patch @@ -0,0 +1,92 @@ +The MIPS port aims to support the Loongson 3 family of CPUs in addition +of the other MIPS CPUs. On the Loongson 3 family the MADD4 instructions +are fused, while they are not fused on the other MIPS CPUs. In order to +support both, we have to disabled those instructions. + +For that, the patch below basically corresponds to the --with-madd4=no +used on the GCC side. + +Index: llvm-toolchain-10-10.0.1~+rc4/clang/lib/Basic/Targets/Mips.h +=================================================================== +--- llvm-toolchain-10-10.0.1~+rc4.orig/clang/lib/Basic/Targets/Mips.h ++++ llvm-toolchain-10-10.0.1~+rc4/clang/lib/Basic/Targets/Mips.h +@@ -332,6 +332,8 @@ + HasMSA = true; + else if (Feature == "+nomadd4") + DisableMadd4 = true; ++ else if (Feature == "-nomadd4") ++ DisableMadd4 = false; + else if (Feature == "+fp64") + FPMode = FP64; + else if (Feature == "-fp64") +Index: llvm-toolchain-10-10.0.1~+rc4/llvm/lib/Target/Mips/MipsSubtarget.cpp +=================================================================== +--- llvm-toolchain-10-10.0.1~+rc4.orig/llvm/lib/Target/Mips/MipsSubtarget.cpp ++++ llvm-toolchain-10-10.0.1~+rc4/llvm/lib/Target/Mips/MipsSubtarget.cpp +@@ -79,7 +79,7 @@ + InMips16Mode(false), InMips16HardFloat(Mips16HardFloat), + InMicroMipsMode(false), HasDSP(false), HasDSPR2(false), HasDSPR3(false), + AllowMixed16_32(Mixed16_32 | Mips_Os16), Os16(Mips_Os16), HasMSA(false), +- UseTCCInDIV(false), HasSym32(false), HasEVA(false), DisableMadd4(false), ++ UseTCCInDIV(false), HasSym32(false), HasEVA(false), DisableMadd4(true), + HasMT(false), HasCRC(false), HasVirt(false), HasGINV(false), + UseIndirectJumpsHazard(false), StackAlignOverride(StackAlignOverride), + TM(TM), TargetTriple(TT), TSInfo(), +@@ -91,6 +91,9 @@ + if (MipsArchVersion == MipsDefault) + MipsArchVersion = Mips32; + ++ if (hasMips32r6() || hasMips64r6()) ++ DisableMadd4 = false; ++ + // Don't even attempt to generate code for MIPS-I and MIPS-V. They have not + // been tested and currently exist for the integrated assembler only. + if (MipsArchVersion == Mips1) +@@ -238,6 +241,7 @@ + MipsSubtarget::initializeSubtargetDependencies(StringRef CPU, StringRef FS, + const TargetMachine &TM) { + std::string CPUName = MIPS_MC::selectMipsCPU(TM.getTargetTriple(), CPU); ++ SubtargetFeatures Features(FS); + + // Parse features string. + ParseSubtargetFeatures(CPUName, FS); +@@ -260,6 +264,13 @@ + report_fatal_error("64-bit code requested on a subtarget that doesn't " + "support it!"); + ++ for (const std::string &Feature : Features.getFeatures()) { ++ if (Feature == "+nomadd4") ++ DisableMadd4 = true; ++ else if (Feature == "-nomadd4") ++ DisableMadd4 = false; ++ } ++ + return *this; + } + +Index: llvm-toolchain-10-10.0.1~+rc4/llvm/lib/Target/Mips/Mips.td +=================================================================== +--- llvm-toolchain-10-10.0.1~+rc4.orig/llvm/lib/Target/Mips/Mips.td ++++ llvm-toolchain-10-10.0.1~+rc4/llvm/lib/Target/Mips/Mips.td +@@ -205,7 +205,7 @@ + "UseTCCInDIV", "false", + "Force the assembler to use trapping">; + +-def FeatureMadd4 ++def FeatureNoMadd4 + : SubtargetFeature<"nomadd4", "DisableMadd4", "true", + "Disable 4-operand madd.fmt and related instructions">; + +Index: llvm-toolchain-10-10.0.1~+rc4/llvm/lib/Target/Mips/MipsInstrInfo.td +=================================================================== +--- llvm-toolchain-10-10.0.1~+rc4.orig/llvm/lib/Target/Mips/MipsInstrInfo.td ++++ llvm-toolchain-10-10.0.1~+rc4/llvm/lib/Target/Mips/MipsInstrInfo.td +@@ -242,7 +242,7 @@ + def HasMSA : Predicate<"Subtarget->hasMSA()">, + AssemblerPredicate<"FeatureMSA">; + def HasMadd4 : Predicate<"!Subtarget->disableMadd4()">, +- AssemblerPredicate<"!FeatureMadd4">; ++ AssemblerPredicate<"!FeatureNoMadd4">; + def HasMT : Predicate<"Subtarget->hasMT()">, + AssemblerPredicate<"FeatureMT">; + def UseIndirectJumpsHazard : Predicate<"Subtarget->useIndirectJumpsHazard()">, diff --git a/debian/qualify-clang.sh b/debian/qualify-clang.sh index f81ed16b..641ed27c 100755 --- a/debian/qualify-clang.sh +++ b/debian/qualify-clang.sh @@ -294,7 +294,8 @@ fi clang-$VERSION -O3 -emit-llvm foo.c -c -o foo.bc chmod +x foo.bc # only run if the binfmt is installed correctly -if /usr/sbin/update-binfmts --display llvm-$VERSION-runtime.binfmt &> /dev/null; then +/usr/sbin/update-binfmts --display llvm-$VERSION-runtime.binfmt &> foo.log || true +if grep -q "interpreter = /usr/bin/lli-" foo.log; then /usr/sbin/update-binfmts --enable llvm-$VERSION-runtime.binfmt || true if ! ./foo.bc|grep -q "lli foo"; then echo "executing ./foo.bc failed"