From 44b2f0028de619c93195fa76c772201c57b8caa2 Mon Sep 17 00:00:00 2001 From: Sylvestre Ledru Date: Sat, 3 Aug 2019 12:01:19 +0200 Subject: [PATCH 01/27] cosmetic --- debian/README.source | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/debian/README.source b/debian/README.source index 7447abac..21e4852a 100644 --- a/debian/README.source +++ b/debian/README.source @@ -14,7 +14,7 @@ and symlinks are managed by the other package llvm-defaults = CPU extensions = * For x86, SSE2 extensions are disabled (and the target CPU is i686 instead of - pentium4. + pentium4). * For armel, uses float ABI instead of hard. From 5feb3f9717f3d1314dfddc42ce4cfb715691e766 Mon Sep 17 00:00:00 2001 From: Sylvestre Ledru Date: Sat, 3 Aug 2019 15:44:20 +0200 Subject: [PATCH 02/27] update of the doc --- debian/README | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/debian/README b/debian/README index 9f6e854b..cfdb8c8a 100644 --- a/debian/README +++ b/debian/README @@ -9,7 +9,7 @@ The current snapshot release is maintained in the "snapshot" branch. The easiest way to get all branches is probably to have one clone per version: -for f in 4.0 5.0 6.0 7 snapshot; do +for f in 7 8 9 snapshot; do git clone git@salsa.debian.org:pkg-llvm-team/llvm-toolchain.git -b $f $f done @@ -55,7 +55,7 @@ branch at http://llvm.org/svn/llvm-project/{llvm,...}/branches/release_80 you should use, - $ sh snapshot/debian/orig-tar.sh release_80 + $ sh 8/debian/orig-tar.sh release_80 To retrieve a specific release candidate, you can pass the branch name as the first argument, and the tag rc number as the second argument. For example, to @@ -63,11 +63,11 @@ get the 8.0.1 release candidate rc3 at http://llvm.org/svn/llvm-project/{llvm,...}/tags/RELEASE_801/rc3 you should use, - $ sh snapshot/debian/orig-tar.sh RELEASE_801 rc3 8.0.1 + $ sh 8/debian/orig-tar.sh RELEASE_801 rc3 8.0.1 For a stable release, the syntax is: - $ sh snapshot/debian/orig-tar.sh RELEASE_800 final 8.0 + $ sh 8/debian/orig-tar.sh RELEASE_800 final 8.0 Additional maintainer scripts @@ -81,6 +81,15 @@ The script releases/snapshot/debian/prepare-new-release.sh is used when preparing a new point release. It automatically replaces version numbers in various files of the package. +Making a change to all versions +=============================== + +Sometimes, we want to make a change on all branches. +In that case, start to make the change from the older +version (example: 8), then, change branch (example: 9) and +$ git merge origin/8 +to retrieve the changes + Change in major upstream version ================================ From f01d96bcb8cc04714d0780b53cad33649aebe2a2 Mon Sep 17 00:00:00 2001 From: Aurelien Jarno Date: Sat, 3 Aug 2019 12:14:04 +0200 Subject: [PATCH 03/27] Add support for riscv64: * Add support for riscv64: - Always link with -latomic on riscv64. - patches/clang-riscv64-multiarch.diff: add multiarch paths for riscv64. - patches/clang-riscv64-rv64gc.diff: default to lp64d ABI and rv64gc ISA. - patches/libcxx/libcxx-riscv64-cycletimer.diff: backport riscv64 cycletimer support from upstream. --- debian/changelog | 8 ++ debian/patches/clang-riscv64-multiarch.diff | 34 ++++++++ debian/patches/clang-riscv64-rv64gc.diff | 38 +++++++++ .../libcxx/libcxx-riscv64-cycletimer.diff | 81 +++++++++++++++++++ debian/patches/series | 4 + debian/rules | 4 +- 6 files changed, 167 insertions(+), 2 deletions(-) create mode 100644 debian/patches/clang-riscv64-multiarch.diff create mode 100644 debian/patches/clang-riscv64-rv64gc.diff create mode 100644 debian/patches/libcxx/libcxx-riscv64-cycletimer.diff diff --git a/debian/changelog b/debian/changelog index d662ca52..8772ce09 100644 --- a/debian/changelog +++ b/debian/changelog @@ -7,6 +7,14 @@ llvm-toolchain-9 (1:9~+rc1-1~exp2) experimental; urgency=medium * Move lit-cpuid from llvm-tools to lldb (wrong package) * Ship clangd-9 as a new package (Closes: #932432) + [ Aurelien Jarno ] + * Add support for riscv64: + - Always link with -latomic on riscv64. + - patches/clang-riscv64-multiarch.diff: add multiarch paths for riscv64. + - patches/clang-riscv64-rv64gc.diff: default to lp64d ABI and rv64gc ISA. + - patches/libcxx/libcxx-riscv64-cycletimer.diff: backport riscv64 + cycletimer support from upstream. + -- Sylvestre Ledru Sat, 03 Aug 2019 11:41:07 +0200 llvm-toolchain-9 (1:9~+rc1-1~exp1) experimental; urgency=medium diff --git a/debian/patches/clang-riscv64-multiarch.diff b/debian/patches/clang-riscv64-multiarch.diff new file mode 100644 index 00000000..a26f49fa --- /dev/null +++ b/debian/patches/clang-riscv64-multiarch.diff @@ -0,0 +1,34 @@ +diff --git a/clang/lib/Driver/ToolChains/Linux.cpp b/clang/lib/Driver/ToolChains/Linux.cpp +index d900508ad93..f516d172b37 100644 +--- a/clang/lib/Driver/ToolChains/Linux.cpp ++++ b/clang/lib/Driver/ToolChains/Linux.cpp +@@ -150,6 +150,10 @@ static std::string getMultiarchTriple(const Driver &D, + if (D.getVFS().exists(SysRoot + "/lib/powerpc64le-linux-gnu")) + return "powerpc64le-linux-gnu"; + break; ++ case llvm::Triple::riscv64: ++ if (D.getVFS().exists(SysRoot + "/lib/riscv64-linux-gnu")) ++ return "riscv64-linux-gnu"; ++ break; + case llvm::Triple::sparc: + if (D.getVFS().exists(SysRoot + "/lib/sparc-linux-gnu")) + return "sparc-linux-gnu"; +@@ -749,6 +753,8 @@ void Linux::AddClangSystemIncludeArgs(const ArgList &DriverArgs, + "/usr/include/powerpc64-linux-gnu"}; + const StringRef PPC64LEMultiarchIncludeDirs[] = { + "/usr/include/powerpc64le-linux-gnu"}; ++ const StringRef RISCV64MultiarchIncludeDirs[] = { ++ "/usr/include/riscv64-linux-gnu"}; + const StringRef SparcMultiarchIncludeDirs[] = { + "/usr/include/sparc-linux-gnu"}; + const StringRef Sparc64MultiarchIncludeDirs[] = { +@@ -824,6 +830,9 @@ void Linux::AddClangSystemIncludeArgs(const ArgList &DriverArgs, + case llvm::Triple::ppc64le: + MultiarchIncludeDirs = PPC64LEMultiarchIncludeDirs; + break; ++ case llvm::Triple::riscv64: ++ MultiarchIncludeDirs = RISCV64MultiarchIncludeDirs; ++ break; + case llvm::Triple::sparc: + MultiarchIncludeDirs = SparcMultiarchIncludeDirs; + break; diff --git a/debian/patches/clang-riscv64-rv64gc.diff b/debian/patches/clang-riscv64-rv64gc.diff new file mode 100644 index 00000000..922823ed --- /dev/null +++ b/debian/patches/clang-riscv64-rv64gc.diff @@ -0,0 +1,38 @@ +diff --git a/clang/lib/Driver/ToolChains/Arch/RISCV.cpp b/clang/lib/Driver/ToolChains/Arch/RISCV.cpp +index b6768de4d29..9671ea270ef 100644 +--- a/clang/lib/Driver/ToolChains/Arch/RISCV.cpp ++++ b/clang/lib/Driver/ToolChains/Arch/RISCV.cpp +@@ -350,6 +350,13 @@ void riscv::getRISCVTargetFeatures(const Driver &D, const ArgList &Args, + + // Handle all other types of extensions. + getExtensionFeatures(D, Args, Features, MArch, OtherExts); ++ } else { ++ // Default to imafdc aka gc ++ Features.push_back("+m"); ++ Features.push_back("+a"); ++ Features.push_back("+f"); ++ Features.push_back("+d"); ++ Features.push_back("+c"); + } + + // -mrelax is default, unless -mno-relax is specified. +@@ -375,5 +382,5 @@ StringRef riscv::getRISCVABI(const ArgList &Args, const llvm::Triple &Triple) { + if (Arg *A = Args.getLastArg(options::OPT_mabi_EQ)) + return A->getValue(); + +- return Triple.getArch() == llvm::Triple::riscv32 ? "ilp32" : "lp64"; ++ return Triple.getArch() == llvm::Triple::riscv32 ? "ilp32" : "lp64d"; + } +diff --git a/clang/lib/Driver/ToolChains/Clang.cpp b/clang/lib/Driver/ToolChains/Clang.cpp +index 60062d5c327..bb4536cafb0 100644 +--- a/clang/lib/Driver/ToolChains/Clang.cpp ++++ b/clang/lib/Driver/ToolChains/Clang.cpp +@@ -1850,7 +1850,7 @@ void Clang::AddRISCVTargetArgs(const ArgList &Args, + else if (Triple.getArch() == llvm::Triple::riscv32) + ABIName = "ilp32"; + else if (Triple.getArch() == llvm::Triple::riscv64) +- ABIName = "lp64"; ++ ABIName = "lp64d"; + else + llvm_unreachable("Unexpected triple!"); + diff --git a/debian/patches/libcxx/libcxx-riscv64-cycletimer.diff b/debian/patches/libcxx/libcxx-riscv64-cycletimer.diff new file mode 100644 index 00000000..18223264 --- /dev/null +++ b/debian/patches/libcxx/libcxx-riscv64-cycletimer.diff @@ -0,0 +1,81 @@ +commit 09e6304440c08fe72b6ac05f922ab9d8b7f1e387 +Author: Roger Ferrer Ibanez +Date: Wed Jul 24 05:33:46 2019 +0000 + + [RISCV] Implement benchmark::cycleclock::Now + + This is a cherrypick of D64237 onto llvm/utils/benchmark and + libcxx/utils/google-benchmark. + + Differential Revision: https://reviews.llvm.org/D65142 + + llvm-svn: 366868 + +--- a/libcxx/utils/google-benchmark/README.LLVM ++++ b/libcxx/utils/google-benchmark/README.LLVM +@@ -4,3 +4,9 @@ LLVM notes + This directory contains the Google Benchmark source code with some unnecessary + files removed. Note that this directory is under a different license than + libc++. ++ ++Changes: ++* https://github.com/google/benchmark/commit/4abdfbb802d1b514703223f5f852ce4a507d32d2 ++ is applied on top of ++ https://github.com/google/benchmark/commit/4528c76b718acc9b57956f63069c699ae21edcab ++ to add RISC-V timer support. +--- a/libcxx/utils/google-benchmark/src/cycleclock.h ++++ b/libcxx/utils/google-benchmark/src/cycleclock.h +@@ -164,6 +164,21 @@ inline BENCHMARK_ALWAYS_INLINE int64_t Now() { + uint64_t tsc; + asm("stck %0" : "=Q"(tsc) : : "cc"); + return tsc; ++#elif defined(__riscv) // RISC-V ++ // Use RDCYCLE (and RDCYCLEH on riscv32) ++#if __riscv_xlen == 32 ++ uint64_t cycles_low, cycles_hi0, cycles_hi1; ++ asm("rdcycleh %0" : "=r"(cycles_hi0)); ++ asm("rdcycle %0" : "=r"(cycles_lo)); ++ asm("rdcycleh %0" : "=r"(cycles_hi1)); ++ // This matches the PowerPC overflow detection, above ++ cycles_lo &= -static_cast(cycles_hi0 == cycles_hi1); ++ return (cycles_hi1 << 32) | cycles_lo; ++#else ++ uint64_t cycles; ++ asm("rdcycle %0" : "=r"(cycles)); ++ return cycles; ++#endif + #else + // The soft failover to a generic implementation is automatic only for ARM. + // For other platforms the developer is expected to make an attempt to create +--- a/utils/benchmark/README.LLVM ++++ b/utils/benchmark/README.LLVM +@@ -23,3 +23,5 @@ Changes: + is applied to disable exceptions in Microsoft STL when exceptions are disabled + * Disabled CMake get_git_version as it is meaningless for this in-tree build, + and hardcoded a null version ++* https://github.com/google/benchmark/commit/4abdfbb802d1b514703223f5f852ce4a507d32d2 ++ is applied on top of v1.4.1 to add RISC-V timer support. +--- a/utils/benchmark/src/cycleclock.h ++++ b/utils/benchmark/src/cycleclock.h +@@ -164,6 +164,21 @@ inline BENCHMARK_ALWAYS_INLINE int64_t Now() { + uint64_t tsc; + asm("stck %0" : "=Q" (tsc) : : "cc"); + return tsc; ++#elif defined(__riscv) // RISC-V ++ // Use RDCYCLE (and RDCYCLEH on riscv32) ++#if __riscv_xlen == 32 ++ uint64_t cycles_low, cycles_hi0, cycles_hi1; ++ asm("rdcycleh %0" : "=r"(cycles_hi0)); ++ asm("rdcycle %0" : "=r"(cycles_lo)); ++ asm("rdcycleh %0" : "=r"(cycles_hi1)); ++ // This matches the PowerPC overflow detection, above ++ cycles_lo &= -static_cast(cycles_hi0 == cycles_hi1); ++ return (cycles_hi1 << 32) | cycles_lo; ++#else ++ uint64_t cycles; ++ asm("rdcycle %0" : "=r"(cycles)); ++ return cycles; ++#endif + #else + // The soft failover to a generic implementation is automatic only for ARM. + // For other platforms the developer is expected to make an attempt to create diff --git a/debian/patches/series b/debian/patches/series index 2f3c3a93..ed145221 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -80,6 +80,7 @@ libcxx/libcxx-test-atomics-set-compare-exchange-to-be-expected-fails-on-arm.patc libcxx/libcxx-silent-test-libcxx.diff libcxx/libcxx-silent-failure-ppc64el.diff libcxx/libcxx-silent-failure-arm64.diff +libcxx/libcxx-riscv64-cycletimer.diff # Change default optims mips-fpxx-enable.diff @@ -128,3 +129,6 @@ bootstrap-fix-include-next.diff # Python 3 0050-Remove-explicit-python-version-list.patch +# riscv64 +clang-riscv64-multiarch.diff +clang-riscv64-rv64gc.diff diff --git a/debian/rules b/debian/rules index 986ded67..6ea17377 100755 --- a/debian/rules +++ b/debian/rules @@ -53,9 +53,9 @@ ifneq (,$(filter $(DEB_HOST_ARCH),i386 armel mips mipsel powerpc powerpcspe risc CMAKE_EXTRA += -DLIBOMP_LIBFLAGS="-latomic" -DCMAKE_SHARED_LINKER_FLAGS="-latomic" endif -ifneq (,$(filter $(DEB_HOST_ARCH),armel)) +ifneq (,$(filter $(DEB_HOST_ARCH),armel riscv64)) # For some reason, in the stage2 build, when clang is used to compile -# itself. The atomic detection is failing on armel. Forcing the inclusion everywhere. +# itself. The atomic detection is failing on armel and riscv64. Forcing the inclusion everywhere. LDFLAGS_EXTRA += -latomic endif From 5b015fc2886220c9298a4cbb1b4c2fb06ab8dc80 Mon Sep 17 00:00:00 2001 From: Sylvestre Ledru Date: Tue, 6 Aug 2019 09:15:06 +0200 Subject: [PATCH 04/27] * Disable /libcxx/libcxx-riscv64-cycletimer.diff (merged upstream) --- debian/changelog | 7 ++ .../libcxx/libcxx-riscv64-cycletimer.diff | 81 ------------------- debian/patches/series | 1 - 3 files changed, 7 insertions(+), 82 deletions(-) delete mode 100644 debian/patches/libcxx/libcxx-riscv64-cycletimer.diff diff --git a/debian/changelog b/debian/changelog index 8772ce09..2ef5cf62 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +llvm-toolchain-9 (1:9~svn367848-1~exp1) UNRELEASED; urgency=medium + + * experimental New snapshot release + * Disable /libcxx/libcxx-riscv64-cycletimer.diff (merged upstream) + + -- Sylvestre Ledru Tue, 06 Aug 2019 09:02:27 +0200 + llvm-toolchain-9 (1:9~+rc1-1~exp2) experimental; urgency=medium [ Gianfranco Costamagna ] diff --git a/debian/patches/libcxx/libcxx-riscv64-cycletimer.diff b/debian/patches/libcxx/libcxx-riscv64-cycletimer.diff deleted file mode 100644 index 18223264..00000000 --- a/debian/patches/libcxx/libcxx-riscv64-cycletimer.diff +++ /dev/null @@ -1,81 +0,0 @@ -commit 09e6304440c08fe72b6ac05f922ab9d8b7f1e387 -Author: Roger Ferrer Ibanez -Date: Wed Jul 24 05:33:46 2019 +0000 - - [RISCV] Implement benchmark::cycleclock::Now - - This is a cherrypick of D64237 onto llvm/utils/benchmark and - libcxx/utils/google-benchmark. - - Differential Revision: https://reviews.llvm.org/D65142 - - llvm-svn: 366868 - ---- a/libcxx/utils/google-benchmark/README.LLVM -+++ b/libcxx/utils/google-benchmark/README.LLVM -@@ -4,3 +4,9 @@ LLVM notes - This directory contains the Google Benchmark source code with some unnecessary - files removed. Note that this directory is under a different license than - libc++. -+ -+Changes: -+* https://github.com/google/benchmark/commit/4abdfbb802d1b514703223f5f852ce4a507d32d2 -+ is applied on top of -+ https://github.com/google/benchmark/commit/4528c76b718acc9b57956f63069c699ae21edcab -+ to add RISC-V timer support. ---- a/libcxx/utils/google-benchmark/src/cycleclock.h -+++ b/libcxx/utils/google-benchmark/src/cycleclock.h -@@ -164,6 +164,21 @@ inline BENCHMARK_ALWAYS_INLINE int64_t Now() { - uint64_t tsc; - asm("stck %0" : "=Q"(tsc) : : "cc"); - return tsc; -+#elif defined(__riscv) // RISC-V -+ // Use RDCYCLE (and RDCYCLEH on riscv32) -+#if __riscv_xlen == 32 -+ uint64_t cycles_low, cycles_hi0, cycles_hi1; -+ asm("rdcycleh %0" : "=r"(cycles_hi0)); -+ asm("rdcycle %0" : "=r"(cycles_lo)); -+ asm("rdcycleh %0" : "=r"(cycles_hi1)); -+ // This matches the PowerPC overflow detection, above -+ cycles_lo &= -static_cast(cycles_hi0 == cycles_hi1); -+ return (cycles_hi1 << 32) | cycles_lo; -+#else -+ uint64_t cycles; -+ asm("rdcycle %0" : "=r"(cycles)); -+ return cycles; -+#endif - #else - // The soft failover to a generic implementation is automatic only for ARM. - // For other platforms the developer is expected to make an attempt to create ---- a/utils/benchmark/README.LLVM -+++ b/utils/benchmark/README.LLVM -@@ -23,3 +23,5 @@ Changes: - is applied to disable exceptions in Microsoft STL when exceptions are disabled - * Disabled CMake get_git_version as it is meaningless for this in-tree build, - and hardcoded a null version -+* https://github.com/google/benchmark/commit/4abdfbb802d1b514703223f5f852ce4a507d32d2 -+ is applied on top of v1.4.1 to add RISC-V timer support. ---- a/utils/benchmark/src/cycleclock.h -+++ b/utils/benchmark/src/cycleclock.h -@@ -164,6 +164,21 @@ inline BENCHMARK_ALWAYS_INLINE int64_t Now() { - uint64_t tsc; - asm("stck %0" : "=Q" (tsc) : : "cc"); - return tsc; -+#elif defined(__riscv) // RISC-V -+ // Use RDCYCLE (and RDCYCLEH on riscv32) -+#if __riscv_xlen == 32 -+ uint64_t cycles_low, cycles_hi0, cycles_hi1; -+ asm("rdcycleh %0" : "=r"(cycles_hi0)); -+ asm("rdcycle %0" : "=r"(cycles_lo)); -+ asm("rdcycleh %0" : "=r"(cycles_hi1)); -+ // This matches the PowerPC overflow detection, above -+ cycles_lo &= -static_cast(cycles_hi0 == cycles_hi1); -+ return (cycles_hi1 << 32) | cycles_lo; -+#else -+ uint64_t cycles; -+ asm("rdcycle %0" : "=r"(cycles)); -+ return cycles; -+#endif - #else - // The soft failover to a generic implementation is automatic only for ARM. - // For other platforms the developer is expected to make an attempt to create diff --git a/debian/patches/series b/debian/patches/series index ed145221..29b96cd3 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -80,7 +80,6 @@ libcxx/libcxx-test-atomics-set-compare-exchange-to-be-expected-fails-on-arm.patc libcxx/libcxx-silent-test-libcxx.diff libcxx/libcxx-silent-failure-ppc64el.diff libcxx/libcxx-silent-failure-arm64.diff -libcxx/libcxx-riscv64-cycletimer.diff # Change default optims mips-fpxx-enable.diff From a8be648108f2aec649c5a6e6dad820dcc439b1d0 Mon Sep 17 00:00:00 2001 From: Gianfranco Costamagna Date: Tue, 6 Aug 2019 09:31:45 +0200 Subject: [PATCH 05/27] clangd: Fix breaks+replaces missing epoch (Closes: #934016) --- debian/control | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/debian/control b/debian/control index 86c233e1..7fa001be 100644 --- a/debian/control +++ b/debian/control @@ -87,8 +87,8 @@ Description: clang-based C++ linter tool Package: clangd-8 Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends} -Replaces: clang-tools-8 (<< 8.0.1-1) -Breaks: clang-tools-8 (<< 8.0.1-1) +Replaces: clang-tools-8 (<< 1:8.0.1-1) +Breaks: clang-tools-8 (<< 1:8.0.1-1) Description: Language server that provides IDE-like features to editors clangd understands your C++ code and adds smart features to your editor: - code completion From b6074403f56fe528f05fb61eb1fcf2416362d346 Mon Sep 17 00:00:00 2001 From: Gianfranco Costamagna Date: Tue, 6 Aug 2019 09:35:54 +0200 Subject: [PATCH 06/27] Add python to testsuite, still required by some test --- debian/tests/control | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/debian/tests/control b/debian/tests/control index 416d10da..b3b896bd 100644 --- a/debian/tests/control +++ b/debian/tests/control @@ -1,5 +1,5 @@ Test-Command: bash -v ./debian/qualify-clang.sh -Depends: @, cmake, g++, file, dpkg-dev +Depends: @, python, cmake, g++, file, dpkg-dev # Comment the dbgsym package because of bug #917528 # dbgsym packages not being available in testing # clang-8-dbgsym, libclang1-8-dbgsym From b504bf69c60649b48c7539999d631cbc57b47918 Mon Sep 17 00:00:00 2001 From: Gianfranco Costamagna Date: Tue, 6 Aug 2019 09:36:31 +0200 Subject: [PATCH 07/27] Update changelog, upload to unstable --- debian/changelog | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/debian/changelog b/debian/changelog index 951d2920..c45c46f3 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,11 @@ +llvm-toolchain-8 (1:8.0.1-2) unstable; urgency=medium + + [ Gianfranco Costamagna ] + * clangd: Fix breaks+replaces missing epoch (Closes: #934016) + * Add python to testsuite, still required by some test + + -- Gianfranco Costamagna Tue, 06 Aug 2019 09:36:11 +0200 + llvm-toolchain-8 (1:8.0.1-1) unstable; urgency=medium * New stable release From dc5e73ff9506ed1bee0e75445364822f70da19dd Mon Sep 17 00:00:00 2001 From: Gianfranco Costamagna Date: Tue, 6 Aug 2019 09:38:23 +0200 Subject: [PATCH 08/27] clangd: Fix break/replaces missing epoch --- debian/control | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/debian/control b/debian/control index 2e2eff57..f6f5d831 100644 --- a/debian/control +++ b/debian/control @@ -87,8 +87,8 @@ Description: clang-based C++ linter tool Package: clangd-9 Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends} -Replaces: clang-tools-9 (<< 9~+rc1-1~exp2) -Breaks: clang-tools-9 (<< 9~+rc1-1~exp2) +Replaces: clang-tools-9 (<< 1:9~+rc1-1~exp2) +Breaks: clang-tools-9 (<< 1:9~+rc1-1~exp2) Description: Language server that provides IDE-like features to editors clangd understands your C++ code and adds smart features to your editor: - code completion From d1317735607add8b6de1f2bddd394ad8ef1b030f Mon Sep 17 00:00:00 2001 From: Gianfranco Costamagna Date: Tue, 6 Aug 2019 09:40:33 +0200 Subject: [PATCH 09/27] Add python to testsuite --- debian/tests/control | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/debian/tests/control b/debian/tests/control index 88a1086c..89a8bcfc 100644 --- a/debian/tests/control +++ b/debian/tests/control @@ -1,5 +1,5 @@ Test-Command: bash -v ./debian/qualify-clang.sh -Depends: @, cmake, g++, file, dpkg-dev +Depends: @, python, cmake, g++, file, dpkg-dev # Comment the dbgsym package because of bug #917528 # dbgsym packages not being available in testing # clang-9-dbgsym, libclang1-9-dbgsym From e89a57e14f07b4f8c5fe12c0942ba1467e0efa09 Mon Sep 17 00:00:00 2001 From: Gianfranco Costamagna Date: Tue, 6 Aug 2019 09:41:05 +0200 Subject: [PATCH 10/27] Update changelog --- debian/changelog | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/debian/changelog b/debian/changelog index 2ef5cf62..d54e302e 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,9 +1,14 @@ llvm-toolchain-9 (1:9~svn367848-1~exp1) UNRELEASED; urgency=medium + [ Sylvestre Ledru ] * experimental New snapshot release * Disable /libcxx/libcxx-riscv64-cycletimer.diff (merged upstream) - -- Sylvestre Ledru Tue, 06 Aug 2019 09:02:27 +0200 + [ Gianfranco Costamagna ] + * clangd: Fix break/replaces missing epoch + * Add python to testsuite + + -- Gianfranco Costamagna Tue, 06 Aug 2019 09:40:44 +0200 llvm-toolchain-9 (1:9~+rc1-1~exp2) experimental; urgency=medium From 18ce18b7c7bde7045fb191bda8e539eb6ad8975e Mon Sep 17 00:00:00 2001 From: Sylvestre Ledru Date: Tue, 6 Aug 2019 09:47:55 +0200 Subject: [PATCH 11/27] Revert "* Disable /libcxx/libcxx-riscv64-cycletimer.diff (merged upstream)" This reverts commit 5b015fc2886220c9298a4cbb1b4c2fb06ab8dc80. --- debian/changelog | 13 +-- .../libcxx/libcxx-riscv64-cycletimer.diff | 81 +++++++++++++++++++ debian/patches/series | 1 + 3 files changed, 83 insertions(+), 12 deletions(-) create mode 100644 debian/patches/libcxx/libcxx-riscv64-cycletimer.diff diff --git a/debian/changelog b/debian/changelog index d54e302e..c73d603c 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,19 +1,8 @@ -llvm-toolchain-9 (1:9~svn367848-1~exp1) UNRELEASED; urgency=medium - - [ Sylvestre Ledru ] - * experimental New snapshot release - * Disable /libcxx/libcxx-riscv64-cycletimer.diff (merged upstream) - - [ Gianfranco Costamagna ] - * clangd: Fix break/replaces missing epoch - * Add python to testsuite - - -- Gianfranco Costamagna Tue, 06 Aug 2019 09:40:44 +0200 - llvm-toolchain-9 (1:9~+rc1-1~exp2) experimental; urgency=medium [ Gianfranco Costamagna ] * Fixed wrong shlib generation of libomp5 library + * Add python to testsuite [ Sylvestre Ledru ] * Move lit-cpuid from llvm-tools to lldb (wrong package) diff --git a/debian/patches/libcxx/libcxx-riscv64-cycletimer.diff b/debian/patches/libcxx/libcxx-riscv64-cycletimer.diff new file mode 100644 index 00000000..18223264 --- /dev/null +++ b/debian/patches/libcxx/libcxx-riscv64-cycletimer.diff @@ -0,0 +1,81 @@ +commit 09e6304440c08fe72b6ac05f922ab9d8b7f1e387 +Author: Roger Ferrer Ibanez +Date: Wed Jul 24 05:33:46 2019 +0000 + + [RISCV] Implement benchmark::cycleclock::Now + + This is a cherrypick of D64237 onto llvm/utils/benchmark and + libcxx/utils/google-benchmark. + + Differential Revision: https://reviews.llvm.org/D65142 + + llvm-svn: 366868 + +--- a/libcxx/utils/google-benchmark/README.LLVM ++++ b/libcxx/utils/google-benchmark/README.LLVM +@@ -4,3 +4,9 @@ LLVM notes + This directory contains the Google Benchmark source code with some unnecessary + files removed. Note that this directory is under a different license than + libc++. ++ ++Changes: ++* https://github.com/google/benchmark/commit/4abdfbb802d1b514703223f5f852ce4a507d32d2 ++ is applied on top of ++ https://github.com/google/benchmark/commit/4528c76b718acc9b57956f63069c699ae21edcab ++ to add RISC-V timer support. +--- a/libcxx/utils/google-benchmark/src/cycleclock.h ++++ b/libcxx/utils/google-benchmark/src/cycleclock.h +@@ -164,6 +164,21 @@ inline BENCHMARK_ALWAYS_INLINE int64_t Now() { + uint64_t tsc; + asm("stck %0" : "=Q"(tsc) : : "cc"); + return tsc; ++#elif defined(__riscv) // RISC-V ++ // Use RDCYCLE (and RDCYCLEH on riscv32) ++#if __riscv_xlen == 32 ++ uint64_t cycles_low, cycles_hi0, cycles_hi1; ++ asm("rdcycleh %0" : "=r"(cycles_hi0)); ++ asm("rdcycle %0" : "=r"(cycles_lo)); ++ asm("rdcycleh %0" : "=r"(cycles_hi1)); ++ // This matches the PowerPC overflow detection, above ++ cycles_lo &= -static_cast(cycles_hi0 == cycles_hi1); ++ return (cycles_hi1 << 32) | cycles_lo; ++#else ++ uint64_t cycles; ++ asm("rdcycle %0" : "=r"(cycles)); ++ return cycles; ++#endif + #else + // The soft failover to a generic implementation is automatic only for ARM. + // For other platforms the developer is expected to make an attempt to create +--- a/utils/benchmark/README.LLVM ++++ b/utils/benchmark/README.LLVM +@@ -23,3 +23,5 @@ Changes: + is applied to disable exceptions in Microsoft STL when exceptions are disabled + * Disabled CMake get_git_version as it is meaningless for this in-tree build, + and hardcoded a null version ++* https://github.com/google/benchmark/commit/4abdfbb802d1b514703223f5f852ce4a507d32d2 ++ is applied on top of v1.4.1 to add RISC-V timer support. +--- a/utils/benchmark/src/cycleclock.h ++++ b/utils/benchmark/src/cycleclock.h +@@ -164,6 +164,21 @@ inline BENCHMARK_ALWAYS_INLINE int64_t Now() { + uint64_t tsc; + asm("stck %0" : "=Q" (tsc) : : "cc"); + return tsc; ++#elif defined(__riscv) // RISC-V ++ // Use RDCYCLE (and RDCYCLEH on riscv32) ++#if __riscv_xlen == 32 ++ uint64_t cycles_low, cycles_hi0, cycles_hi1; ++ asm("rdcycleh %0" : "=r"(cycles_hi0)); ++ asm("rdcycle %0" : "=r"(cycles_lo)); ++ asm("rdcycleh %0" : "=r"(cycles_hi1)); ++ // This matches the PowerPC overflow detection, above ++ cycles_lo &= -static_cast(cycles_hi0 == cycles_hi1); ++ return (cycles_hi1 << 32) | cycles_lo; ++#else ++ uint64_t cycles; ++ asm("rdcycle %0" : "=r"(cycles)); ++ return cycles; ++#endif + #else + // The soft failover to a generic implementation is automatic only for ARM. + // For other platforms the developer is expected to make an attempt to create diff --git a/debian/patches/series b/debian/patches/series index 29b96cd3..ed145221 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -80,6 +80,7 @@ libcxx/libcxx-test-atomics-set-compare-exchange-to-be-expected-fails-on-arm.patc libcxx/libcxx-silent-test-libcxx.diff libcxx/libcxx-silent-failure-ppc64el.diff libcxx/libcxx-silent-failure-arm64.diff +libcxx/libcxx-riscv64-cycletimer.diff # Change default optims mips-fpxx-enable.diff From 021c3a6661d7f4028fb56408db1904eaa15a5afc Mon Sep 17 00:00:00 2001 From: Gianfranco Costamagna Date: Wed, 7 Aug 2019 15:19:28 +0200 Subject: [PATCH 12/27] Fix testsuite, bring back some python2 dependencies --- debian/changelog | 7 +++++++ debian/control | 3 ++- debian/tests/control | 2 +- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/debian/changelog b/debian/changelog index c45c46f3..94ac8593 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +llvm-toolchain-8 (1:8.0.1-3) UNRELEASED; urgency=medium + + * llvm-tools: depend on python2 packages too, the move to python3 was + premature and broke opt-viewer.py + + -- Gianfranco Costamagna Wed, 07 Aug 2019 15:11:36 +0200 + llvm-toolchain-8 (1:8.0.1-2) unstable; urgency=medium [ Gianfranco Costamagna ] diff --git a/debian/control b/debian/control index 7fa001be..93ea9997 100644 --- a/debian/control +++ b/debian/control @@ -306,7 +306,8 @@ Description: Modular compiler and toolchain technologies, libraries and headers Package: llvm-8-tools Architecture: any -Depends: ${shlibs:Depends}, ${misc:Depends}, python3, +Depends: ${shlibs:Depends}, ${misc:Depends}, python, python3, + python-pygments, python-yaml, python3-pygments, python3-yaml, llvm-8-dev (= ${binary:Version}) Description: Modular compiler and toolchain technologies, tools diff --git a/debian/tests/control b/debian/tests/control index b3b896bd..416d10da 100644 --- a/debian/tests/control +++ b/debian/tests/control @@ -1,5 +1,5 @@ Test-Command: bash -v ./debian/qualify-clang.sh -Depends: @, python, cmake, g++, file, dpkg-dev +Depends: @, cmake, g++, file, dpkg-dev # Comment the dbgsym package because of bug #917528 # dbgsym packages not being available in testing # clang-8-dbgsym, libclang1-8-dbgsym From 9fc3502795defbd30474644933ecb791da15bc4a Mon Sep 17 00:00:00 2001 From: Gianfranco Costamagna Date: Thu, 8 Aug 2019 13:53:54 +0200 Subject: [PATCH 13/27] Upload to unstable --- debian/changelog | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/debian/changelog b/debian/changelog index 94ac8593..9cb6a616 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,4 @@ -llvm-toolchain-8 (1:8.0.1-3) UNRELEASED; urgency=medium +llvm-toolchain-8 (1:8.0.1-3) unstable; urgency=medium * llvm-tools: depend on python2 packages too, the move to python3 was premature and broke opt-viewer.py From f032126450d13d34545ce1d5e9c48bce0a6cfba4 Mon Sep 17 00:00:00 2001 From: Gianfranco Costamagna Date: Thu, 8 Aug 2019 13:59:15 +0200 Subject: [PATCH 14/27] Add back python-* dependencies to fix tools not really ready for python3 --- debian/control | 7 ++++--- debian/tests/control | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/debian/control b/debian/control index f6f5d831..fcb10f52 100644 --- a/debian/control +++ b/debian/control @@ -327,7 +327,8 @@ Description: Modular compiler and toolchain technologies, libraries and headers Package: llvm-9-tools Architecture: any -Depends: ${shlibs:Depends}, ${misc:Depends}, python3, +Depends: ${shlibs:Depends}, ${misc:Depends}, python, python3, + python-pygments, python-yaml, python3-pygments, python3-yaml, llvm-9-dev (= ${binary:Version}) Description: Modular compiler and toolchain technologies, tools @@ -456,8 +457,8 @@ Architecture: amd64 arm64 armel armhf i386 mips mipsel mips64el ppc64el kfreebsd Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm9 (= ${binary:Version}), llvm-9-dev, python-lldb-9 Pre-Depends: ${misc:Pre-Depends} -Replaces: llvm-9-tools (<< 9~+rc1-1~exp2) -Breaks: llvm-9-tools (<< 9~+rc1-1~exp2) +Replaces: llvm-9-tools (<< 1:9~+rc1-1~exp2) +Breaks: llvm-9-tools (<< 1:9~+rc1-1~exp2) Description: Next generation, high-performance debugger LLDB is a next generation, high-performance debugger. It is built as a set of reusable components which highly leverage existing libraries in the larger LLVM diff --git a/debian/tests/control b/debian/tests/control index 89a8bcfc..88a1086c 100644 --- a/debian/tests/control +++ b/debian/tests/control @@ -1,5 +1,5 @@ Test-Command: bash -v ./debian/qualify-clang.sh -Depends: @, python, cmake, g++, file, dpkg-dev +Depends: @, cmake, g++, file, dpkg-dev # Comment the dbgsym package because of bug #917528 # dbgsym packages not being available in testing # clang-9-dbgsym, libclang1-9-dbgsym From eae79168e802ae135ca47266967b9924eb6ab4ae Mon Sep 17 00:00:00 2001 From: Gianfranco Costamagna Date: Thu, 8 Aug 2019 14:00:04 +0200 Subject: [PATCH 15/27] cherry-pick fixes from branch 8 --- debian/changelog | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/debian/changelog b/debian/changelog index c73d603c..9976499b 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +llvm-toolchain-9 (1:9~+rc1-1~exp3) UNRELEASED; urgency=medium + + * Add back python-* dependencies to fix tools not really ready for python3 + * Fix missing epoch in breaks/replaces + + -- Gianfranco Costamagna Thu, 08 Aug 2019 13:59:36 +0200 + llvm-toolchain-9 (1:9~+rc1-1~exp2) experimental; urgency=medium [ Gianfranco Costamagna ] From e236897311c8bf989c7f151cdc87898863c82733 Mon Sep 17 00:00:00 2001 From: Sylvestre Ledru Date: Mon, 12 Aug 2019 16:50:41 +0200 Subject: [PATCH 16/27] remove a patch applied upstream --- debian/patches/series | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/debian/patches/series b/debian/patches/series index ed145221..f842dca5 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -80,7 +80,7 @@ libcxx/libcxx-test-atomics-set-compare-exchange-to-be-expected-fails-on-arm.patc libcxx/libcxx-silent-test-libcxx.diff libcxx/libcxx-silent-failure-ppc64el.diff libcxx/libcxx-silent-failure-arm64.diff -libcxx/libcxx-riscv64-cycletimer.diff +#libcxx/libcxx-riscv64-cycletimer.diff # Change default optims mips-fpxx-enable.diff From 6f11beee9f479c5e9a9d8fe96acad887c4885d7d Mon Sep 17 00:00:00 2001 From: Sylvestre Ledru Date: Wed, 14 Aug 2019 10:46:00 +0200 Subject: [PATCH 17/27] New snapshot release --- debian/changelog | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/debian/changelog b/debian/changelog index 9976499b..677adf51 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,9 +1,13 @@ -llvm-toolchain-9 (1:9~+rc1-1~exp3) UNRELEASED; urgency=medium +llvm-toolchain-9 (1:9~+rc2-1~exp1) experimental; urgency=medium + [ Gianfranco Costamagna ] * Add back python-* dependencies to fix tools not really ready for python3 * Fix missing epoch in breaks/replaces - -- Gianfranco Costamagna Thu, 08 Aug 2019 13:59:36 +0200 + [ Sylvestre Ledru ] + * New snapshot release + + -- Sylvestre Ledru Wed, 14 Aug 2019 10:36:17 +0200 llvm-toolchain-9 (1:9~+rc1-1~exp2) experimental; urgency=medium From 0722b60ff1e8f625530c26ac656420bb3b933e67 Mon Sep 17 00:00:00 2001 From: Sylvestre Ledru Date: Thu, 22 Aug 2019 18:18:47 +0200 Subject: [PATCH 18/27] Try to fix the mips* ftbfs See bug 43011 --- debian/changelog | 7 +++++++ debian/patches/bug-43011-mips.diff | 13 +++++++++++++ debian/patches/series | 1 + 3 files changed, 21 insertions(+) create mode 100644 debian/patches/bug-43011-mips.diff diff --git a/debian/changelog b/debian/changelog index 677adf51..c1a3821c 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +llvm-toolchain-9 (1:9~+rc2-1~exp2) experimental; urgency=medium + + * Try to fix the mips* ftbfs + See bug 43011 + + -- Sylvestre Ledru Thu, 22 Aug 2019 18:17:32 +0200 + llvm-toolchain-9 (1:9~+rc2-1~exp1) experimental; urgency=medium [ Gianfranco Costamagna ] diff --git a/debian/patches/bug-43011-mips.diff b/debian/patches/bug-43011-mips.diff new file mode 100644 index 00000000..20933483 --- /dev/null +++ b/debian/patches/bug-43011-mips.diff @@ -0,0 +1,13 @@ +Index: llvm-toolchain-9-9~+rc1/libcxx/include/__locale +=================================================================== +--- llvm-toolchain-9-9~+rc1.orig/libcxx/include/__locale ++++ llvm-toolchain-9-9~+rc1/libcxx/include/__locale +@@ -409,7 +409,7 @@ public: + static const mask xdigit = _ISxdigit; + static const mask blank = _ISblank; + #if defined(__mips__) +- static const mask __regex_word = static_cast(_ISbit(15)); ++ static const mask __regex_word = static_cast(_ISbit(15)); + #else + static const mask __regex_word = 0x80; + #endif diff --git a/debian/patches/series b/debian/patches/series index f842dca5..04236227 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -132,3 +132,4 @@ bootstrap-fix-include-next.diff # riscv64 clang-riscv64-multiarch.diff clang-riscv64-rv64gc.diff +bug-43011-mips.diff From 32c2b82ef607e4d1235f3c12a03f9c8e6b8f77ea Mon Sep 17 00:00:00 2001 From: Sylvestre Ledru Date: Fri, 23 Aug 2019 15:02:53 +0200 Subject: [PATCH 19/27] Fix the mips* FTBFS See bug 43011 upstream --- debian/changelog | 7 +++++++ debian/patches/ftbfs-mips-bug-43011.diff | 13 +++++++++++++ debian/patches/series | 4 +++- 3 files changed, 23 insertions(+), 1 deletion(-) create mode 100644 debian/patches/ftbfs-mips-bug-43011.diff diff --git a/debian/changelog b/debian/changelog index 677adf51..969ecd5a 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +llvm-toolchain-9 (1:9~+rc2-1~exp2) experimental; urgency=medium + + * Fix the mips* FTBFS + See bug 43011 upstream + + -- Sylvestre Ledru Fri, 23 Aug 2019 15:02:14 +0200 + llvm-toolchain-9 (1:9~+rc2-1~exp1) experimental; urgency=medium [ Gianfranco Costamagna ] diff --git a/debian/patches/ftbfs-mips-bug-43011.diff b/debian/patches/ftbfs-mips-bug-43011.diff new file mode 100644 index 00000000..a9d32533 --- /dev/null +++ b/debian/patches/ftbfs-mips-bug-43011.diff @@ -0,0 +1,13 @@ +Index: llvm-toolchain-9_9~+rc1/libcxx/include/__locale +=================================================================== +--- llvm-toolchain-9_9~+rc1.orig/libcxx/include/__locale ++++ llvm-toolchain-9_9~+rc1/libcxx/include/__locale +@@ -409,7 +409,7 @@ public: + static const mask xdigit = _ISxdigit; + static const mask blank = _ISblank; + #if defined(__mips__) +- static const mask __regex_word = static_cast(_ISbit(15)); ++ static const mask __regex_word = static_cast(_ISbit(15)); + #else + static const mask __regex_word = 0x80; + #endif diff --git a/debian/patches/series b/debian/patches/series index f842dca5..f5b81fe2 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -80,7 +80,6 @@ libcxx/libcxx-test-atomics-set-compare-exchange-to-be-expected-fails-on-arm.patc libcxx/libcxx-silent-test-libcxx.diff libcxx/libcxx-silent-failure-ppc64el.diff libcxx/libcxx-silent-failure-arm64.diff -#libcxx/libcxx-riscv64-cycletimer.diff # Change default optims mips-fpxx-enable.diff @@ -132,3 +131,6 @@ bootstrap-fix-include-next.diff # riscv64 clang-riscv64-multiarch.diff clang-riscv64-rv64gc.diff + +ftbfs-mips-bug-43011.diff + From 027e39814816d40cffd4f82332f7aab07de50f2e Mon Sep 17 00:00:00 2001 From: Sylvestre Ledru Date: Mon, 26 Aug 2019 17:56:19 +0200 Subject: [PATCH 20/27] Update of the license file. Upstream moved to Apache 2 with LLVM exception (Closes: #935149) --- debian/changelog | 7 + debian/copyright | 557 ++++++++++++++++++----------------------------- 2 files changed, 216 insertions(+), 348 deletions(-) diff --git a/debian/changelog b/debian/changelog index 969ecd5a..e2e20d13 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +llvm-toolchain-9 (1:9~+rc2-1~exp3) experimental; urgency=medium + + * Update of the license file. Upstream moved to Apache 2 + with LLVM exception (Closes: #935149) + + -- + llvm-toolchain-9 (1:9~+rc2-1~exp2) experimental; urgency=medium * Fix the mips* FTBFS diff --git a/debian/copyright b/debian/copyright index dce9d49b..ce3c541b 100644 --- a/debian/copyright +++ b/debian/copyright @@ -4,108 +4,232 @@ Source: https://llvm.org/releases/download.html Files: * Copyright: 2003-2017 University of Illinois at Urbana-Champaign. -License: U-OF-I-BSD-LIKE - -Files: */install-sh -Copyright: 1994 X Consortium -License: LLVM - This script is licensed under the LLVM license, with the following - additional copyrights and restrictions: - . - Copyright 1991 by the Massachusetts Institute of Technology - . - Permission to use, copy, modify, distribute, and sell this software and its - documentation for any purpose is hereby granted without fee, provided that - the above copyright notice appear in all copies and that both that - copyright notice and this permission notice appear in supporting - documentation, and that the name of M.I.T. not be used in advertising or - publicity pertaining to distribution of the software without specific, - written prior permission. M.I.T. makes no representations about the - suitability of this software for any purpose. It is provided "as is" - without express or implied warranty. - . +License: APACHE-2-LLVM-EXCEPTIONS ============================================================================== - LLVM Release License + The LLVM Project is under the Apache License v2.0 with LLVM Exceptions: ============================================================================== - University of Illinois/NCSA - Open Source License . - Copyright (c) 2003-2013 University of Illinois at Urbana-Champaign. - All rights reserved. + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION . - Developed by: + 1. Definitions. . - LLVM Team + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. . - University of Illinois at Urbana-Champaign + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. . - http://llvm.org + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. . - Permission is hereby granted, free of charge, to any person obtaining a copy of - this software and associated documentation files (the "Software"), to deal with - the Software without restriction, including without limitation the rights to - use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies - of the Software, and to permit persons to whom the Software is furnished to do - so, subject to the following conditions: + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. . - * Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimers. + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. . - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimers in the - documentation and/or other materials provided with the distribution. + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. . - * Neither the names of the LLVM Team, University of Illinois at - Urbana-Champaign, nor the names of its contributors may be used to - endorse or promote products derived from this Software without specific - prior written permission. + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). . - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS - FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE - SOFTWARE. + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + . + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + . + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + . + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + . + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + . + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + . + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + . + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + . + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + . + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + . + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + . + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + . + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + . + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + . + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + . + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + . + END OF TERMS AND CONDITIONS + . + APPENDIX: How to apply the Apache License to your work. + . + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + . + Copyright [yyyy] [name of copyright owner] + . + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + . + http://www.apache.org/licenses/LICENSE-2.0 + . + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + . + ---- 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: clang/lib/Headers/* Copyright: 2003-2007 University of Illinois at Urbana-Champaign License: Expat -Files: clang/lib/Headers/iso646.h -Copyright: 2008 Eli Friedman -License: Expat - -Files: clang/lib/Headers/limits.h -Copyright: 2009 Chris Lattner -License: Expat - -Files: clang/lib/Headers/stdarg.h -Copyright: 2008 Eli Friedman -License: Expat - -Files: clang/lib/Headers/stdbool.h -Copyright: 2008 Eli Friedman -License: Expat - -Files: clang/lib/Headers/stddef.h -Copyright: 2008 Eli Friedman -License: Expat - -Files: clang/lib/Headers/stdint.h -Copyright: 2009 Chris Lattner -License: Expat - -Files: clang/lib/Headers/tgmath.h -Copyright: 2009 Howard Hinnant -License: Expat - -Files: compiler-rt/* -Copyright: 2009-2013 Craig van Vliet - 2009-2013 Edward O'Callaghan - 2009-2013 Howard Hinnant -License: U-OF-I-BSD-LIKE or MIT - Files: compiler-rt/lib/BlocksRuntime/Block.h Copyright: 2008-2010 Apple, Inc. License: MIT @@ -122,11 +246,6 @@ Files: compiler-rt/lib/BlocksRuntime/runtime.c Copyright: 2008-2010 Apple, Inc. License: MIT -Files: include/llvm/Support/* -Copyright: 2003-2013 University of Illinois at Urbana-Champaign. - Copyright (C) 2004 eXtensible Systems, Inc. -License: U-OF-I-BSD-LIKE - Files: lib/Support/reg* Copyright: 1992, 1993, 1994 Henry Spencer 1992, 1993, 1994 The Regents of the University of California @@ -147,122 +266,6 @@ License: solar-public-domain . * There's ABSOLUTELY NO WARRANTY, express or implied. -Files: lib/Target/ARM/* -Copyright: ARM Limited -License: ARM - ARM Limited - . - Software Grant License Agreement ("Agreement") - . - Except for the license granted herein to you, ARM Limited ("ARM") reserves all - right, title, and interest in and to the Software (defined below). - . - Definition - . - "Software" means the code and documentation as well as any original work of - authorship, including any modifications or additions to an existing work, that - is intentionally submitted by ARM to llvm.org (http://llvm.org) ("LLVM") for - inclusion in, or documentation of, any of the products owned or managed by LLVM - (the "Work"). For the purposes of this definition, "submitted" means any form of - electronic, verbal, or written communication sent to LLVM or its - representatives, including but not limited to communication on electronic - mailing lists, source code control systems, and issue tracking systems that are - managed by, or on behalf of, LLVM for the purpose of discussing and improving - the Work, but excluding communication that is conspicuously marked otherwise. - . - 1. Grant of Copyright License. Subject to the terms and conditions of this - Agreement, ARM hereby grants to you and to recipients of the Software - distributed by LLVM a perpetual, worldwide, non-exclusive, no-charge, - royalty-free, irrevocable copyright license to reproduce, prepare derivative - works of, publicly display, publicly perform, sublicense, and distribute the - Software and such derivative works. - . - 2. Grant of Patent License. Subject to the terms and conditions of this - Agreement, ARM hereby grants you and to recipients of the Software - distributed by LLVM a perpetual, worldwide, non-exclusive, no-charge, - royalty-free, irrevocable (except as stated in this section) patent license - to make, have made, use, offer to sell, sell, import, and otherwise transfer - the Work, where such license applies only to those patent claims licensable - by ARM that are necessarily infringed by ARM's Software alone or by - combination of the Software with the Work to which such Software was - submitted. If any entity institutes patent litigation against ARM or any - other entity (including a cross-claim or counterclaim in a lawsuit) alleging - that ARM's Software, or the Work to which ARM has contributed constitutes - direct or contributory patent infringement, then any patent licenses granted - to that entity under this Agreement for the Software or Work shall terminate - as of the date such litigation is filed. - . - Unless required by applicable law or agreed to in writing, the software is - provided on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, - either express or implied, including, without limitation, any warranties or - conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. - -Files: lldb/* -Copyright: 2010, 2012 Apple Inc. -License: NCSA - University of Illinois/NCSA - Open Source License - . - Copyright (c) 2010 Apple Inc. - All rights reserved. - . - Developed by: - . - LLDB Team - . - http://lldb.llvm.org/ - . - Permission is hereby granted, free of charge, to any person obtaining a copy of - this software and associated documentation files (the "Software"), to deal with - the Software without restriction, including without limitation the rights to - use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies - of the Software, and to permit persons to whom the Software is furnished to do - so, subject to the following conditions: - . - * Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimers. - . - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimers in the - documentation and/or other materials provided with the distribution. - . - * Neither the names of the LLDB Team, copyright holders, nor the names of - its contributors may be used to endorse or promote products derived from - this Software without specific prior written permission. - . - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS - FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE - SOFTWARE. - -Files: lldb/test/pexpect-2.4/* -Copyright: 2008 Noah Spurrier -License: Expat - -License: Expat - . - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - . - The above copyright notice and this permission notice shall be included in all - copies or substantial portions of the Software. - . - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, - DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR - OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE - USE OR OTHER DEALINGS IN THE SOFTWARE. - Files: lldb/test/unittest2/* Copyright: 1999-2003 Steve Purcell 2003-2010 Python Software Foundation @@ -282,48 +285,6 @@ License: Python AND THERE IS NO OBLIGATION WHATSOEVER TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -Files: polly/* -Copyright: 2009-2013 Polly Team -License: Polly - ============================================================================== - Polly Release License - ============================================================================== - University of Illinois/NCSA - Open Source License - . - Copyright (c) 2009-2013 Polly Team - All rights reserved. - . - Developed by: - . - Polly Team - . - Permission is hereby granted, free of charge, to any person obtaining a copy of - this software and associated documentation files (the "Software"), to deal with - the Software without restriction, including without limitation the rights to - use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies - of the Software, and to permit persons to whom the Software is furnished to do - so, subject to the following conditions: - . - * Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimers. - . - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimers in the - documentation and/or other materials provided with the distribution. - . - * Neither the names of the Polly Team, copyright holders, nor the names of - its contributors may be used to endorse or promote products derived from - this Software without specific prior written permission. - . - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS - FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE - SOFTWARE. - Files: polly/lib/JSON/* Copyright: Polly Team License: public-domain @@ -379,106 +340,6 @@ License: BSD-3-Clause misrepresented as being the original software. 3. This notice may not be removed or altered from any source distribution. -Files: libcxx*/* -Copyright: 2009-2012 by the contributors listed below - N: Howard Hinnant - E: hhinnant@apple.com - D: Architect and primary author of libc++ - . - N: Marshall Clow - E: marshall@idio.com - E: mclow@qualcomm.com - D: Minor patches and bug fixes. - . - N: Bjorn Reese - E: breese@users.sourceforge.net - D: Initial regex prototype - . - N: David Chisnall - E: theraven at theravensnest dot org - D: FreeBSD and Solaris ports, libcxxrt support, some atomics work. - . - N: Ruben Van Boxem - E: vanboxem dot ruben at gmail dot com - D: Initial Windows patches. - . - N: Arvid Picciani - E: aep at exys dot org - D: Minor patches and musl port. - . - N: Craig Silverstein - E: csilvers@google.com - D: Implemented Cityhash as the string hash function on 64-bit machines - . - N: Google Inc. - D: Copyright owner and contributor of the CityHash algorithm - . - N: Jeffrey Yasskin - E: jyasskin@gmail.com - E: jyasskin@google.com - D: Linux fixes. - . - N: Jonathan Sauer - D: Minor patches, mostly related to constexpr - . - N: Richard Smith - D: Minor patches. - . - The list is sorted by surname and formatted to allow easy grepping and - beautification by scripts. The fields are: name (N), email (E), web-address - (W), PGP key ID and fingerprint (P), description (D), and snail-mail address - (S). - . -License: NCSA or MIT - -Files: openmp/* -Copyright: 1997-2015 Intel Corporation -License: U-OF-I-BSD-LIKE - -License: U-OF-I-BSD-LIKE - ============================================================================== - LLVM Release License - ============================================================================== - University of Illinois/NCSA - Open Source License - . - Copyright (c) 2003-2017 University of Illinois at Urbana-Champaign. - All rights reserved. - . - Developed by: - . - LLVM Team - . - University of Illinois at Urbana-Champaign - . - http://llvm.org - . - Permission is hereby granted, free of charge, to any person obtaining a copy of - this software and associated documentation files (the "Software"), to deal with - the Software without restriction, including without limitation the rights to - use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies - of the Software, and to permit persons to whom the Software is furnished to do - so, subject to the following conditions: - . - * Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimers. - . - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimers in the - documentation and/or other materials provided with the distribution. - . - * Neither the names of the LLVM Team, University of Illinois at - Urbana-Champaign, nor the names of its contributors may be used to - endorse or promote products derived from this Software without specific - prior written permission. - . - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS - FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE - SOFTWARE. License: MIT Permission is hereby granted, free of charge, to any person obtaining a copy From 8b625e441720df6f6b1f08899137e4389cd5ea10 Mon Sep 17 00:00:00 2001 From: Sylvestre Ledru Date: Tue, 27 Aug 2019 23:45:59 +0200 Subject: [PATCH 21/27] * remove 0050-Remove-explicit-python-version-list.patch bug-43011-mips.diff as they are merged upstream --- debian/changelog | 8 +++++++ ...-Remove-explicit-python-version-list.patch | 23 ------------------- debian/patches/bug-43011-mips.diff | 13 ----------- debian/patches/series | 4 ---- 4 files changed, 8 insertions(+), 40 deletions(-) delete mode 100644 debian/patches/0050-Remove-explicit-python-version-list.patch delete mode 100644 debian/patches/bug-43011-mips.diff diff --git a/debian/changelog b/debian/changelog index c1a3821c..301cdaae 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,11 @@ +llvm-toolchain-9 (1:9~svn370077-1~exp1) UNRELEASED; urgency=medium + + * experimental New snapshot release + * remove 0050-Remove-explicit-python-version-list.patch + bug-43011-mips.diff as they are merged upstream + + -- Sylvestre Ledru Tue, 27 Aug 2019 23:38:11 +0200 + llvm-toolchain-9 (1:9~+rc2-1~exp2) experimental; urgency=medium * Try to fix the mips* ftbfs diff --git a/debian/patches/0050-Remove-explicit-python-version-list.patch b/debian/patches/0050-Remove-explicit-python-version-list.patch deleted file mode 100644 index ecab55e9..00000000 --- a/debian/patches/0050-Remove-explicit-python-version-list.patch +++ /dev/null @@ -1,23 +0,0 @@ -From 61caa3a0c61fd4f2a049e9a14b5f4f74354dbb29 Mon Sep 17 00:00:00 2001 -From: Christian Biesinger -Date: Thu, 18 Jul 2019 14:52:36 -0500 -Subject: [PATCH] Remove explicit python version list - -This is required to make -DPYTHON_EXECUTABLE work correctly ---- - llvm/CMakeLists.txt | 4 ---- - 1 file changed, 4 deletions(-) - -Index: llvm-toolchain-9_9~svn366428/CMakeLists.txt -=================================================================== ---- llvm-toolchain-9_9~svn366428.orig/CMakeLists.txt -+++ llvm-toolchain-9_9~svn366428/CMakeLists.txt -@@ -643,7 +643,7 @@ option(LLVM_ENABLE_PLUGINS "Enable plugi - include(HandleLLVMOptions) - - # We support both Python 2 and 3. --set(Python_ADDITIONAL_VERSIONS 3.7 3.6 3.5 2.7) -+set(Python_ADDITIONAL_VERSIONS 3.7 3.6 3.5) - include(FindPythonInterp) - if( NOT PYTHONINTERP_FOUND ) - message(FATAL_ERROR diff --git a/debian/patches/bug-43011-mips.diff b/debian/patches/bug-43011-mips.diff deleted file mode 100644 index 20933483..00000000 --- a/debian/patches/bug-43011-mips.diff +++ /dev/null @@ -1,13 +0,0 @@ -Index: llvm-toolchain-9-9~+rc1/libcxx/include/__locale -=================================================================== ---- llvm-toolchain-9-9~+rc1.orig/libcxx/include/__locale -+++ llvm-toolchain-9-9~+rc1/libcxx/include/__locale -@@ -409,7 +409,7 @@ public: - static const mask xdigit = _ISxdigit; - static const mask blank = _ISblank; - #if defined(__mips__) -- static const mask __regex_word = static_cast(_ISbit(15)); -+ static const mask __regex_word = static_cast(_ISbit(15)); - #else - static const mask __regex_word = 0x80; - #endif diff --git a/debian/patches/series b/debian/patches/series index 04236227..76eeffc0 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -126,10 +126,6 @@ kfreebsd/tools_llvm-shlib_CMakeLists.txt.diff 930008-arm.diff bootstrap-fix-include-next.diff -# Python 3 -0050-Remove-explicit-python-version-list.patch - # riscv64 clang-riscv64-multiarch.diff clang-riscv64-rv64gc.diff -bug-43011-mips.diff From 3142b167ba376e0813db4643d50b440dbaaf0657 Mon Sep 17 00:00:00 2001 From: Sylvestre Ledru Date: Wed, 28 Aug 2019 09:29:38 +0200 Subject: [PATCH 22/27] remove patch applied upstream --- debian/changelog | 2 -- debian/patches/ftbfs-mips-bug-43011.diff | 13 ------------- debian/patches/series | 2 -- 3 files changed, 17 deletions(-) delete mode 100644 debian/patches/ftbfs-mips-bug-43011.diff diff --git a/debian/changelog b/debian/changelog index bc9fe725..2d977dc6 100644 --- a/debian/changelog +++ b/debian/changelog @@ -2,8 +2,6 @@ llvm-toolchain-9 (1:9~+rc2-1~exp3) experimental; urgency=medium * Update of the license file. Upstream moved to Apache 2 with LLVM exception (Closes: #935149) -llvm-toolchain-9 (1:9~svn370077-1~exp1) UNRELEASED; urgency=medium - * experimental New snapshot release * remove 0050-Remove-explicit-python-version-list.patch bug-43011-mips.diff as they are merged upstream diff --git a/debian/patches/ftbfs-mips-bug-43011.diff b/debian/patches/ftbfs-mips-bug-43011.diff deleted file mode 100644 index a9d32533..00000000 --- a/debian/patches/ftbfs-mips-bug-43011.diff +++ /dev/null @@ -1,13 +0,0 @@ -Index: llvm-toolchain-9_9~+rc1/libcxx/include/__locale -=================================================================== ---- llvm-toolchain-9_9~+rc1.orig/libcxx/include/__locale -+++ llvm-toolchain-9_9~+rc1/libcxx/include/__locale -@@ -409,7 +409,7 @@ public: - static const mask xdigit = _ISxdigit; - static const mask blank = _ISblank; - #if defined(__mips__) -- static const mask __regex_word = static_cast(_ISbit(15)); -+ static const mask __regex_word = static_cast(_ISbit(15)); - #else - static const mask __regex_word = 0x80; - #endif diff --git a/debian/patches/series b/debian/patches/series index eefdd415..669029c7 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -129,5 +129,3 @@ bootstrap-fix-include-next.diff clang-riscv64-multiarch.diff clang-riscv64-rv64gc.diff -ftbfs-mips-bug-43011.diff - From cb79a639f54880bfe46167ea332210f3e3aac1a4 Mon Sep 17 00:00:00 2001 From: Sylvestre Ledru Date: Wed, 28 Aug 2019 14:57:10 +0200 Subject: [PATCH 23/27] llvm-9-dev depends on llvm-9-tools Since https://reviews.llvm.org/D56606, LLVMExports.cmake requires FileCheck when LLVM_INSTALL_UTILS=ON is enabled (which is the case here). See https://bugs.llvm.org/show_bug.cgi?id=43035 --- debian/changelog | 5 +++++ debian/control | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/debian/changelog b/debian/changelog index 2d977dc6..96d0239c 100644 --- a/debian/changelog +++ b/debian/changelog @@ -5,6 +5,11 @@ llvm-toolchain-9 (1:9~+rc2-1~exp3) experimental; urgency=medium * experimental New snapshot release * remove 0050-Remove-explicit-python-version-list.patch bug-43011-mips.diff as they are merged upstream + * llvm-9-dev depends on llvm-9-tools + Since https://reviews.llvm.org/D56606, LLVMExports.cmake + requires FileCheck when LLVM_INSTALL_UTILS=ON is enabled (which + is the case here). + See https://bugs.llvm.org/show_bug.cgi?id=43035 -- Sylvestre Ledru Tue, 27 Aug 2019 23:38:11 +0200 diff --git a/debian/control b/debian/control index fcb10f52..7a0bad93 100644 --- a/debian/control +++ b/debian/control @@ -308,7 +308,8 @@ Description: Modular compiler and toolchain technologies, IR interpreter Package: llvm-9-dev Architecture: any Depends: ${shlibs:Depends}, libffi-dev (>= 3.0.9), ${misc:Depends}, - llvm-9 (= ${binary:Version}), libllvm9 (= ${binary:Version}), libtinfo-dev + llvm-9 (= ${binary:Version}), libllvm9 (= ${binary:Version}), libtinfo-dev, + llvm-9-tools (= ${binary:Version}) Description: Modular compiler and toolchain technologies, libraries and headers LLVM is a collection of libraries and tools that make it easy to build compilers, optimizers, just-in-time code generators, and many other From 67c2f659d45e73baf63963d66d120f576530b89c Mon Sep 17 00:00:00 2001 From: Sylvestre Ledru Date: Wed, 28 Aug 2019 15:00:53 +0200 Subject: [PATCH 24/27] break the cyclic deps --- debian/control | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/debian/control b/debian/control index 7a0bad93..a1dfc4d0 100644 --- a/debian/control +++ b/debian/control @@ -330,8 +330,7 @@ Package: llvm-9-tools Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends}, python, python3, python-pygments, python-yaml, - python3-pygments, python3-yaml, - llvm-9-dev (= ${binary:Version}) + python3-pygments, python3-yaml Description: Modular compiler and toolchain technologies, tools LLVM is a collection of libraries and tools that make it easy to build compilers, optimizers, just-in-time code generators, and many other From 65afb90991a45af1eab9e529588d8d53633e96b5 Mon Sep 17 00:00:00 2001 From: Sylvestre Ledru Date: Thu, 29 Aug 2019 09:27:19 +0200 Subject: [PATCH 25/27] Also add PYTHON_EXECUTABLE to the CLANG_BOOTSTRAP_PASSTHROUGH option to fix an issue on xenial --- debian/changelog | 2 ++ debian/rules | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/debian/changelog b/debian/changelog index 96d0239c..691afb62 100644 --- a/debian/changelog +++ b/debian/changelog @@ -10,6 +10,8 @@ llvm-toolchain-9 (1:9~+rc2-1~exp3) experimental; urgency=medium requires FileCheck when LLVM_INSTALL_UTILS=ON is enabled (which is the case here). See https://bugs.llvm.org/show_bug.cgi?id=43035 + * Also add PYTHON_EXECUTABLE to the CLANG_BOOTSTRAP_PASSTHROUGH option + to fix an issue on xenial -- Sylvestre Ledru Tue, 27 Aug 2019 23:38:11 +0200 diff --git a/debian/rules b/debian/rules index 6ea17377..96ed5de7 100755 --- a/debian/rules +++ b/debian/rules @@ -408,7 +408,7 @@ override_dh_auto_configure: preconfigure -DCLANG_ENABLE_BOOTSTRAP=ON \ -DLLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN=ON \ -DCLANG_VENDOR=$(VENDOR) \ - -DCLANG_BOOTSTRAP_PASSTHROUGH="CMAKE_INSTALL_PREFIX;CMAKE_VERBOSE_MAKEFILE;CMAKE_BUILD_TYPE;CMAKE_CXX_FLAGS_RELWITHDEBINFO;LLVM_LINK_LLVM_DYLIB;LLVM_INSTALL_UTILS;LLVM_VERSION_SUFFIX;LLVM_ENABLE_SPHINX;SPHINX_WARNINGS_AS_ERRORS;LLVM_BUILD_LLVM_DYLIB;LLVM_ENABLE_RTTI;LLVM_ENABLE_FFI;LIBCLANG_LIBRARY_VERSION;ENABLE_LINKER_BUILD_ID;POLLY_BUNDLED_JSONCPP;LLVM_EXPERIMENTAL_TARGETS_TO_BUILD;LLVM_USE_PERF;LLVM_ENABLE_ASSERTIONS;LLVM_BINUTILS_INCDIR;LLVM_HOST_TRIPLE;;LLVM_COMPILER_CHECKED;COMPILER_RT_BUILD_BUILTINS;LIBOMP_LIBFLAGS;CMAKE_SHARED_LINKER_FLAGS" + -DCLANG_BOOTSTRAP_PASSTHROUGH="CMAKE_INSTALL_PREFIX;CMAKE_VERBOSE_MAKEFILE;CMAKE_BUILD_TYPE;CMAKE_CXX_FLAGS_RELWITHDEBINFO;LLVM_LINK_LLVM_DYLIB;LLVM_INSTALL_UTILS;LLVM_VERSION_SUFFIX;LLVM_ENABLE_SPHINX;SPHINX_WARNINGS_AS_ERRORS;LLVM_BUILD_LLVM_DYLIB;LLVM_ENABLE_RTTI;LLVM_ENABLE_FFI;LIBCLANG_LIBRARY_VERSION;ENABLE_LINKER_BUILD_ID;POLLY_BUNDLED_JSONCPP;LLVM_EXPERIMENTAL_TARGETS_TO_BUILD;LLVM_USE_PERF;LLVM_ENABLE_ASSERTIONS;LLVM_BINUTILS_INCDIR;LLVM_HOST_TRIPLE;;LLVM_COMPILER_CHECKED;COMPILER_RT_BUILD_BUILTINS;LIBOMP_LIBFLAGS;CMAKE_SHARED_LINKER_FLAGS;PYTHON_EXECUTABLE" # make From 9375fa9e935070911c6d494f9d1b72d8683053af Mon Sep 17 00:00:00 2001 From: Sylvestre Ledru Date: Sat, 3 Aug 2019 17:51:40 +0200 Subject: [PATCH 26/27] also install clangd in the quality script --- 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 2ce60c95..f50f86c5 100755 --- a/debian/qualify-clang.sh +++ b/debian/qualify-clang.sh @@ -9,7 +9,7 @@ VERSION=$(dpkg-parsechangelog | sed -rne "s,^Version: 1:([0-9]+).*,\1,p") DETAILED_VERSION=$(dpkg-parsechangelog | sed -rne "s,^Version: 1:([0-9.]+)(~|-)(.*),\1\2\3,p") DEB_HOST_ARCH=$(dpkg-architecture -qDEB_HOST_ARCH) -LIST="libomp5-${VERSION}_${DETAILED_VERSION}_amd64.deb libomp-${VERSION}-dev_${DETAILED_VERSION}_amd64.deb lldb-${VERSION}_${DETAILED_VERSION}_amd64.deb python-lldb-${VERSION}_${DETAILED_VERSION}_amd64.deb libllvm${VERSION}_${DETAILED_VERSION}_amd64.deb llvm-${VERSION}-dev_${DETAILED_VERSION}_amd64.deb liblldb-${VERSION}-dev_${DETAILED_VERSION}_amd64.deb libclang1-${VERSION}_${DETAILED_VERSION}_amd64.deb libclang-common-${VERSION}-dev_${DETAILED_VERSION}_amd64.deb llvm-${VERSION}_${DETAILED_VERSION}_amd64.deb liblldb-${VERSION}_${DETAILED_VERSION}_amd64.deb llvm-${VERSION}-runtime_${DETAILED_VERSION}_amd64.deb lld-${VERSION}_${DETAILED_VERSION}_amd64.deb libfuzzer-${VERSION}-dev_${DETAILED_VERSION}_amd64.deb libclang-${VERSION}-dev_${DETAILED_VERSION}_amd64.deb libc++-${VERSION}-dev_${DETAILED_VERSION}_amd64.deb libc++abi-${VERSION}-dev_${DETAILED_VERSION}_amd64.deb libc++1-${VERSION}_${DETAILED_VERSION}_amd64.deb libc++abi1-${VERSION}_${DETAILED_VERSION}_amd64.deb clang-${VERSION}_${DETAILED_VERSION}_amd64.deb llvm-${VERSION}-tools_${DETAILED_VERSION}_amd64.deb clang-tools-${VERSION}_${DETAILED_VERSION}_amd64.deb clang-${VERSION}-dbgsym_${DETAILED_VERSION}_amd64.deb libclang1-${VERSION}-dbgsym_${DETAILED_VERSION}_amd64.deb" +LIST="libomp5-${VERSION}_${DETAILED_VERSION}_amd64.deb libomp-${VERSION}-dev_${DETAILED_VERSION}_amd64.deb lldb-${VERSION}_${DETAILED_VERSION}_amd64.deb python-lldb-${VERSION}_${DETAILED_VERSION}_amd64.deb libllvm${VERSION}_${DETAILED_VERSION}_amd64.deb llvm-${VERSION}-dev_${DETAILED_VERSION}_amd64.deb liblldb-${VERSION}-dev_${DETAILED_VERSION}_amd64.deb libclang1-${VERSION}_${DETAILED_VERSION}_amd64.deb libclang-common-${VERSION}-dev_${DETAILED_VERSION}_amd64.deb llvm-${VERSION}_${DETAILED_VERSION}_amd64.deb liblldb-${VERSION}_${DETAILED_VERSION}_amd64.deb llvm-${VERSION}-runtime_${DETAILED_VERSION}_amd64.deb lld-${VERSION}_${DETAILED_VERSION}_amd64.deb libfuzzer-${VERSION}-dev_${DETAILED_VERSION}_amd64.deb libclang-${VERSION}-dev_${DETAILED_VERSION}_amd64.deb libc++-${VERSION}-dev_${DETAILED_VERSION}_amd64.deb libc++abi-${VERSION}-dev_${DETAILED_VERSION}_amd64.deb libc++1-${VERSION}_${DETAILED_VERSION}_amd64.deb libc++abi1-${VERSION}_${DETAILED_VERSION}_amd64.deb clang-${VERSION}_${DETAILED_VERSION}_amd64.deb llvm-${VERSION}-tools_${DETAILED_VERSION}_amd64.deb clang-tools-${VERSION}_${DETAILED_VERSION}_amd64.deb clangd-${VERSION}_${DETAILED_VERSION}_amd64.deb clang-${VERSION}-dbgsym_${DETAILED_VERSION}_amd64.deb libclang1-${VERSION}-dbgsym_${DETAILED_VERSION}_amd64.deb" echo "To install everything:" echo "sudo dpkg -i $LIST" L="" From 52674fcdb8328b67424103604a8804d37fa3cb03 Mon Sep 17 00:00:00 2001 From: Sylvestre Ledru Date: Thu, 29 Aug 2019 09:33:31 +0200 Subject: [PATCH 27/27] Add clangd-X => libclang-common-X-dev dependency See https://bugs.llvm.org/show_bug.cgi?id=43152 --- debian/changelog | 7 +++++++ debian/control | 3 ++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/debian/changelog b/debian/changelog index 9cb6a616..bc282634 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +llvm-toolchain-8 (1:8.0.1-4) unstable; urgency=medium + + * Add clangd-X => libclang-common-X-dev dependency + See https://bugs.llvm.org/show_bug.cgi?id=43152 + + -- Sylvestre Ledru Thu, 29 Aug 2019 09:42:41 +0200 + llvm-toolchain-8 (1:8.0.1-3) unstable; urgency=medium * llvm-tools: depend on python2 packages too, the move to python3 was diff --git a/debian/control b/debian/control index 93ea9997..c4637e06 100644 --- a/debian/control +++ b/debian/control @@ -86,7 +86,8 @@ Description: clang-based C++ linter tool Package: clangd-8 Architecture: any -Depends: ${shlibs:Depends}, ${misc:Depends} +Depends: ${shlibs:Depends}, ${misc:Depends}, + libclang-common-8-dev (= ${binary:Version}) Replaces: clang-tools-8 (<< 1:8.0.1-1) Breaks: clang-tools-8 (<< 1:8.0.1-1) Description: Language server that provides IDE-like features to editors