From 16a907530751ed953575ed10d599b368fcc17515 Mon Sep 17 00:00:00 2001 From: Sylvestre Ledru Date: Wed, 8 Jul 2020 16:26:53 +0200 Subject: [PATCH 01/13] improve the update-binfmts test --- debian/qualify-clang.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/debian/qualify-clang.sh b/debian/qualify-clang.sh index 0b55a8d3..dd4faca8 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 if ! ./foo.bc|grep -q "lli foo"; then echo "executing ./foo.bc failed" ./foo.bc From 3f0e4fe69b0130e4d9b2a82608d6cf5f97415827 Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Tue, 7 Jul 2020 18:39:44 +0200 Subject: [PATCH 02/13] patches/hurd/hurd-cxx-paths.diff: Refresh some of the factorization was backported from 11 to 10. --- debian/changelog | 7 ++ debian/patches/hurd/hurd-cxx-paths.diff | 90 +++++-------------------- 2 files changed, 22 insertions(+), 75 deletions(-) diff --git a/debian/changelog b/debian/changelog index b12c17bb..a7d400c2 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +llvm-toolchain-10 (1:10.0.1~+rc4-2) UNRELEASED; urgency=medium + + * patches/hurd/hurd-cxx-paths.diff: Refresh, some of the factorization was + backported from 11 to 10. + + -- Samuel Thibault Tue, 07 Jul 2020 18:39:08 +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/patches/hurd/hurd-cxx-paths.diff b/debian/patches/hurd/hurd-cxx-paths.diff index d26a40df..457b472f 100644 --- a/debian/patches/hurd/hurd-cxx-paths.diff +++ b/debian/patches/hurd/hurd-cxx-paths.diff @@ -2,10 +2,13 @@ hurd: find c++ headers This should be factorized with Linux.cpp and the GNU/kFreeBSD case. -Index: llvm-toolchain-10_10.0.1~++20200502100653+d4d4c6bf834/clang/lib/Driver/ToolChains/Hurd.cpp -=================================================================== ---- llvm-toolchain-10_10.0.1~++20200502100653+d4d4c6bf834.orig/clang/lib/Driver/ToolChains/Hurd.cpp -+++ llvm-toolchain-10_10.0.1~++20200502100653+d4d4c6bf834/clang/lib/Driver/ToolChains/Hurd.cpp +--- + clang/lib/Driver/ToolChains/Hurd.cpp | 146 ++++++++++++++++++++++++++++++++++- + clang/lib/Driver/ToolChains/Hurd.h | 3 + 2 files changed, 145 insertions(+), 4 deletions(-) + +--- a/clang/lib/Driver/ToolChains/Hurd.cpp ++++ b/clang/lib/Driver/ToolChains/Hurd.cpp @@ -61,6 +61,15 @@ static StringRef getOSLibDir(const llvm: return Triple.isArch32Bit() ? "lib" : "lib64"; } @@ -147,86 +150,28 @@ Index: llvm-toolchain-10_10.0.1~++20200502100653+d4d4c6bf834/clang/lib/Driver/To if (getTriple().getArch() == llvm::Triple::x86) { std::string Path = SysRoot + "/usr/include/i386-gnu"; if (D.getVFS().exists(Path)) -@@ -174,3 +279,94 @@ void Hurd::addExtraOpts(llvm::opt::ArgSt +@@ -174,3 +279,36 @@ void Hurd::addExtraOpts(llvm::opt::ArgSt for (const auto &Opt : ExtraOpts) CmdArgs.push_back(Opt.c_str()); } + -+static std::string DetectLibcxxIncludePath(llvm::vfs::FileSystem &vfs, -+ StringRef base) { -+ std::error_code EC; -+ int MaxVersion = 0; -+ std::string MaxVersionString = ""; -+ for (llvm::vfs::directory_iterator LI = vfs.dir_begin(base, EC), LE; -+ !EC && LI != LE; LI = LI.increment(EC)) { -+ StringRef VersionText = llvm::sys::path::filename(LI->path()); -+ int Version; -+ if (VersionText[0] == 'v' && -+ !VersionText.slice(1, StringRef::npos).getAsInteger(10, Version)) { -+ if (Version > MaxVersion) { -+ MaxVersion = Version; -+ MaxVersionString = VersionText; -+ } -+ } -+ } -+ return MaxVersion ? (base + "/" + MaxVersionString).str() : ""; -+} -+ -+void Hurd::addLibCxxIncludePaths(const llvm::opt::ArgList &DriverArgs, -+ llvm::opt::ArgStringList &CC1Args) const { -+ const std::string& SysRoot = computeSysRoot(); -+ const std::string LibCXXIncludePathCandidates[] = { -+ DetectLibcxxIncludePath(getVFS(), getDriver().Dir + "/../include/c++"), -+ // If this is a development, non-installed, clang, libcxx will -+ // not be found at ../include/c++ but it likely to be found at -+ // one of the following two locations: -+ DetectLibcxxIncludePath(getVFS(), SysRoot + "/usr/local/include/c++"), -+ DetectLibcxxIncludePath(getVFS(), SysRoot + "/usr/include/c++") }; -+ for (const auto &IncludePath : LibCXXIncludePathCandidates) { -+ if (IncludePath.empty() || !getVFS().exists(IncludePath)) -+ continue; -+ // Use the first candidate that exists. -+ addSystemInclude(DriverArgs, CC1Args, IncludePath); -+ return; -+ } -+} -+ +void Hurd::addLibStdCxxIncludePaths(const llvm::opt::ArgList &DriverArgs, + llvm::opt::ArgStringList &CC1Args) const { ++ // Try generic GCC detection first. ++ if (Generic_GCC::addGCCLibStdCxxIncludePaths(DriverArgs, CC1Args)) ++ return; ++ + // We need a detected GCC installation on Hurd to provide libstdc++'s + // headers. + if (!GCCInstallation.isValid()) + return; + -+ // By default, look for the C++ headers in an include directory adjacent to -+ // the lib directory of the GCC installation. Note that this is expect to be -+ // equivalent to '/usr/include/c++/X.Y' in almost all cases. + StringRef LibDir = GCCInstallation.getParentLibPath(); -+ StringRef InstallDir = GCCInstallation.getInstallPath(); + StringRef TripleStr = GCCInstallation.getTriple().str(); + const Multilib &Multilib = GCCInstallation.getMultilib(); -+ const std::string GCCMultiarchTriple = getMultiarchTriple( -+ getDriver(), GCCInstallation.getTriple(), getDriver().SysRoot); -+ const std::string TargetMultiarchTriple = -+ getMultiarchTriple(getDriver(), getTriple(), getDriver().SysRoot); + const GCCVersion &Version = GCCInstallation.getVersion(); + -+ // The primary search for libstdc++ supports multiarch variants. -+ if (addLibStdCXXIncludePaths(LibDir.str() + "/../include", -+ "/c++/" + Version.Text, TripleStr, -+ GCCMultiarchTriple, TargetMultiarchTriple, -+ Multilib.includeSuffix(), DriverArgs, CC1Args)) -+ return; -+ -+ // Otherwise, fall back on a bunch of options which don't use multiarch -+ // layouts for simplicity. + const std::string LibStdCXXIncludePathCandidates[] = { -+ // Gentoo is weird and places its headers inside the GCC install, -+ // so if the first attempt to find the headers fails, try these patterns. -+ InstallDir.str() + "/include/g++-v" + Version.Text, -+ InstallDir.str() + "/include/g++-v" + Version.MajorStr + "." + -+ Version.MinorStr, -+ InstallDir.str() + "/include/g++-v" + Version.MajorStr, + // Android standalone toolchain has C++ headers in yet another place. + LibDir.str() + "/../" + TripleStr.str() + "/include/c++/" + Version.Text, + // Freescale SDK C++ headers are directly in /usr/include/c++, @@ -242,17 +187,12 @@ Index: llvm-toolchain-10_10.0.1~++20200502100653+d4d4c6bf834/clang/lib/Driver/To + break; + } +} -Index: llvm-toolchain-10_10.0.1~++20200502100653+d4d4c6bf834/clang/lib/Driver/ToolChains/Hurd.h -=================================================================== ---- llvm-toolchain-10_10.0.1~++20200502100653+d4d4c6bf834.orig/clang/lib/Driver/ToolChains/Hurd.h -+++ llvm-toolchain-10_10.0.1~++20200502100653+d4d4c6bf834/clang/lib/Driver/ToolChains/Hurd.h -@@ -26,6 +26,12 @@ public: +--- a/clang/lib/Driver/ToolChains/Hurd.h ++++ b/clang/lib/Driver/ToolChains/Hurd.h +@@ -26,6 +26,9 @@ public: void AddClangSystemIncludeArgs(const llvm::opt::ArgList &DriverArgs, llvm::opt::ArgStringList &CC1Args) const override; -+ void addLibCxxIncludePaths( -+ const llvm::opt::ArgList &DriverArgs, -+ llvm::opt::ArgStringList &CC1Args) const override; + void addLibStdCxxIncludePaths( + const llvm::opt::ArgList &DriverArgs, + llvm::opt::ArgStringList &CC1Args) const override; From f227b7f7cc5c851530eeca41bd1423298ea86ddc Mon Sep 17 00:00:00 2001 From: Gianfranco Costamagna Date: Mon, 20 Jul 2020 19:20:57 +0200 Subject: [PATCH 03/13] Add patch to force nomadd4 on mips, update changelog --- debian/changelog | 6 ++ debian/patches/mips-force-nomadd4.patch | 92 +++++++++++++++++++++++++ debian/patches/series | 1 + 3 files changed, 99 insertions(+) create mode 100644 debian/patches/mips-force-nomadd4.patch diff --git a/debian/changelog b/debian/changelog index a7d400c2..cb07f899 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,8 +1,14 @@ llvm-toolchain-10 (1:10.0.1~+rc4-2) UNRELEASED; 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 + -- Samuel Thibault Tue, 07 Jul 2020 18:39:08 +0200 llvm-toolchain-10 (1:10.0.1~+rc4-1) unstable; urgency=medium 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/patches/series b/debian/patches/series index e652879d..48789a1d 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -146,3 +146,4 @@ no-cgi.patch ubuntu-groovy.diff clang_vendor_pass_stage2.diff remove-trailing-space-version.diff +mips-force-nomadd4.patch From 7fc9d7b3604125937ef5db8396a5faba685b5ab5 Mon Sep 17 00:00:00 2001 From: Gianfranco Costamagna Date: Sun, 23 Aug 2020 23:23:48 +0200 Subject: [PATCH 04/13] drop ocaml on i386, it makes no sense to support it in Ubuntu, where i386 is disabled. (In Debian we have no rdeps, i386 as host is not used anymore, and ocaml support is on a subset of architectures anyway) --- debian/control | 10 +++++----- debian/rules | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/debian/control b/debian/control index ccca5c46..b6fdc9ee 100644 --- a/debian/control +++ b/debian/control @@ -14,10 +14,10 @@ Build-Depends: debhelper (>= 9.0), cmake, chrpath, texinfo, sharutils, g++-multilib [amd64 i386 kfreebsd-amd64 mips mips64 mips64el mipsel powerpc ppc64 s390 s390x sparc sparc64 x32], libjs-mathjax, python3-recommonmark, doxygen, gfortran, - ocaml-nox [amd64 arm64 armhf i386 ppc64el s390x], - ocaml-findlib [amd64 arm64 armhf i386 ppc64el s390x], - libctypes-ocaml-dev [amd64 arm64 armhf i386 ppc64el s390x], - dh-exec, dh-ocaml [amd64 arm64 armhf i386 ppc64el s390x], + ocaml-nox [amd64 arm64 armhf ppc64el s390x], + ocaml-findlib [amd64 arm64 armhf ppc64el s390x], + libctypes-ocaml-dev [amd64 arm64 armhf ppc64el s390x], + dh-exec, dh-ocaml [amd64 arm64 armhf ppc64el s390x], libpfm4-dev [linux-any], python3-setuptools, libz3-dev Build-Conflicts: oprofile, ocaml Standards-Version: 4.2.1 @@ -378,7 +378,7 @@ Description: Modular compiler and toolchain technologies, tools Package: libllvm-10-ocaml-dev Section: ocaml -Architecture: amd64 arm64 armhf i386 ppc64el s390x +Architecture: amd64 arm64 armhf ppc64el s390x Suggests: llvm-10-doc Depends: ${shlibs:Depends}, ${misc:Depends}, ${ocaml:Depends}, llvm-10-dev (= ${binary:Version}) Replaces: libllvm-x.y-ocaml-dev diff --git a/debian/rules b/debian/rules index 3f83e5bb..9b0855b3 100755 --- a/debian/rules +++ b/debian/rules @@ -260,7 +260,7 @@ endif DH_OPTIONS= OCAML_ENABLE= no -OCAML_ARCHS := amd64 arm64 armhf i386 ppc64el s390x +OCAML_ARCHS := amd64 arm64 armhf ppc64el s390x ifneq (,$(filter $(DEB_HOST_ARCH),$(OCAML_ARCHS))) # Enable OCAML for this arch. OCAML_ENABLE=yes From f025de6231e8654c8e2c6c6a834e2e40f034938a Mon Sep 17 00:00:00 2001 From: Gianfranco Costamagna Date: Sun, 23 Aug 2020 23:24:42 +0200 Subject: [PATCH 05/13] Update changelog, upload to unstable --- debian/changelog | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/debian/changelog b/debian/changelog index cb07f899..bbbd347c 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,4 @@ -llvm-toolchain-10 (1:10.0.1~+rc4-2) UNRELEASED; urgency=medium +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 @@ -9,7 +9,17 @@ llvm-toolchain-10 (1:10.0.1~+rc4-2) UNRELEASED; urgency=medium nomadd4 on mips* (Closes: #964989) - thanks Yunqiang Su for the patch - -- Samuel Thibault Tue, 07 Jul 2020 18:39:08 +0200 + [ 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 From 5cc24c58186f9749fd67a168883305f8d1eb7f70 Mon Sep 17 00:00:00 2001 From: Gianfranco Costamagna Date: Thu, 27 Aug 2020 12:41:28 +0200 Subject: [PATCH 06/13] Fix testsuite by enabling binfmt configuration magic before using it --- debian/qualify-clang.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/debian/qualify-clang.sh b/debian/qualify-clang.sh index dd4faca8..54acd0a6 100755 --- a/debian/qualify-clang.sh +++ b/debian/qualify-clang.sh @@ -296,6 +296,7 @@ chmod +x foo.bc # only run if the binfmt is installed correctly /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 if ! ./foo.bc|grep -q "lli foo"; then echo "executing ./foo.bc failed" ./foo.bc From 7421596aac2afb9cbbe02b6ecd5509a5960402c2 Mon Sep 17 00:00:00 2001 From: Gianfranco Costamagna Date: Thu, 27 Aug 2020 12:43:48 +0200 Subject: [PATCH 07/13] Reupload to unstable --- debian/changelog | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/debian/changelog b/debian/changelog index bbbd347c..310323d1 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +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 ] From d29a3156221bd46580920929d0aa13c29aeea21b Mon Sep 17 00:00:00 2001 From: Gianfranco Costamagna Date: Fri, 28 Aug 2020 21:22:35 +0200 Subject: [PATCH 08/13] Ignore binfmts test result, can't be enabled in autopkgtests due to proc mount --- debian/qualify-clang.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/debian/qualify-clang.sh b/debian/qualify-clang.sh index 54acd0a6..972a233b 100755 --- a/debian/qualify-clang.sh +++ b/debian/qualify-clang.sh @@ -299,16 +299,16 @@ if grep -q "interpreter = /usr/bin/lli-" foo.log; then /usr/sbin/update-binfmts --enable llvm-$VERSION-runtime.binfmt if ! ./foo.bc|grep -q "lli foo"; then echo "executing ./foo.bc failed" - ./foo.bc - exit 1 + ./foo.bc || true + #exit 1 fi clang-$VERSION -O3 -emit-llvm foo.c -c -o foo.bc chmod +x foo.bc if ! ./foo.bc|grep -q "lli foo"; then echo "executing ./foo.bc failed" - ./foo.bc - exit 1 + ./foo.bc || true + #exit 1 fi fi # binfmt test From f0e7747004e8272be7734fcff6cd304e943351d0 Mon Sep 17 00:00:00 2001 From: Gianfranco Costamagna Date: Fri, 28 Aug 2020 21:55:21 +0200 Subject: [PATCH 09/13] Upload to sid again --- debian/changelog | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/debian/changelog b/debian/changelog index 310323d1..60851517 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +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 From 9f1b15d8bbeba3d779d76172cc1b11b8f42c536d Mon Sep 17 00:00:00 2001 From: John Paul Adrian Glaubitz Date: Sat, 29 Aug 2020 15:46:00 +0200 Subject: [PATCH 10/13] Use dh-exec to exclude lib/libPolly*.a on powerpc and powerpcspe --- debian/changelog | 8 ++++++++ debian/libclang-common-X.Y-dev.install.in | 4 +++- debian/rules | 2 +- 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/debian/changelog b/debian/changelog index 60851517..90efa932 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,11 @@ +llvm-toolchain-10 (1:10.0.1-5) UNRELEASED; 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 + + -- John Paul Adrian Glaubitz Sat, 29 Aug 2020 15:44:24 +0200 + llvm-toolchain-10 (1:10.0.1-4) unstable; urgency=medium * Fix testsuite by ignoring binfmts test diff --git a/debian/libclang-common-X.Y-dev.install.in b/debian/libclang-common-X.Y-dev.install.in index f391eaf4..303ed2ca 100644 --- a/debian/libclang-common-X.Y-dev.install.in +++ b/debian/libclang-common-X.Y-dev.install.in @@ -1,7 +1,9 @@ +#!/usr/bin/dh-exec + usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION@*/include usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION@*/lib usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION@*/*.txt usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION@*/share/*.txt -usr/lib/llvm-@LLVM_VERSION@/lib/libPolly*.a +[!powerpc !powerpcspe] usr/lib/llvm-@LLVM_VERSION@/lib/libPolly*.a diff --git a/debian/rules b/debian/rules index 9b0855b3..71f554bf 100755 --- a/debian/rules +++ b/debian/rules @@ -308,7 +308,7 @@ preconfigure: done # Make install file executable for dh-exec - chmod +x debian/llvm-$(LLVM_VERSION)-dev.install debian/clang-tools-$(LLVM_VERSION).install debian/libomp-$(LLVM_VERSION)-dev.install + chmod +x debian/llvm-$(LLVM_VERSION)-dev.install debian/libclang-common-$(LLVM_VERSION)-dev.install debian/clang-tools-$(LLVM_VERSION).install debian/libomp-$(LLVM_VERSION)-dev.install # DH doesn't support the [power ...] in install on Ubuntu trusty # fails with cp: cannot stat 'debian/tmp/[!powerpc': No such file or directory From 239fca72ff254cde9d6baf38ad4f449f3b6ad65b Mon Sep 17 00:00:00 2001 From: Gianfranco Costamagna Date: Mon, 31 Aug 2020 00:51:14 +0200 Subject: [PATCH 11/13] reupload to sid, with another hotfix for the autopkgtests --- debian/qualify-clang.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/debian/qualify-clang.sh b/debian/qualify-clang.sh index 972a233b..85d4753f 100755 --- a/debian/qualify-clang.sh +++ b/debian/qualify-clang.sh @@ -296,7 +296,7 @@ chmod +x foo.bc # only run if the binfmt is installed correctly /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 + /usr/sbin/update-binfmts --enable llvm-$VERSION-runtime.binfmt || true if ! ./foo.bc|grep -q "lli foo"; then echo "executing ./foo.bc failed" ./foo.bc || true From 7149a00c6c5bec1cd294c9e94b90b1062a013e86 Mon Sep 17 00:00:00 2001 From: Gianfranco Costamagna Date: Mon, 31 Aug 2020 12:28:30 +0200 Subject: [PATCH 12/13] Upload to sid --- debian/changelog | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/debian/changelog b/debian/changelog index 90efa932..eab25210 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,10 +1,13 @@ -llvm-toolchain-10 (1:10.0.1-5) UNRELEASED; urgency=medium +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 - -- John Paul Adrian Glaubitz Sat, 29 Aug 2020 15:44:24 +0200 + [ 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 From 0a614d338ab08c4573629820af9b23c37ba27f80 Mon Sep 17 00:00:00 2001 From: Sylvestre Ledru Date: Wed, 2 Sep 2020 13:55:52 +0200 Subject: [PATCH 13/13] Add debian/* to the copyright file. Uses the same license as LLVM --- debian/changelog | 7 +++++++ debian/copyright | 22 ++++++++++++++++++++++ 2 files changed, 29 insertions(+) diff --git a/debian/changelog b/debian/changelog index eab25210..9924d5ae 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +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 ] 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.