From: Peter Michael Green Date: Tue, 12 Nov 2024 13:37:59 +0000 (+0000) Subject: Merge ../llvm-toolchain-18 into trixie-staging X-Git-Tag: archive/raspbian/1%19.1.3-1+rpi1^0 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=703760e12f6cfc298d651553136ea8b4e3dd54a8;p=llvm-toolchain-19.git Merge ../llvm-toolchain-18 into trixie-staging --- 703760e12f6cfc298d651553136ea8b4e3dd54a8 diff --cc debian/changelog index 6f8ed481e3,50d8bb4cac..96a4943b4c --- a/debian/changelog +++ b/debian/changelog @@@ -1,122 -1,222 +1,169 @@@ -llvm-toolchain-18 (1:18.1.8-12+rpi1) trixie-staging; urgency=medium ++llvm-toolchain-19 (1:19.1.3-1+rpi1) trixie-staging; urgency=medium + + [changes brought forward from llvm-toolchain-3.8 1:3.8-2+rpi1 by Peter Michael Green at Sat, 14 May 2016 21:43:35 +0000] + * Cleanup .pyc files in clean target. + * Add a hack to the cmake based build to force armv6 (unfortunately the cmake + based build relies on config.guess which assumes you want to build for the + hardware you are running on). + * Add -DCOMPILER_RT_BUILD_BUILTINS=OFF to disable parts of compiler-rt that + are broken on lower arm architectures. + + [changes introduced in llvm-toolchain-3.9 1:3.9.1-1 by Peter Michael Green] + * disable testsuite (using a method that is hopefully less likely to cause diff conflicts than previously). + * Remove -march=armv7-a in compiler-rt/cmake/config-ix-base.cmake + * Clean up debian/usr in clean target. + * Clean up clang/tools/*-3.9 in clean target. + * Clean up stray *3.9.vim files + * Clean up clang/tools/scan-build/man/scan-build-3.9.1 and utils/vim/llvm-3.9-vimrc + * Clean up debian/*.install + + [changes introduced in llvm-toolchain-6.0 1:6.0-1+rpi1 by Peter michael green] + * create build-llvm/docs/ocamldoc/html/ so the install target doesn't complain + about it not existing. + * clean up more crap left behind by build process. + + [changes introduced in llvm-toolchain-6.0 1:6.0-3+rpi1 by Peter Michael Green] + * Remove debian/man in clean target. + + [changes introduced in llvm-toolchain-7 1:7-6+rpi1 by Peter Michael Green] + * Use libatomic on armhf + * Set cmake/config.guess.hack back to mode 644 in clean target to keep + git/dgit happy. + * Yet more clean target fixes. + + [changes introduced in llvm-toolchain-7 1:7.0.1-1+rpi2 by Peter Michael Green] + * Change triplet in debian/rules to use armv6k rather than armv7l + + [changes introduced in llvm-toolchain-12 1:12.0.1-16 by Peter Michael Green] + * Disable llvm libunwind on armhf, it seems to come out armv7 contaminated. + + [changes introduced in llvm-toolchain-13 (1:13.0.0-9+rpi1 by Peter Michael Green] + * Disable scudo on armhf, it needs atomics which we do not want to enable. + + [changes brought forward from 1:13.0.0-9+rpi2 by Peter Michael Green at Tue, 23 Nov 2021 22:37:30 +0000] + * Remove armhf from architecture list for libunwind-13-dev dependency. + - -- Peter Michael Green Thu, 30 May 2024 19:02:37 +0000 ++ -- Peter Michael Green Tue, 12 Nov 2024 13:29:35 +0000 + -llvm-toolchain-18 (1:18.1.8-12) unstable; urgency=medium +llvm-toolchain-19 (1:19.1.3-1) unstable; urgency=medium - * Ensure that at least 1 CPU is used for build - Thanks to Santiago Vila for the patch - (Closes: #1082359) - * Don't enable intel-pt on Ubuntu Bionic - * Backport a miscompilation fix (Closes: #1082727) - * Fix the bootstrapping (Closes: #1082610) - Thanks to Andrey Feofilaktov for the patch - * clang provides objc++-compiler (Closes: #1082744) - * Update Standards version to 4.7.0 - - -- Sylvestre Ledru Mon, 23 Sep 2024 13:23:31 +0200 - -llvm-toolchain-18 (1:18.1.8-11) unstable; urgency=medium - - * Drop ocaml on armhf, ocamlopt disappeared making build ftbfs - * Drop extra space in changelog - * Sync spirv architectures with sid builds - * Fix x32 build failure due to orc library not being installed - * Add back LLVM_EXPERIMENTAL_TARGETS_TO_BUILD to PASSTHROUGH variables, to help m68k + * New release - -- Gianfranco Costamagna Mon, 09 Sep 2024 08:42:27 +0200 + -- Sylvestre Ledru Wed, 30 Oct 2024 21:56:13 +0100 -llvm-toolchain-18 (1:18.1.8-10) unstable; urgency=medium +llvm-toolchain-19 (1:19.1.2-2) unstable; urgency=medium - [ Matthias Klose ] - * ld.lld: When no package-metadata option is given, fall-back - to the envvar ELF_PACKAGE_METADATA. + [ Samuel Thibault ] + * Disable time64_t ABI on hurd-i386 too. - [ Emanuele Rocca ] - * Enable bolt on arm64, now supported upstream. + [ Sylvestre Ledru ] + * Use the | hello trick for g++-multilib for s390x / Ubuntu Oracular + * Enable compiler-rt runtime again for 32bit time_t64 architectures. + (Closes: #1085853) + * Backport Ubuntu 25.04 - Plucky Puffin support - [ Bo YU ] - * Backport two commits to fix riscv64 issue. (Closes: #1080435) + -- Sylvestre Ledru Sun, 27 Oct 2024 21:05:41 +0100 - -- Sylvestre Ledru Sat, 07 Sep 2024 23:08:26 +0200 +llvm-toolchain-19 (1:19.1.2-1) unstable; urgency=medium -llvm-toolchain-18 (1:18.1.8-9) unstable; urgency=medium + [ Samuel Thibault ] + * patches/hurd/hurd-f_type.diff: Fix hurd build against glibc ≥ 2.39. + * libomp-X.Y-dev.install.in: Don't try to ship ompd gdb plugin on + hurd-amd64 ; ship libomptarget. + * libomp5-X.Y.install.in: Ship libomptarget. + * libomp5-X.Y.symbols.in: Fix symbols on hurd-any. + * rules: Fix syntax on non-linux. - [ Gianfranco Costamagna ] - * Mention in changelog also the SVE fixes from llvm-17 - * Drop mips D154390 patch, already upstream + [ John Paul Adrian Glaubitz ] + * Don't try to install xray and profile headers on powerpc [ Sylvestre Ledru ] - * Really fix breaks/replaces (Closes: #1077587) + * New release + * Update Standards version to 4.7.0 - -- Sylvestre Ledru Sat, 03 Aug 2024 20:07:17 +0200 + -- Sylvestre Ledru Tue, 15 Oct 2024 15:11:47 +0200 -llvm-toolchain-18 (1:18.1.8-8) unstable; urgency=medium +llvm-toolchain-19 (1:19.1.1-1) unstable; urgency=medium [ Sylvestre Ledru ] - * Fix breaks/replaces (Closes: #1077587) - - [ Gianfranco Costamagna ] - * Merge llvm-toolchain-17 1:17.0.6-13 into llvm-18 branch - - Make SVE types available in device targets (Closes: #1076578) - - -- Sylvestre Ledru Tue, 30 Jul 2024 10:48:59 +0200 - -llvm-toolchain-18 (1:18.1.8-7) unstable; urgency=medium - - * Unbreak the cmake tools - - -- Sylvestre Ledru Sun, 28 Jul 2024 09:49:06 +0200 - -llvm-toolchain-18 (1:18.1.8-6) unstable; urgency=medium - - * Make libllvm multi arch ready again ... (Closes: #1076131) - * bring back spirv - - -- Sylvestre Ledru Fri, 26 Jul 2024 17:34:31 +0200 - -llvm-toolchain-18 (1:18.1.8-5) unstable; urgency=medium - - * Fix the broken Breaks/replaces for apt.llvm.org - Closes: https://github.com/llvm/llvm-project/issues/99502 - * Bring back libLLVM.so.18.1 as symlink library - (LP: #2073604) - * temporary disable spirv to unbreak the build + * Don't enable intel-pt on Ubuntu Bionic + * Add disabled info in the build log + * Disable LLVM libc on bionic + * Fix the bootstrapping (Closes: #1082610) + Thanks to Andrey Feofilaktov for the patch + * clang provides objc++-compiler (Closes: #1082744) - [ John Paul Adrian Glaubitz ] - * Make regexp to grep for LLVM_DEFAULT_TARGET_TRIPLE less ambigious + [ Matthias Klose ] + * New upstream release + * Update watch file and add .git* files to exclude in the tarball. - -- Sylvestre Ledru Wed, 24 Jul 2024 11:54:39 +0200 + -- Matthias Klose Wed, 02 Oct 2024 06:11:01 +0200 -llvm-toolchain-18 (1:18.1.8-4) unstable; urgency=medium +llvm-toolchain-19 (1:19.1.0-4) unstable; urgency=medium - * fix the symlinks after LLVM_ENABLE_PER_TARGET_RUNTIME_DIR=OFF - Probably caused - https://github.com/llvm/llvm-project/issues/99017 - * Move back /usr/lib/llvm-18/lib/libLLVM-18.so.1 to libllvm18 (Closes: #1076469) - And add breaks/replaces to make sure the upgrade goes smoothly + [ Sylvestre Ledru ] + * Adjust the workaround for apt.llvm.org version upgrades + https://github.com/llvm/llvm-project/issues/109276 + * Ensure that at least 1 CPU is used for build + Thanks to Santiago Vila for the patch + (Closes: #1082360) [ Matthias Klose ] - * Construct the --package-metadata option just from ELF_PACKAGE_METADATA. + * Don't relax versioned shlibs dependencies for snapshot builds and + prerelease versions. + * libllvm19: No symlinks in the llvm-19 subdir. Closes: #1081192, #1082495. - -- Sylvestre Ledru Tue, 16 Jul 2024 18:02:17 +0200 + -- Matthias Klose Sun, 22 Sep 2024 16:36:31 +0200 -llvm-toolchain-18 (1:18.1.8-3) unstable; urgency=medium +llvm-toolchain-19 (1:19.1.0-3) unstable; urgency=medium - [ Sylvestre Ledru ] - * Revert LLVM_ENABLE_PER_TARGET_RUNTIME_DIR=ON - 9ca35f30383d89e4fdd45d15e0eb82c832df4b8c - For causing https://github.com/llvm/llvm-project/issues/96210 - * Disable LLDB_BUILD_INTEL_PT on Ubuntu bionic - * Make libllvm co-installable again (Closes: #1076131) - - -- Sylvestre Ledru Mon, 15 Jul 2024 09:49:47 +0200 + * Fix typo in dh_makeshlibs calls. -llvm-toolchain-18 (1:18.1.8-2) unstable; urgency=medium + -- Matthias Klose Wed, 18 Sep 2024 17:26:29 +0200 - [ Matthias Klose ] - * Pass --package-metadata on distros with supporting linkers (starting - with Debian trixie and Ubuntu noble). - The package metadata is constructed from the environment variables - DEB_BUILD_OS_RELEASE_ID, DEB_SOURCE, DEB_VERSION and DEB_HOST_ARCH. - Setting NO_PKG_METADATA=1 disables the generation of the package metadata. +llvm-toolchain-19 (1:19.1.0-2) unstable; urgency=medium - [ Sylvestre Ledru ] - * Try to unbreak powerpc & sparc64 + * Call dh_makeshlibs with the version of the first upstream + release (1:19.1.0). Looking back at the 1.18 release cycle, + these libraries didn't see any instability in the ABIs. + * debian/qualify-clang.sh: Fix typo. - -- Sylvestre Ledru Sun, 07 Jul 2024 22:01:17 +0200 + -- Matthias Klose Wed, 18 Sep 2024 10:29:19 +0200 -llvm-toolchain-17 (1:17.0.6-13) unstable; urgency=medium +llvm-toolchain-19 (1:19.1.0-1) unstable; urgency=medium - [ Emanuele Rocca ] - * Make SVE types available in device targets (Closes: #1076578) + * New upstream release 19.1.0. [ Matthias Klose ] - * Pass --package-metadata on distros with supporting linkers (starting - with Debian trixie and Ubuntu noble). - The package metadata is constructed from the environment variables - DEB_BUILD_OS_RELEASE_ID, DEB_SOURCE, DEB_VERSION and DEB_HOST_ARCH. - Setting NO_PKG_METADATA=1 disables the generation of the package metadata. - - -- Gianfranco Costamagna Tue, 30 Jul 2024 09:15:47 +0200 + * debian/qualify-clang.sh: Skip llvmlibc test, if libllvmlibc-dev is not + available. + * Build-depend on llvm-spirv-19. -llvm-toolchain-18 (1:18.1.8-2~exp2) experimental; urgency=medium + [ YunQiang Su ] + * also pass -mxgot in LDFLAGS. + * d/p/mips-mlir-xgot.diff: Pass -mxgot for mlir. - * Change the LLVM_HOST_TRIPLE option from i386-linux-gnu to - i386-pc-linux-gnu - and arm-linux-gnueabihf to arm-pc-linux-gnueabihf - Otherwise, it will fail with: - Cannot find builtins library for the target architecture + -- Matthias Klose Tue, 17 Sep 2024 18:04:21 +0200 - -- Sylvestre Ledru Sun, 07 Jul 2024 00:38:27 +0200 +llvm-toolchain-19 (1:19.1.0~++rc4-5) unstable; urgency=medium -llvm-toolchain-18 (1:18.1.8-2~exp1) experimental; urgency=medium + * Move the libLLVM.so.1 symlink into llvm-19-dev. Closes: #1081192. - [ Sylvestre Ledru ] - * Enable LLVM_ENABLE_PER_TARGET_RUNTIME_DIR - to move the libraries into multi archi directories - * Bring back libLLVM to be installed in /usr/lib/llvm-18/lib/libLLVM-18.so - instead of /usr/lib/llvm-18/lib/libLLVM.so - Same for libclang (remove usr/lib/llvm-18/lib/libclang.so.1 - This should make the packages multiarch co installable again - (Closes: #1067699, #1067005) - (LP: #2063207) - * Introduce the new variable @DEB_HOST_MULTIARCH_LLVM@ in the build system - because the LLVM triple is different than Debian - x86_64-pc-linux-gnu instead of x86_64-linux-gnu - * autopkgtest: only run libllvmlibc test on supported archs + -- Matthias Klose Mon, 09 Sep 2024 11:20:16 +0200 - [ John Paul Adrian Glaubitz ] - * Don't install Gold plugin on sparc64 - * Disable LLVM testsuite on x32 - * Install liborc_rt-x86_64.a on x32 - * Install hwasan_symbolize on x32 +llvm-toolchain-19 (1:19.1.0~++rc4-4) unstable; urgency=medium - [ Norbert Lange ] - * build lldb with Intel PT support on x86, amd64 + [ Matthias Klose ] + * Consolidate disabling CMake's package validation checks a bit. + * debian/qualify-clang.sh: Skip OpenMP test, if libomp-dev is not available. + * Disable CMake's package validation check for libLLVM.so.1. + * Limit lldb autopkg test to the lldb architectures. + * Generate debian/tests/* files. + * Disable the usage-wrapper/memory tracking by default. + * Replace LLDB_DISABLE_ARCHS macro with LLDB_ARCHS macro. + * Remove unused kfreebsd patches, and remove references to kfreebsd and s390. + * Remove references to alpha, hppa, powerpcspe and sh4. + * Fix usage-wrapper build dependency. [ Aurelien Jarno ] * Enable lldb on riscv64. diff --cc debian/control index 3df5c49267,14f4c96c22..c476fe0d7a --- a/debian/control +++ b/debian/control @@@ -845,9 -849,9 +845,9 @@@ Description: production-quality unwinde or to operate on another process (aka remote), but only the local path has been implemented. Remote unwinding remains as future work. -Package: libunwind-18-dev +Package: libunwind-19-dev Section: libdevel - Architecture: amd64 arm64 armhf i386 loong64 ppc64el ppc64 riscv64 + Architecture: amd64 arm64 i386 loong64 ppc64el ppc64 riscv64 Multi-Arch: same Depends: ${misc:Depends}, diff --cc debian/patches/series index d4651b9cd3,a062cbfbbd..6a39bfd88c --- a/debian/patches/series +++ b/debian/patches/series @@@ -16,12 -14,10 +14,10 @@@ symbolizer-path.dif clang-tidy-run-bin.diff 0001-tools-clang-cmake-resolve-symlinks-in-ClangConfig.cmake.patch debug-jit-path.diff - # commented because of bug 903709 #force-gcc-header-obj.diff - do-not-fail-on-unexpected-pass.diff -disable-display-PASS-UNSUPPORTED-XFAIL.diff + # Lib names 0044-soname.diff lldb/lldb-soname.diff @@@ -87,14 -74,25 +74,12 @@@ clangd-atomic-cmake.patc # https://reviews.llvm.org/D60380 remove-apple-clang-manpage.diff 0049-Use-Debian-provided-MathJax-everywhere.patch - # Hurd port hurd/hurd-pathmax.diff -# kfreebsd -# kfreebsd/clang_lib_Basic_Targets.diff -# kfreebsd/CMakeLists.txt.diff -# kfreebsd/compiler-rt_lib.diff -# kfreebsd/include_llvm_ADT_Triple.h.diff -# kfreebsd/kfreebsd-libcxx-threads-detection.diff -# kfreebsd/kfreebsd-openmp.diff -# kfreebsd/kfreebsd-threads-build.diff -# kfreebsd/kfreebsd-triple-clang.diff -# kfreebsd/kfreebsd-triple.diff -# kfreebsd/lib_Support.diff -# kfreebsd/lib_Target_X86.diff -# kfreebsd/lldb_source_Host_freebsd_Host.cpp.diff -# kfreebsd/lldb_source_Plugins_Process_FreeBSD.diff -# kfreebsd/tools_llvm-shlib_CMakeLists.txt.diff +hurd/hurd-f_type.diff + 930008-arm.diff bootstrap-fix-include-next.diff - # bug 939472 #try-to-unbreak-thinlto.diff #D67877-cmake-clang-example.patch @@@ -103,9 -100,9 +87,8 @@@ python3-shebang.patc lldb/print-lldb-path.patch lower-python-dep.diff scan-build-py-fix-default-bin.diff - omp-riscv64.patch lldb/test-disable-lldb-i386.diff -unbreak-atomic-mips.diff llvm-fix-lld-linker-check.diff openmp-fix-runtimes-build.diff libclc-fix-prepare_builtins-rpath.diff @@@ -122,9 -119,7 +105,8 @@@ compiler-rt/compilerrt-build-scudo-stan wasm/wasm-ld-path.diff wasm/wasm-compiler-rt-default.diff wasm/wasm-sysroot-usr.diff - revert-update-doc.diff + unwind-force-pthread-dl.diff force-sse2-compiler-rt.diff bolt-disable-emit-relocs.patch @@@ -132,9 -127,15 +114,10 @@@ link-grpc.dif libclang-major-version-only.diff D148945-revert.diff arm32-defaults.diff -libsanitizer-timebits.diff -ubuntu-releases.patch -clang-record-gcc-switches-by-default.patch -rename-libllvm.diff +disable-openmp-per-target.diff +offload-disable-static-assert.diff link-with-package-metadata.diff -llvm-toolchain-17-sve-types-aux-target.diff env-lld-package-metadata.diff - -rv64-fix-PCREL_HI20-issue.diff -rv64-fix-mm-leak.diff -backport-miscompile-floating-point.diff +mips-mlir-xgot.diff +ubuntu-plucky.patch + raspbian-triplet.patch diff --cc debian/rules index c0f5c7528e,d14089e834..68e483b8eb --- a/debian/rules +++ b/debian/rules @@@ -183,7 -139,7 +183,7 @@@ ifneq (,$(filter $(DEB_HOST_ARCH),spar STAGE_1_CMAKE_EXTRA += -DLLVM_PARALLEL_LINK_JOBS=4 endif - ifneq (,$(filter $(DEB_HOST_ARCH),i386 hurd-i386 armel mipsel mips64el powerpc riscv64)) -ifneq (,$(filter $(DEB_HOST_ARCH),i386 hurd-i386 kfreebsd-i386 armel armhf mipsel powerpc powerpcspe riscv64)) ++ifneq (,$(filter $(DEB_HOST_ARCH),i386 hurd-i386 kfreebsd-i386 armel mipsel powerpc powerpcspe riscv64)) # For some reason, in the stage2 build, when clang is used to compile # itself. The atomic detection is failing on armel and riscv64. Forcing the inclusion # everywhere and in all stages @@@ -246,11 -197,18 +246,18 @@@ ifneq (,$(findstring $(DEB_HOST_ARCH),a endif ifneq (,$(findstring $(DEB_HOST_ARCH),armhf)) - STAGE_ALL_CMAKE_EXTRA += -DLLVM_HOST_TRIPLE=arm-pc-linux-gnueabihf + STAGE_ALL_CMAKE_EXTRA += -DLLVM_HOST_TRIPLE=arm-linux-gnueabihf # align arch profile with debian baseline # https://wiki.debian.org/ArmHardFloatPort#Minimum_CPU_.26_FPU - CFLAGS_EXTRA += -march=armv7-a -mfpu=vfpv3-d16 - CXXFLAGS_EXTRA += -march=armv7-a -mfpu=vfpv3-d16 + CFLAGS_EXTRA += -march=armv6 -mfpu=vfpv2 + CXXFLAGS_EXTRA += -march=armv6 -mfpu=vfpv2 + STAGE_ALL_CMAKE_EXTRA += -DCOMPILER_RT_BUILD_BUILTINS=OFF + COMPILER_RT_USE_BUILTINS_LIBRARY := OFF + LIBCXX_USE_COMPILER_RT := OFF + # disable scudo standalone (not supported for baseline armel arch: armv6) + # note: we don't build with "k" in raspbian even though the CPU supports + # it because armv6k atomics have forward-compatibility problems. + STAGE_ALL_CMAKE_EXTRA += -DCOMPILER_RT_BUILD_SCUDO_STANDALONE=OFF endif ifneq (,$(filter $(DEB_HOST_ARCH),i386)) @@@ -409,8 -382,7 +416,8 @@@ els endif # Enable libunwind (or not) -ifneq (,$(filter $(DEB_HOST_ARCH), s390x armel armhf m68k mipsel mips64el hurd-i386 powerpc sparc sparc64 x32)) +LIBUNWIND_ENABLE=yes - ifneq (,$(filter $(DEB_HOST_ARCH), s390x armel m68k mipsel mips64el hurd-i386 hurd-amd64 powerpc sparc sparc64 x32)) ++ifneq (,$(filter $(DEB_HOST_ARCH), s390x armel armhf m68k mipsel mips64el hurd-i386 hurd-amd64 powerpc sparc sparc64 x32)) LIBUNWIND_ENABLE=no # do not use compiler-rt builtins for libcxx (libcxxabi) when libunwind is # disabled since the gnu implementation in libgcc_s will then be required @@@ -696,8 -657,17 +703,14 @@@ stamps/preconfigure @echo "LLVM_SPIRV=$(LLVM_SPIRV)" @echo "LLVM_SPIRV_INSTALLED=$(LLVM_SPIRV_INSTALLED)" @echo "DOC_GENERATION=$(DOC_GENERATION)" - @echo "control_vars=$(control_vars)" + # add executable flag to script we added as part of triplet hack + # --plugwash + chmod 755 llvm/cmake/config.guess.hack + # also make sure config.guess is executable + chmod 755 llvm/cmake/config.guess + - for f in debian/*.in; do \ + for f in debian/*.in debian/tests/*.in; do \ f2=$$(echo $$f | sed 's/\.in$$//;s/X\.Y/$(LLVM_VERSION)/'); \ echo "$$f => $$f2"; \ sed -e 's|@DEB_HOST_MULTIARCH@|$(DEB_HOST_MULTIARCH)|g' \