diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..eec52a15 --- /dev/null +++ b/.gitignore @@ -0,0 +1,134 @@ +.ci +.clang-format +.clang-tidy +.git +.git-blame-ignore-revs +.gitattributes +.github +.mailmap + +# upstream toplevel files +CODE_OF_CONDUCT.md +CONTRIBUTING.md +LICENSE.TXT +README.md +SECURITY.md +pyproject.toml + +# upstream directories +bolt +clang +clang-tools-extra +cmake +compiler-rt +cross-project-tests +flang +integration-test-suite +libc +libclc +libcxx +libcxxabi +libunwind +lld +lldb +llvm +llvm-libgcc +mlir +offload +openmp +polly +pstl +runtimes +third-party +utils + +# build files +build-llvm +build-wasm +stamps +usage-*.svg* + +# generated debian files +debian/*.debhelper.log +debian/*.dirs +debian/*.docs +debian/*.examples +debian/*.install +debian/*.links +debian/*.lintian-overrides +debian/*.oinfo.debhelper +debian/*.olist.debhelper +debian/*.manpages +debian/*.substvars +debian/.debhelper + +debian/man +debian/tmp +debian/usr + +debian/libclang1-19.symbols +debian/libllvm-19-ocaml-dev.META +debian/libomp5-19.symbols +debian/lldb-19.postinst +debian/llvm-19-runtime.binfmt +debian/llvm-19-runtime.binfmt.conf +debian/llvm-19-runtime.postinst +debian/llvm-19-runtime.prerm +debian/pollycc + +# package directories +debian/bolt-19 +debian/clang-19-doc +debian/clang-19-examples +debian/clang-19 +debian/clang-format-19 +debian/clang-tidy-19 +debian/clang-tools-19 +debian/clangd-19 +debian/flang-19 +debian/libbolt-19-dev +debian/libc++-19-dev-wasm32 +debian/libc++-19-dev +debian/libc++1-19 +debian/libc++abi-19-dev-wasm32 +debian/libc++abi-19-dev +debian/libc++abi1-19 +debian/libclang-19-dev +debian/libclang-common-19-dev +debian/libclang-cpp19-dev +debian/libclang-cpp19 +debian/libclang-rt-19-dev-wasm32 +debian/libclang-rt-19-dev-wasm64 +debian/libclang-rt-19-dev +debian/libclang1-19 +debian/libclc-19-dev +debian/libclc-19 +debian/libflang-19-dev +debian/libfuzzer-19-dev +debian/liblld-19-dev +debian/liblld-19 +debian/liblldb-19-dev +debian/liblldb-19 +debian/libllvm-19-ocaml-dev +debian/libllvm19 +debian/libllvmlibc-19-dev +debian/libmlir-19-dev +debian/libmlir-19 +debian/libomp-19-dev +debian/libomp-19-doc +debian/libomp5-19 +debian/libpolly-19-dev +debian/libunwind-19-dev +debian/libunwind-19 +debian/lld-19 +debian/lldb-19 +debian/llvm-19-dev +debian/llvm-19-doc +debian/llvm-19-examples +debian/llvm-19-linker-tools +debian/llvm-19-runtime +debian/llvm-19-tools +debian/llvm-19 +debian/mlir-19-tools +debian/python3-clang-19 +debian/python3-lldb-19 diff --git a/debian/changelog b/debian/changelog index 85e799ac..e39fbda2 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,40 +1,186 @@ -llvm-toolchain-18 (1:18.1.8-12~bpo12+pve1) proxmox-rust; urgency=medium +llvm-toolchain-19 (1:19.1.2-2) UNRELEASED; urgency=medium - * Rebuild for Debian Bookworm / Proxmox + [ Samuel Thibault ] + * libclang-common-X.Y-dev.install.in: Don't try to install xray and profile + headers on hurd-any. - -- Proxmox Support Team Thu, 10 Oct 2024 14:55:15 +0200 + [ Sylvestre Ledru ] + * Use the | hello trick for g++-multilib for s390x / Ubuntu Oracular -llvm-toolchain-18 (1:18.1.8-12) unstable; urgency=medium + -- Sylvestre Ledru Mon, 21 Oct 2024 10:20:12 +0200 - * Ensure that at least 1 CPU is used for build - Thanks to Santiago Vila for the patch - (Closes: #1082359) +llvm-toolchain-19 (1:19.1.2-1) 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. + + [ John Paul Adrian Glaubitz ] + * Don't try to install xray and profile headers on powerpc + + [ Sylvestre Ledru ] + * New release + * Update Standards version to 4.7.0 + + -- Sylvestre Ledru Tue, 15 Oct 2024 15:11:47 +0200 + +llvm-toolchain-19 (1:19.1.1-1) unstable; urgency=medium + + [ Sylvestre Ledru ] * Don't enable intel-pt on Ubuntu Bionic - * Backport a miscompilation fix (Closes: #1082727) + * 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) - * Update Standards version to 4.7.0 - -- Sylvestre Ledru Mon, 23 Sep 2024 13:23:31 +0200 + [ Matthias Klose ] + * New upstream release + * Update watch file and add .git* files to exclude in the tarball. -llvm-toolchain-18 (1:18.1.8-11~bpo12+pve1) proxmox-rust; urgency=medium + -- Matthias Klose Wed, 02 Oct 2024 06:11:01 +0200 - * Rebuild for Debian Bookworm / Proxmox +llvm-toolchain-19 (1:19.1.0-4) unstable; urgency=medium - -- Proxmox Support Team Mon, 09 Sep 2024 14:53:07 +0200 + [ 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) -llvm-toolchain-18 (1:18.1.8-11) unstable; urgency=medium + [ Matthias Klose ] + * Don't relax versioned shlibs dependencies for snapshot builds and + prerelease versions. + * libllvm19: No symlinks in the llvm-19 subdir. Closes: #1081192, #1082495. - * 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 + -- Matthias Klose Sun, 22 Sep 2024 16:36:31 +0200 - -- Gianfranco Costamagna Mon, 09 Sep 2024 08:42:27 +0200 +llvm-toolchain-19 (1:19.1.0-3) unstable; urgency=medium -llvm-toolchain-18 (1:18.1.8-10) unstable; urgency=medium + * Fix typo in dh_makeshlibs calls. + + -- Matthias Klose Wed, 18 Sep 2024 17:26:29 +0200 + +llvm-toolchain-19 (1:19.1.0-2) unstable; urgency=medium + + * 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. + + -- Matthias Klose Wed, 18 Sep 2024 10:29:19 +0200 + +llvm-toolchain-19 (1:19.1.0-1) unstable; urgency=medium + + * New upstream release 19.1.0. + + [ Matthias Klose ] + * debian/qualify-clang.sh: Skip llvmlibc test, if libllvmlibc-dev is not + available. + * Build-depend on llvm-spirv-19. + + [ YunQiang Su ] + * also pass -mxgot in LDFLAGS. + * d/p/mips-mlir-xgot.diff: Pass -mxgot for mlir. + + -- Matthias Klose Tue, 17 Sep 2024 18:04:21 +0200 + +llvm-toolchain-19 (1:19.1.0~++rc4-5) unstable; urgency=medium + + * Move the libLLVM.so.1 symlink into llvm-19-dev. Closes: #1081192. + + -- Matthias Klose Mon, 09 Sep 2024 11:20:16 +0200 + +llvm-toolchain-19 (1:19.1.0~++rc4-4) unstable; urgency=medium + + [ 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. + * Enable lldb autopkgtest on riscv64. + + -- Matthias Klose Sun, 08 Sep 2024 17:36:43 +0200 + +llvm-toolchain-19 (1:19.1.0~++rc4-2) unstable; urgency=medium + + * Disable z3 again for Ubuntu, and make the libz3-dev (build) dependency + conditional. + * Use -mxgot on mips64el. + * Disable tests on mips64el, they do timeout. + + -- Matthias Klose Wed, 04 Sep 2024 15:16:40 +0200 + +llvm-toolchain-19 (1:19.1.0~++rc4-1) unstable; urgency=medium + + * New release candidate. + + [ Matthias Klose ] + * Also explicitly link with -latomic on mips64el. + * Disable openmp on loong64 (ld: cannot find -lomptarget.rtl.host). + * Build without z3 on sh4 (ftbfs). + * Also configure with -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="M68k;Xtensa". + * debian/tests/*: s/18/19/. + * debian/qualify-clang.sh: Don't check for libclang-cpp.so.$VERSION symlink. + * libllvm19: Restore the symlink /usr/lib/llvm-19/lib/libLLVM.so.1, apparently + CMake's LLVMExports.cmake requires it. But why? + + [ Samuel Thibault ] + * Add hurd-amd64 support. + + [ Sylvestre Ledru ] + * Remove the cmake dependency on libLibcTableGenUtil.a + see https://github.com/llvm/llvm-project/issues/99819 + * New snapshot release + + -- Matthias Klose Tue, 03 Sep 2024 21:48:12 +0200 + +llvm-toolchain-19 (1:19.1.0~++rc3-2) unstable; urgency=medium + + * Fix binary-indep build. + * Disable openmp on mips64el (ld: cannot find -lomptarget.rtl.host). + * Disable memory tracking on the Hurd and some ports architectures. + + -- Matthias Klose Sat, 31 Aug 2024 08:10:14 +0200 + +llvm-toolchain-19 (1:19.1.0~++rc3-1) unstable; urgency=medium + + * Add a .gitignore file with all toplevel upstream files and directories. + * Add some memory tracking, getting some information on memory hogs. + * Don't require g++-multilib on s390x for newer Ubuntu releases. + * Factor-out ocaml architectures. + * Don't try to install xray and profile headers on armel and armhf. + * Disable ocaml on armhf, requires ocamlopt. + * Factor-out omp architectures. + * Disable openmp on riscv64 (ld: cannot find -lomptarget.rtl.host). + * Factor-out flang architectures. + * Disable flang on mips64el (currently not supported). + * Don't try to install hwasan_symbolize on x32. + * Don't try to install xray and profile headers on x32. + * Fix installation of the shared libllvm and libclang-cpp libraries + under their soname. Closes: #1072200. + * Drop some of the unnecessary libllvm symlinks. + * debian/orig-tar.sh: Don't include .git/.github metadata. + * debian/rules. Call again dh_ocaml. Closes: #1078234. + * debian/rules: Don't create a stamp for the override_dh_auto_install target. + + -- Matthias Klose Fri, 30 Aug 2024 19:32:59 +0200 + +llvm-toolchain-19 (1:19.1.0~++rc3-1~exp1) experimental; urgency=medium [ Matthias Klose ] * ld.lld: When no package-metadata option is given, fall-back @@ -43,139 +189,21 @@ llvm-toolchain-18 (1:18.1.8-10) unstable; urgency=medium [ Emanuele Rocca ] * Enable bolt on arm64, now supported upstream. - [ Bo YU ] - * Backport two commits to fix riscv64 issue. (Closes: #1080435) - - -- Sylvestre Ledru Sat, 07 Sep 2024 23:08:26 +0200 - -llvm-toolchain-18 (1:18.1.8-9) unstable; urgency=medium - - [ Gianfranco Costamagna ] - * Mention in changelog also the SVE fixes from llvm-17 - * Drop mips D154390 patch, already upstream - [ Sylvestre Ledru ] - * Really fix breaks/replaces (Closes: #1077587) + * remove llvm-cgdata - see 9e90c40564e21dc5f1a12e08cfdf29305aaf9f50 + * New snapshot release - -- Sylvestre Ledru Sat, 03 Aug 2024 20:07:17 +0200 + -- Sylvestre Ledru Tue, 20 Aug 2024 19:52:02 +0200 -llvm-toolchain-18 (1:18.1.8-8) unstable; urgency=medium +llvm-toolchain-19 (1:19.1.0~++rc2-1~exp1) experimental; urgency=medium - [ Sylvestre Ledru ] - * Fix breaks/replaces (Closes: #1077587) + * New testing release - [ 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 Mon, 05 Aug 2024 15:25:06 +0200 - -- 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 +llvm-toolchain-19 (1:19.1.0~++20240724103243+7af27be6633a-1~exp1) experimental; urgency=medium [ John Paul Adrian Glaubitz ] - * Make regexp to grep for LLVM_DEFAULT_TARGET_TRIPLE less ambigious - - -- Sylvestre Ledru Wed, 24 Jul 2024 11:54:39 +0200 - -llvm-toolchain-18 (1:18.1.8-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 - - [ Matthias Klose ] - * Construct the --package-metadata option just from ELF_PACKAGE_METADATA. - - -- Sylvestre Ledru Tue, 16 Jul 2024 18:02:17 +0200 - -llvm-toolchain-18 (1:18.1.8-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 - -llvm-toolchain-18 (1:18.1.8-2) unstable; urgency=medium - - [ 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. - - [ Sylvestre Ledru ] - * Try to unbreak powerpc & sparc64 - - -- Sylvestre Ledru Sun, 07 Jul 2024 22:01:17 +0200 - -llvm-toolchain-17 (1:17.0.6-13) unstable; urgency=medium - - [ Emanuele Rocca ] - * Make SVE types available in device targets (Closes: #1076578) - - [ 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 - -llvm-toolchain-18 (1:18.1.8-2~exp2) experimental; urgency=medium - - * 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 - - -- Sylvestre Ledru Sun, 07 Jul 2024 00:38:27 +0200 - -llvm-toolchain-18 (1:18.1.8-2~exp1) experimental; urgency=medium - - [ 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 - - [ 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 @@ -183,146 +211,88 @@ llvm-toolchain-18 (1:18.1.8-2~exp1) experimental; urgency=medium [ Norbert Lange ] * build lldb with Intel PT support on x86, amd64 - [ Aurelien Jarno ] - * Enable lldb on riscv64. - - [ Zixing Liu ] - * d/p/clang-record-gcc-switches-by-default.patch: add a patch to force clang - record gcc switches by default - - [ Gianfranco Costamagna ] - * Rename check-libcxxabi in check-cxxabi. - * Rename check-libcxx in check-cxx - * Drop removed check-sanitizer (Closes: #1073201) - - -- Sylvestre Ledru Mon, 01 Jul 2024 22:27:25 +0200 - -llvm-toolchain-18 (1:18.1.8-1) unstable; urgency=medium - - * New upstream release - - -- Sylvestre Ledru Fri, 21 Jun 2024 22:00:49 +0200 - -llvm-toolchain-18 (1:18.1.7-1) unstable; urgency=medium - - * New upstream release - - -- Sylvestre Ledru Fri, 14 Jun 2024 10:14:20 +0200 - -llvm-toolchain-18 (1:18.1.7~++20240605091817+7e6ece9b4f2d-1~exp1) UNRELEASED; urgency=medium - - * experimental New snapshot release - - -- Sylvestre Ledru Wed, 05 Jun 2024 09:18:34 +0200 - -llvm-toolchain-18 (1:18.1.6-1) unstable; urgency=medium - - * New upstream release - * Don't install gold on mips64el armel loong64 - * Unbreak autopkgtest - - -- Sylvestre Ledru Sun, 19 May 2024 09:27:44 +0200 - -llvm-toolchain-18 (1:18.1.5-3) unstable; urgency=medium - - * Do not try to install gold on riscv64 (Closes: #1070909) - Thanks to Aurelien Jarno for the fix - * Disable --as-needed on armel (Closes: #1070811) - - -- Sylvestre Ledru Sun, 12 May 2024 09:03:09 +0200 - -llvm-toolchain-18 (1:18.1.5-2) unstable; urgency=medium - - * Add oracular as supported release - - -- Gianfranco Costamagna Sat, 04 May 2024 07:32:59 +0200 - -llvm-toolchain-18 (1:18.1.5-1) unstable; urgency=medium - - * New upstream release - * Be explicit with what ships in llvm-18-linker-tools - to make sure we always ships gold. - Will avoid issues like: - https://github.com/llvm/llvm-project/issues/87553 - Might break the build on some Debian archs. - - -- Sylvestre Ledru Fri, 03 May 2024 11:18:56 +0200 - -llvm-toolchain-18 (1:18.1.5~++20240430100627+f341c76b9461-1~exp1) UNRELEASED; urgency=medium - - * experimental New snapshot release - - -- Sylvestre Ledru Tue, 30 Apr 2024 10:06:39 +0200 - -llvm-toolchain-18 (1:18.1.4-1) unstable; urgency=medium - - * New upstream release - - -- Sylvestre Ledru Thu, 18 Apr 2024 11:45:22 +0200 - -llvm-toolchain-18 (1:18.1.3-1) unstable; urgency=medium - - * New upstream release - * Only install mold when used - but disabled for now because of https://github.com/rui314/mold/issues/1224 - - -- Sylvestre Ledru Thu, 04 Apr 2024 07:57:13 +0200 - -llvm-toolchain-18 (1:18.1.2-1) unstable; urgency=medium + [ Sylvestre Ledru ] + * Prepare upload to 19 + * Adjust the clang-X-doc path after the change + d7dd778cde84110e38521a6b55dfeb4e1c649ec2 + * bring back clang-nvlink-wrapper + following upstream commit: 37d0568a6593adfe791c1327d99731050540e97a + * ship llvm-cgdata [ 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 + ELF_PACKAGE_METADATA. + Setting NO_PKG_METADATA=1 disables the generation of the package metadata. + + -- Sylvestre Ledru Sun, 28 Jul 2024 21:39:57 +0200 + +llvm-toolchain-snapshot (1:19~++20240529093513+2cfea14a57ad-1~exp1) experimental; urgency=medium + + * experimental New snapshot release + * after upstream 330d8983d25d08580fc1642fea48b2473f47a9da + adjust the RUNTIMES build to include offload (was openmp/libomptarget) + * try to build with LLVM_LIBC_GPU_BUILD + * Move openmp from PROJECTS to RUNTIMES + Should fix: + https://github.com/llvm/llvm-project/issues/90707 + * Also ship libc++.modules.json in libc++-19-dev-wasm32 + * Install libLibcTableGenUtil and rpc files in llvmlibc + * Ship zos_wrappers/builtins.h in libclang-common-19-dev + * Disable openmp on i386 - wasn't officially supported + * Disable the cmake check for LibcTableGenUtil. Closes upstream issue #92359 + * Ship usr/lib/llvm-@LLVM_VERSION@/lib/libCUF*.a in libflang + * Ship reduce-chunk-list in llvm + + -- Sylvestre Ledru Wed, 29 May 2024 09:36:25 +0200 + +llvm-toolchain-snapshot (1:19~++20240421021844+e095d978ba47-1~exp1) experimental; urgency=medium + + [ Matthias Klose ] + * Make libclang-common-19-dev architecture dependent. + * Add python3-pexpect in the build dep for lldb. + * Fix sanitizer build on 32bit time_t64 architectures. + * Refresh the 23-strlcpy_strlcat_warning_removed patch. * Build-depend on llvm-spirv-18 instead of llvm-spirv-17. * Add a stage1 profile to disable curl, grpc and spirv. - * Build with --as-needed. [ Sylvestre Ledru ] - * New upstream release - * Build using mold as a linker + * New snapshot release + * Also install libMLIRExecutionEngineShared.so + * Remove lang-to-external-fc to match upstream change in + 4841d70a4b7d7cd8c492c16a9da339ec75bca135 - -- Sylvestre Ledru Fri, 22 Mar 2024 21:24:08 +0100 + -- Sylvestre Ledru Sun, 21 Apr 2024 14:21:37 +0200 -llvm-toolchain-18 (1:18.1.1-1) unstable; urgency=medium - [ Matthias Klose ] - * Fix sanitizer build on 32bit time_t64 architectures. - * Enable compiler-rt runtime again for 32bit time_t64 architectures. - * Revert: mark profile and xray include files as optional on armel and armhf. +llvm-toolchain-snapshot (1:19~++20240304085905+c7fdd8c11e54-1~exp1) experimental; urgency=medium [ Sylvestre Ledru ] - * Disable libc on bionic for apt.llvm.org - * Try to address a link issue with libclang-cpp.so.18 (GH: #83986) + * New snapshot release + * hwasan_symbolize is now built also on i386 + * Update of the libomp symbols + * Also install usr/lib/llvm-19/lib/libLLVM.so.1 + and usr/lib/llvm-19/lib/libLLVM.so.19.0 + * Install clang-installapi as part of clang-tools + * Disable the install of libomp in sub arch + Following 1977404d20ab29ff78a58d8c0f1f4c5e7aef6b16 - -- Sylvestre Ledru Fri, 08 Mar 2024 20:27:05 +0100 + [ John Paul Adrian Glaubitz ] + * Install *clang_rt* on sparc and sparc64 + * Run chrpath for libclang on sparc and sparc64 -llvm-toolchain-18 (1:18.1.0-2) unstable; urgency=medium + -- Sylvestre Ledru Mon, 04 Mar 2024 09:00:56 +0100 - * Uncomment wrong removal of rm code from last upload. - - this should fix the current FTBFS +llvm-toolchain-snapshot (1:19~++20240125092523+41fe98a6e7e5-1~exp1) experimental; urgency=medium - -- Gianfranco Costamagna Wed, 06 Mar 2024 21:49:10 +0100 + * branch of 19 + * refresh libomp5 symbol list + * For the usage of -DLIBCXXABI_USE_LLVM_UNWINDER=OFF when we don't build unwind + https://github.com/llvm/llvm-project/issues/77846 + * remove the unconditionally defined -DLIBUNWIND_USE_COMPILER_RT=ON + * Also pass -DLIBCXXABI_USE_LLVM_UNWINDER:BOOL=OFF to libcxx-wasm32-wasi builds -llvm-toolchain-18 (1:18.1.0-1) unstable; urgency=medium - - * New stable release - * Add a test to verify C++ modules tests - - -- Sylvestre Ledru Wed, 06 Mar 2024 11:29:56 +0100 - -llvm-toolchain-18 (1:18.1.0~rc4-2) unstable; urgency=medium - - [ Sylvestre Ledru ] - * Disable libllvmlibc-18-dev on armhf (Closes: #1065503) - * Adjust some symlinks with the rc4 changes - - [ Matthias Klose ] - * Make libclang-common-18-dev architecture dependent, mark profile and xray - include files as optional on armel and armhf. - - [ Gianfranco Costamagna ] - * Simplify rules file now that time64_t is default. - * Use mxgot on mips64el - * Disable tests on mips64el, they do timeout - - -- Sylvestre Ledru Wed, 06 Mar 2024 09:21:57 +0100 + -- Sylvestre Ledru Thu, 25 Jan 2024 14:51:10 +0100 llvm-toolchain-18 (1:18.1.0~rc4-1) unstable; urgency=medium @@ -336,6 +306,18 @@ llvm-toolchain-18 (1:18.1.0~rc4-1) unstable; urgency=medium see https://discourse.llvm.org/t/libc-c-23-module-installation-support/77061/1 * Add a new package libllvmlibc-18-dev to ship LLVM libc (experimental for now) (amd64, arm64 and armhf) + [ John Paul Adrian Glaubitz ] + * Install *clang_rt* on sparc and sparc64 + * Run chrpath for libclang on sparc and sparc64 + + [ Sylvestre Ledru ] + * New snapshot release + * add -DLIBCXX_INSTALL_MODULES=ON to install libc++ C++-20 modules + see https://discourse.llvm.org/t/libc-c-23-module-installation-support/77061/1 + * Add a new package libllvmlibc-18-dev to ship LLVM libc (experimental for now) + (amd64, arm64 and armhf) + * Also install usr/lib/llvm-19/lib/libLLVM.so.1 + and usr/lib/llvm-19/lib/libLLVM.so.18.0 -- Sylvestre Ledru Wed, 28 Feb 2024 11:08:41 +0100 @@ -344,6 +326,36 @@ llvm-toolchain-18 (1:18.1.0~rc2-4) unstable; urgency=medium * Fix 32bit builds, exclude i386, don't build clang-rt there * Revert gold linker on mips64el * Disable stack protector on mips64el + [ John Paul Adrian Glaubitz ] + * Install *clang_rt* on sparc and sparc64 + * Run chrpath for libclang on sparc and sparc64 + + [ Sylvestre Ledru ] + * add -DLIBCXX_INSTALL_MODULES=ON + see https://discourse.llvm.org/t/libc-c-23-module-installation-support/77061/1 + Ship libc++-18-dev /usr/lib/llvm-18/lib/libc++.modules.json /usr/lib/llvm-18/include/c++/v1/std.compat.cppm + /usr/lib/llvm-18/include/c++/v1/std.cppm + [ John Paul Adrian Glaubitz ] + * Install *clang_rt* on sparc and sparc64 + * Run chrpath for libclang on sparc and sparc64 + + [ Sylvestre Ledru ] + * add -DLIBCXX_INSTALL_MODULES=ON to install libc++ C++-20 modules + see https://discourse.llvm.org/t/libc-c-23-module-installation-support/77061/1 + [ John Paul Adrian Glaubitz ] + * Install *clang_rt* on sparc and sparc64 + * Run chrpath for libclang on sparc and sparc64 + + [ Sylvestre Ledru ] + * add -DLIBCXX_INSTALL_MODULES=ON to install libc++ C++-20 modules + see https://discourse.llvm.org/t/libc-c-23-module-installation-support/77061/1 + * Add a new package libllvmlibc-18-dev to ship LLVM libc (experimental for now) + * Fix 32bit builds, exclude i386, don't build clang-rt there + * Revert gold linker on mips64el + * Disable stack protector on mips64el + * Fix 32bit builds, exclude i386, don't build clang-rt there + * Revert gold linker on mips64el + * Disable stack protector on mips64el -- Gianfranco Costamagna Thu, 22 Feb 2024 17:58:05 +0100 @@ -372,7 +384,7 @@ llvm-toolchain-18 (1:18.1.0~rc2-1) unstable; urgency=medium llvm-toolchain-18 (1:18.1.0~rc1-3) unstable; urgency=medium - * Fix previus upload, time64 is effective only in one specific place of + * Fix previous upload, time64 is effective only in one specific place of rules file * Fix some test using still clang-17 * Switch testing to 18 line @@ -409,12 +421,12 @@ llvm-toolchain-18 (1:18.1.0-rc1-1~exp1) experimental; urgency=medium llvm-toolchain-18 (1:18.1.0~++20240126095841+0991d3c7b53d-1~exp1) experimental; urgency=medium * Branching of 18 - note that it is normal that the versionning starts from 18.1 + note that it is normal that the versioning starts from 18.1 See https://discourse.llvm.org/t/rfc-name-the-first-release-from-a-branch-n-1-0-instead-of-n-0-0/75384 * refresh libomp5 symbol list * For the usage of -DLIBCXXABI_USE_LLVM_UNWINDER=OFF when we don't build unwind https://github.com/llvm/llvm-project/issues/77846 - * remove the unconditionnaly defined -DLIBUNWIND_USE_COMPILER_RT=ON + * remove the unconditionally defined -DLIBUNWIND_USE_COMPILER_RT=ON * Also pass -DLIBCXXABI_USE_LLVM_UNWINDER:BOOL=OFF to libcxx-wasm32-wasi builds -- Sylvestre Ledru Fri, 26 Jan 2024 09:44:56 +0100 @@ -501,55 +513,7 @@ llvm-toolchain-snapshot (1:18~++20230725115106+b6847edfc235-1~exp1) experimental -- Sylvestre Ledru Tue, 25 Jul 2023 23:52:42 +0200 -llvm-toolchain-17 (1:17.0.6-12) unstable; urgency=medium - - * Add oracular as supported release - - -- Gianfranco Costamagna Sat, 04 May 2024 07:30:47 +0200 - -llvm-toolchain-17 (1:17.0.6-11) unstable; urgency=medium - - * Disable --as-needed on armel - * Pass LLVM_EXPERIMENTAL_TARGETS_TO_BUILD to stage 1 to (try to) build M68k - (Closes: #1067646) - - -- Sylvestre Ledru Sun, 28 Apr 2024 18:00:09 +0200 - -llvm-toolchain-17 (1:17.0.6-10) unstable; urgency=medium - - [ Matthias Klose ] - * Fix libomp symbols file for t64. - - [ Sylvestre Ledru ] - * Allow build on machines without too many CPU - Thanks to Santiago Vila for the patch - (Closes: #1067714) - * Disable Loongson SIMD Extension (LSX) and Loongson - Advanced SIMD Extension (LASX) on 17 (Closes: #1068169) - - -- Sylvestre Ledru Wed, 24 Apr 2024 12:22:47 +0200 - -llvm-toolchain-17 (1:17.0.6-9) unstable; urgency=medium - - [ Gianfranco Costamagna ] - * Bump version to -9, the -8 is already used in Ubuntu - - [ Matthias Klose ] - * Make libclang-common-17-dev architecture dependent. - * Fix sanitizer build on 32bit time_t64 architectures. - * Enable compiler-rt runtime again for 32bit time_t64 architectures. - * Add a stage1 profile to disable curl, grpc and spirv. - * Build with --as-needed. - - -- Matthias Klose Fri, 08 Mar 2024 14:52:29 +0100 - -llvm-toolchain-17 (1:17.0.6-7) unstable; urgency=medium - - * Fix mxgot export on mips64el - - -- Gianfranco Costamagna Mon, 04 Mar 2024 16:09:18 +0100 - -llvm-toolchain-17 (1:17.0.6-6) unstable; urgency=medium +llvm-toolchain-17 (1:17.0.6-6) UNRELEASED; urgency=medium [ chenli ] * Enable flang on loong64 @@ -557,13 +521,6 @@ llvm-toolchain-17 (1:17.0.6-6) unstable; urgency=medium [ Sylvestre Ledru ] * try to enable sccache on 'my' s390x machines - [ Steve Langasek ] - * Rename libraries for 64-bit time_t transition. - - [ Gianfranco Costamagna ] - * Fix 32bit builds - * Export mxgot on mips64el - -- Sylvestre Ledru Wed, 24 Jan 2024 13:29:35 +0100 llvm-toolchain-17 (1:17.0.6-5) unstable; urgency=medium @@ -818,74 +775,6 @@ llvm-toolchain-snapshot (1:17~++20230128060150+75153adeda1a-1~exp1) experimental -- Sylvestre Ledru Sat, 28 Jan 2023 18:07:40 +0100 -llvm-toolchain-16 (1:16.0.6-26) unstable; urgency=medium - - * Disable --as-needed on armel - - -- Sylvestre Ledru Sat, 27 Apr 2024 01:12:00 +0200 - -llvm-toolchain-16 (1:16.0.6-25) unstable; urgency=medium - - * Fix libomp symbols file for t64. - - -- Matthias Klose Sun, 14 Apr 2024 11:55:50 +0200 - -llvm-toolchain-16 (1:16.0.6-24) unstable; urgency=medium - - [ Matthias Klose ] - * Add a stage1 profile to disable curl, grpc and spirv. - * Build with --as-needed. - * ASan: move allocator base to avoid conflict with high-entropy ASLR - for x86-64 Linux. Patch taken from LLVM 17. - - -- Matthias Klose Sat, 16 Mar 2024 22:12:22 +0100 - -llvm-toolchain-16 (1:16.0.6-23) unstable; urgency=medium - - [ Matthias Klose ] - * Fix sanitizer build on 32bit time_t64 architectures. - - -- Gianfranco Costamagna Mon, 11 Mar 2024 22:48:48 +0100 - -llvm-toolchain-16 (1:16.0.6-22) unstable; urgency=medium - - [ Gianfranco Costamagna ] - * Disable tests on mips64el - - [ Matthias Klose ] - * Fix sanitizer build on 32bit time_t64 architectures. - - -- Gianfranco Costamagna Wed, 06 Mar 2024 08:38:53 +0100 - -llvm-toolchain-16 (1:16.0.6-21) unstable; urgency=medium - - [ Steve Langasek ] - * Rename libraries for 64-bit time_t transition. - - [ Gianfranco Costamagna ] - * Fix 32bit builds - - -- Gianfranco Costamagna Sun, 03 Mar 2024 12:02:57 +0100 - -llvm-toolchain-16 (1:16.0.6-20) unstable; urgency=medium - - [ John Paul Adrian Glaubitz ] - * Don't install *clang_rt* on sparc and sparc64 - - [ Matthias Klose ] - * Remove unused import of imp module in scan-view, removed in Python 3.12. - - -- John Paul Adrian Glaubitz Sat, 24 Feb 2024 08:54:59 +0100 - -llvm-toolchain-16 (1:16.0.6-19) unstable; urgency=medium - - * Revert my ugly fix for 1052002. - - [ Faidon Liambotis ] - * Improve the fix for the bug 1052002. - - -- Sylvestre Ledru Thu, 23 Nov 2023 16:27:52 +0100 - llvm-toolchain-16 (1:16.0.6-18) unstable; urgency=medium [ Gianfranco Costamagna ] @@ -928,7 +817,7 @@ llvm-toolchain-16 (1:16.0.6-16) unstable; urgency=medium [ Gianfranco Costamagna ] * Make libclang-common-16-dev arch:any (Closes: #1041455) - It was arch:all because all the code isn't arch dependant + It was arch:all because all the code isn't arch dependent However, it causes issues for cross build. So, back to any and libclang-common-@LLVM_VERSION@-dev (= ${binary:Version}) instead of source @@ -7185,7 +7074,7 @@ llvm-toolchain-3.4 (1:3.4~+rc3-1) unstable; urgency=low llvm-toolchain-3.4 (1:3.4~+rc2-3) unstable; urgency=low - * Fix the bad declaration on the lldb desactivation + * Fix the bad declaration on the lldb deactivation * Also disable lldb under powerpc * Hopefully, fix lldb under Kfreebsd-* (thanks to Ed Maste if it works) diff --git a/debian/clang-X.Y-doc.install.in b/debian/clang-X.Y-doc.install.in index 20e442da..20f49569 100644 --- a/debian/clang-X.Y-doc.install.in +++ b/debian/clang-X.Y-doc.install.in @@ -1,3 +1,3 @@ -usr/lib/llvm-@LLVM_VERSION@/share/clang/clang-doc-default-stylesheet.css -usr/lib/llvm-@LLVM_VERSION@/share/clang/index.js +usr/lib/llvm-@LLVM_VERSION@/share/clang-doc/clang-doc-default-stylesheet.css +usr/lib/llvm-@LLVM_VERSION@/share/clang-doc/index.js diff --git a/debian/clang-tools-X.Y.install.in b/debian/clang-tools-X.Y.install.in index 3b829b49..744f7a73 100644 --- a/debian/clang-tools-X.Y.install.in +++ b/debian/clang-tools-X.Y.install.in @@ -38,6 +38,8 @@ usr/lib/llvm-@LLVM_VERSION@/bin/clang-tblgen usr/lib/llvm-@LLVM_VERSION@/bin/clang-include-cleaner usr/lib/llvm-@LLVM_VERSION@/bin/amdgpu-arch usr/lib/llvm-@LLVM_VERSION@/bin/nvptx-arch +usr/lib/llvm-@LLVM_VERSION@/bin/clang-installapi +usr/lib/llvm-@LLVM_VERSION@/bin/clang-nvlink-wrapper usr/lib/llvm-@LLVM_VERSION@/bin/analyze-build usr/lib/llvm-@LLVM_VERSION@/bin/intercept-build @@ -62,7 +64,7 @@ usr/lib/llvm-@LLVM_VERSION@/libexec/intercept-c++ usr/lib/llvm-@LLVM_VERSION@/libexec/intercept-cc # See compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake / HWASAN_SUPPORTED_ARCH -[amd64 arm64 riscv64 i386 x32] usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION@/bin/hwasan_symbolize +[amd64 arm64 riscv64 i386] usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION@/bin/hwasan_symbolize clang/tools/scan-build-@LLVM_VERSION@ usr/share/clang/ clang/tools/scan-view-@LLVM_VERSION@ usr/share/clang/ @@ -105,3 +107,5 @@ usr/bin/clang-tblgen-@LLVM_VERSION@ usr/bin/clang-include-cleaner-@LLVM_VERSION@ usr/bin/amdgpu-arch-@LLVM_VERSION@ usr/bin/nvptx-arch-@LLVM_VERSION@ +usr/bin/clang-installapi-@LLVM_VERSION@ +usr/bin/clang-nvlink-wrapper-@LLVM_VERSION@ diff --git a/debian/control b/debian/control index 79c3255d..3df5c492 100644 --- a/debian/control +++ b/debian/control @@ -1,4 +1,4 @@ -Source: llvm-toolchain-18 +Source: llvm-toolchain-19 Section: devel Priority: optional Rules-Requires-Root: no @@ -16,18 +16,18 @@ Build-Depends: debhelper (>= 10.0), cmake, ninja-build, libipt-dev [amd64 i386], lcov, procps, help2man, zlib1g-dev, libzstd-dev, - g++-multilib [amd64 i386 kfreebsd-amd64 mips64 mips64el mipsel powerpc ppc64 sparc sparc64 x32], - libjs-mathjax, python3-myst-parser | python3-recommonmark, - doxygen, + g++-multilib [amd64 i386 mips64 mips64el mipsel powerpc ppc64 s390x sparc sparc64 x32] | hello, + libjs-mathjax, python3-myst-parser | python3-recommonmark, python3-pexpect, + doxygen, time, ocaml-base [amd64 arm64 ppc64el riscv64 s390x] | ocaml-nox [amd64 arm64 ppc64el riscv64 s390x], ocaml-findlib [amd64 arm64 ppc64el riscv64 s390x], libctypes-ocaml-dev [amd64 arm64 ppc64el riscv64 s390x], dh-exec, dh-ocaml [amd64 arm64 ppc64el riscv64 s390x], - libpfm4-dev [linux-any], python3-setuptools, libz3-dev, + libpfm4-dev [linux-any], python3-setuptools, libz3-dev [!sh4], # "| hello" is for older buster/bionic distros without spirv support # We need to keep the constraints coherent between the two alternatives, otherwise # hello would get installed unexpectedly and prevent e.g. wasi-libc from getting pulled - llvm-spirv-18 [amd64 arm64 armhf i386 ppc64el mips64el riscv64 s390x ppc64 hurd-i386 loong64 sparc64 x32] | hello [amd64 arm64 armhf i386 ppc64el mips64el riscv64 s390x ppc64 hurd-i386 loong64 sparc64 x32] , + llvm-spirv-19 [amd64 arm64 armhf i386 ppc64 ppc64el riscv64 s390x] | hello [amd64 arm64 armhf i386 ppc64 ppc64el riscv64 s390x] , spirv-tools [linux-any] | hello [linux-any] , wasi-libc | hello, libcurl4-openssl-dev | libcurl-dev , @@ -38,23 +38,23 @@ Build-Depends: debhelper (>= 10.0), cmake, ninja-build, Build-Conflicts: oprofile Standards-Version: 4.7.0 Homepage: https://www.llvm.org/ -Vcs-Git: https://salsa.debian.org/pkg-llvm-team/llvm-toolchain.git -b 18 -Vcs-Browser: https://salsa.debian.org/pkg-llvm-team/llvm-toolchain/tree/18 +Vcs-Git: https://salsa.debian.org/pkg-llvm-team/llvm-toolchain.git -b 19 +Vcs-Browser: https://salsa.debian.org/pkg-llvm-team/llvm-toolchain/tree/19 # ------------- clang ------------- -Package: clang-18 +Package: clang-19 Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends}, ${dep:devlibs}, ${dep:devlibs-objc}, - libllvm18 (= ${binary:Version}), - libclang-common-18-dev (= ${binary:Version}), - llvm-18-linker-tools (= ${binary:Version}), - libclang1-18 (= ${binary:Version}), libc6-dev, binutils + libllvm19 (= ${binary:Version}), + libclang-common-19-dev (= ${binary:Version}), + llvm-19-linker-tools (= ${binary:Version}), + libclang1-19 (= ${binary:Version}), libc6-dev, binutils Provides: c-compiler, objc-compiler, c++-compiler, objc++-compiler -Recommends: llvm-18-dev, python3 -# libomp-18-dev -Suggests: clang-18-doc, wasi-libc +Recommends: llvm-19-dev, python3 +# libomp-19-dev +Suggests: clang-19-doc, wasi-libc Description: C, C++ and Objective-C compiler Clang project is a C, C++, Objective C and Objective C++ front-end based on the LLVM compiler. Its goal is to offer a replacement to the @@ -63,9 +63,9 @@ Description: C, C++ and Objective-C compiler Clang implements all of the ISO C++ 1998, 11, 14 and 17 standards and also provides most of the support of C++20. -Package: clang-tools-18 +Package: clang-tools-19 Architecture: any -Depends: ${shlibs:Depends}, ${misc:Depends}, clang-18 (= ${binary:Version}), +Depends: ${shlibs:Depends}, ${misc:Depends}, clang-19 (= ${binary:Version}), python3 Description: clang-based tools for C/C++ developments Clang project is a C, C++, Objective C and Objective C++ front-end @@ -77,10 +77,10 @@ Description: clang-based tools for C/C++ developments . This package contains some clang-based tools like scan-build, clang-cl, etc. -Package: clang-format-18 +Package: clang-format-19 Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends}, python3, - libllvm18 (= ${binary:Version}) + libllvm19 (= ${binary:Version}) Description: Tool to format C/C++/Obj-C code Clang-format is both a library and a stand-alone tool with the goal of automatically reformatting C++ sources files according to configurable @@ -93,23 +93,23 @@ Description: Tool to format C/C++/Obj-C code . This package also provides vim and emacs plugins. -Package: clang-tidy-18 +Package: clang-tidy-19 Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends}, python3, - libllvm18 (= ${binary:Version}), - libclang-common-18-dev (= ${binary:Version}), - clang-tools-18, python3-yaml + libllvm19 (= ${binary:Version}), + libclang-common-19-dev (= ${binary:Version}), + clang-tools-19, python3-yaml Description: clang-based C++ linter tool Provide an extensible framework for diagnosing and fixing typical programming errors, like style violations, interface misuse, or bugs that can be deduced via static analysis. clang-tidy is modular and provides a convenient interface for writing new checks. -Package: clangd-18 +Package: clangd-19 Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends}, - libllvm18 (= ${binary:Version}), - libclang-common-18-dev (= ${binary:Version}), + libllvm19 (= ${binary:Version}), + libclang-common-19-dev (= ${binary:Version}), Description: Language server that provides IDE-like features to editors clangd understands your C++ code and adds smart features to your editor: - code completion @@ -120,7 +120,7 @@ Description: Language server that provides IDE-like features to editors clangd is a language server that implements the Language Server Protocol; it can work with many editors through a plugin. -Package: clang-18-doc +Package: clang-19-doc Architecture: all Multi-Arch: foreign Section: doc @@ -135,7 +135,7 @@ Description: C, C++ and Objective-C compiler - Documentation . This package contains the documentation. -Package: libclang1-18 +Package: libclang1-19 Provides: ${t64:Provides} Section: libs Architecture: any @@ -157,12 +157,12 @@ Description: C interface to the Clang library locations with elements within the AST, and other facilities that support Clang-based development tools. -Package: libclang-18-dev +Package: libclang-19-dev Architecture: any Section: libdevel Depends: ${shlibs:Depends}, ${misc:Depends}, ${dep:devlibs}, - ${dep:devlibs-objc}, libclang1-18 (= ${binary:Version}), - libclang-common-18-dev (= ${binary:Version}) + ${dep:devlibs-objc}, libclang1-19 (= ${binary:Version}), + libclang-common-19-dev (= ${binary:Version}) Description: Clang library - Development package Clang project is a C, C++, Objective C and Objective C++ front-end based on the LLVM compiler. Its goal is to offer a replacement to the @@ -172,14 +172,14 @@ Description: Clang library - Development package provides most of the support of C++20. . This package contains the Clang headers to develop extensions over - libclang1-18. + libclang1-19. -Package: libclang-common-18-dev +Package: libclang-common-19-dev Architecture: any Multi-Arch: same Section: libdevel Depends: ${shlibs:Depends}, ${misc:Depends}, -Recommends: libclang-rt-18-dev +Recommends: libclang-rt-19-dev Description: Clang library - Common development package Clang project is a C, C++, Objective C and Objective C++ front-end based on the LLVM compiler. Its goal is to offer a replacement to the @@ -192,7 +192,7 @@ Description: Clang library - Common development package # ------------- compiler-rt ------------- -Package: libclang-rt-18-dev +Package: libclang-rt-19-dev Architecture: any Multi-Arch: same Section: libdevel @@ -208,7 +208,7 @@ Description: Compiler-rt - development package DataFlowSanitizer, etc * profile - Library which is used to collect coverage information. -Package: libclang-rt-18-dev-wasm32 +Package: libclang-rt-19-dev-wasm32 Architecture: all Multi-Arch: foreign Section: libdevel @@ -216,7 +216,7 @@ Depends: ${shlibs:Depends}, ${misc:Depends} Description: Compiler-rt - wasm32 builtins Provides the compiler-rt builtins for WebAssembly 32 bits -Package: libclang-rt-18-dev-wasm64 +Package: libclang-rt-19-dev-wasm64 Architecture: all Multi-Arch: foreign Section: libdevel @@ -226,7 +226,7 @@ Description: Compiler-rt - wasm64 builtins # ------------- polly ------------- -Package: libpolly-18-dev +Package: libpolly-19-dev Architecture: any Multi-Arch: same Section: libdevel @@ -237,11 +237,11 @@ Description: High-level loop and data-locality optimizer # ------------- clang libraries ------------- -Package: libclang-cpp18 +Package: libclang-cpp19 Provides: ${t64:Provides} Section: libs Architecture: any -Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm18 (= ${binary:Version}) +Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm19 (= ${binary:Version}) Pre-Depends: ${misc:Pre-Depends} Description: C++ interface to the Clang library Clang project is a C, C++, Objective C and Objective C++ front-end @@ -259,12 +259,12 @@ Description: C++ interface to the Clang library locations with elements within the AST, and other facilities that support Clang-based development tools. -Package: libclang-cpp18-dev +Package: libclang-cpp19-dev Architecture: any Section: libdevel Depends: ${shlibs:Depends}, ${misc:Depends}, ${dep:devlibs}, - libclang-cpp18 (= ${binary:Version}) -# Move of libclang-cpp.so into libclang-cpp18.dev + libclang-cpp19 (= ${binary:Version}) +# Move of libclang-cpp.so into libclang-cpp19.dev Description: C++ interface to the Clang library Clang project is a C, C++, Objective C and Objective C++ front-end based on the LLVM compiler. Its goal is to offer a replacement to the @@ -285,10 +285,10 @@ Description: C++ interface to the Clang library linker at build time. -Package: libfuzzer-18-dev +Package: libfuzzer-19-dev Architecture: linux-any Section: libdevel -Depends: ${shlibs:Depends}, ${misc:Depends}, clang-18 (= ${binary:Version}) +Depends: ${shlibs:Depends}, ${misc:Depends}, clang-19 (= ${binary:Version}) Description: Library for coverage-guided fuzz testing LibFuzzer is a library for in-process, coverage-guided, evolutionary fuzzing of other libraries. @@ -306,10 +306,10 @@ Description: Library for coverage-guided fuzz testing instrumentation. -Package: python3-clang-18 +Package: python3-clang-19 Section: python Architecture: any -Depends: ${shlibs:Depends}, ${misc:Depends}, python3, libclang-18-dev +Depends: ${shlibs:Depends}, ${misc:Depends}, python3, libclang-19-dev Replaces: python-clang-x.y, Conflicts: python-clang-x.y Provides: python-clang-x.y @@ -323,7 +323,7 @@ Description: Clang Python Bindings . This binding package provides access to the Clang compiler and libraries. -Package: clang-18-examples +Package: clang-19-examples Architecture: all Multi-Arch: foreign Section: doc @@ -340,15 +340,15 @@ Description: Clang examples # ------------- LLVM ------------- -Package: libllvm18 +Package: libllvm19 Provides: ${t64:Provides} Architecture: any Section: libs Depends: ${shlibs:Depends}, ${misc:Depends} Pre-Depends: ${misc:Pre-Depends} Multi-Arch: same -Breaks: llvm-18-dev (<< 1:18.1.8-8) -Replaces: llvm-18-dev (<< 1:18.1.8-8) +Breaks: llvm-19-dev (<< 1:19.1.0~++rc3-1~exp2) +Replaces: llvm-19-dev (<< 1:19.1.0~++rc3-1~exp2) Description: Modular compiler and toolchain technologies, runtime library LLVM is a collection of libraries and tools that make it easy to build compilers, optimizers, just-in-time code generators, and many other @@ -356,7 +356,7 @@ Description: Modular compiler and toolchain technologies, runtime library . This package contains the LLVM runtime library. -Package: llvm-18-linker-tools +Package: llvm-19-linker-tools Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends} Description: Modular compiler and toolchain technologies - Plugins @@ -366,13 +366,13 @@ Description: Modular compiler and toolchain technologies - Plugins . This package contains the LLVMgold and LLVMPolly linker plugins. -Package: llvm-18 +Package: llvm-19 Architecture: any -Suggests: llvm-18-doc -Depends: llvm-18-runtime (= ${binary:Version}), - llvm-18-linker-tools (= ${binary:Version}), +Suggests: llvm-19-doc +Depends: llvm-19-runtime (= ${binary:Version}), + llvm-19-linker-tools (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends} -Recommends: llvm-18-dev +Recommends: llvm-19-dev Description: Modular compiler and toolchain technologies LLVM is a collection of libraries and tools that make it easy to build compilers, optimizers, just-in-time code generators, and many other @@ -396,7 +396,7 @@ Description: Modular compiler and toolchain technologies a young scheme front-end, and Java support is in development. LLVM can generate code for X96, SparcV10, PowerPC or many other architectures. -Package: llvm-18-runtime +Package: llvm-19-runtime Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends} Recommends: binfmt-support | systemd @@ -416,14 +416,14 @@ Description: Modular compiler and toolchain technologies, IR interpreter This package provides the minimal required to execute programs in LLVM format. -Package: llvm-18-dev +Package: llvm-19-dev Architecture: any Depends: ${shlibs:Depends}, libffi-dev, ${misc:Depends}, - llvm-18 (= ${binary:Version}), libllvm18 (= ${binary:Version}), libncurses-dev, - llvm-18-tools (= ${binary:Version}), libclang-cpp18 (= ${binary:Version}), - libz3-dev, libxml2-dev -Breaks: libllvm18 (<< 1:18.1.8-9) -Replaces: libllvm18 (<< 1:18.1.8-9) + llvm-19 (= ${binary:Version}), libllvm19 (= ${binary:Version}), libncurses-dev, + llvm-19-tools (= ${binary:Version}), libclang-cpp19 (= ${binary:Version}), + libxml2-dev, libz3-dev [!sh4], +Breaks: libllvm19 (<< 1:19.1.0-4) +Replaces: libllvm19 (<< 1:19.1.0-4) 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 @@ -440,7 +440,7 @@ Description: Modular compiler and toolchain technologies, libraries and headers This package provides the libraries and headers to develop applications using llvm. -Package: llvm-18-tools +Package: llvm-19-tools Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends}, python3, python3-pygments, python3-yaml, @@ -460,11 +460,11 @@ Description: Modular compiler and toolchain technologies, tools . This package provides tools for testing. -Package: libllvm-18-ocaml-dev +Package: libllvm-19-ocaml-dev Section: ocaml -Architecture: amd64 arm64 ppc64el s390x riscv64 -Suggests: llvm-18-doc -Depends: ${shlibs:Depends}, ${misc:Depends}, ${ocaml:Depends}, llvm-18-dev (= ${binary:Version}) +Architecture: amd64 arm64 ppc64el riscv64 s390x +Suggests: llvm-19-doc +Depends: ${shlibs:Depends}, ${misc:Depends}, ${ocaml:Depends}, llvm-19-dev (= ${binary:Version}) Replaces: libllvm-x.y-ocaml-dev Conflicts: libllvm-x.y-ocaml-dev Provides: ${ocaml:Provides}, libllvm-x.y-ocaml-dev @@ -483,7 +483,7 @@ Description: Modular compiler and toolchain technologies, OCaml bindings . This package provides the OCaml bindings to develop applications using llvm. -Package: llvm-18-doc +Package: llvm-19-doc Section: doc Architecture: all Multi-Arch: foreign @@ -503,10 +503,10 @@ Description: Modular compiler and toolchain technologies, documentation . This package contains all documentation (extensive). -Package: llvm-18-examples +Package: llvm-19-examples Section: doc Architecture: all -Depends: ${misc:Depends}, llvm-18-dev (>= ${source:Version}), llvm-18-dev (<< ${source:Version}+c~) +Depends: ${misc:Depends}, llvm-19-dev (>= ${source:Version}), llvm-19-dev (<< ${source:Version}+c~) Description: Modular compiler and toolchain technologies, examples LLVM is a collection of libraries and tools that make it easy to build compilers, optimizers, just-in-time code generators, and many other @@ -526,20 +526,20 @@ Description: Modular compiler and toolchain technologies, examples # ------------- lld ------------- -Package: lld-18 -Architecture: amd64 arm64 armel armhf i386 mipsel mips64el ppc64el kfreebsd-amd64 kfreebsd-i386 s390 s390x sparc alpha hppa m68k powerpcspe ppc64 sh4 sparc64 x32 riscv64 loong64 +Package: lld-19 +Architecture: amd64 arm64 armel armhf i386 mipsel mips64el ppc64el s390x sparc m68k ppc64 sparc64 x32 riscv64 loong64 # ia64 hurd powerpc have been removed -Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm18 (= ${binary:Version}) +Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm19 (= ${binary:Version}) Pre-Depends: ${misc:Pre-Depends} Description: LLVM-based linker LLD is a new, high-performance linker. It is built as a set of reusable components which highly leverage existing libraries in the larger LLVM Project. -Package: liblld-18 -Architecture: amd64 arm64 armel armhf i386 mipsel mips64el ppc64el kfreebsd-amd64 kfreebsd-i386 s390 s390x sparc alpha hppa m68k powerpcspe ppc64 sh4 sparc64 x32 riscv64 loong64 +Package: liblld-19 +Architecture: amd64 arm64 armel armhf i386 mipsel mips64el ppc64el s390x sparc m68k ppc64 sparc64 x32 riscv64 loong64 # ia64 hurd powerpc have been removed -Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm18 (= ${binary:Version}) +Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm19 (= ${binary:Version}) Pre-Depends: ${misc:Pre-Depends} Section: libs Description: LLVM-based linker, library @@ -549,12 +549,12 @@ Description: LLVM-based linker, library . This package contains the LLD runtime library. -Package: liblld-18-dev +Package: liblld-19-dev Section: libdevel -Architecture: amd64 arm64 armel armhf i386 mipsel mips64el ppc64el kfreebsd-amd64 kfreebsd-i386 s390 s390x sparc alpha hppa m68k powerpcspe ppc64 sh4 sparc64 x32 riscv64 loong64 +Architecture: amd64 arm64 armel armhf i386 mipsel mips64el ppc64el s390x sparc m68k ppc64 sparc64 x32 riscv64 loong64 # ia64 hurd powerpc have been removed -Depends: ${shlibs:Depends}, ${misc:Depends}, lld-18 (= ${binary:Version}), - liblld-18 (= ${binary:Version}), libzstd-dev, zlib1g-dev +Depends: ${shlibs:Depends}, ${misc:Depends}, lld-19 (= ${binary:Version}), + liblld-19 (= ${binary:Version}), libzstd-dev, zlib1g-dev Pre-Depends: ${misc:Pre-Depends} Description: LLVM-based linker, header files LLD is a new, high-performance linker. It is built as a set of reusable @@ -566,22 +566,20 @@ Description: LLVM-based linker, header files # ------------- lldb ------------- -Package: lldb-18 -Architecture: amd64 arm64 armel armhf i386 ppc64el kfreebsd-amd64 kfreebsd-i386 s390 s390x sparc hppa m68k sh4 x32 loong64 riscv64 -# ia64 hurd powerpc powerpcspe ppc64 alpha s390x sparc64 mipsel mips64el have been removed -Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm18 (= ${binary:Version}), - python3-lldb-18 +Package: lldb-19 +Architecture: amd64 arm64 armel armhf i386 loong64 m68k ppc64el riscv64 s390x x32 +Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm19 (= ${binary:Version}), + python3-lldb-19 Pre-Depends: ${misc:Pre-Depends} 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 Project, such as the Clang expression parser and LLVM disassembler. -Package: liblldb-18 +Package: liblldb-19 Provides: ${t64:Provides} -Architecture: amd64 arm64 armel armhf i386 ppc64el kfreebsd-amd64 kfreebsd-i386 s390 s390x sparc hppa m68k sh4 x32 loong64 riscv64 -# ia64 hurd powerpc powerpcspe ppc64 alpha s390x sparc64 mipsel mips64el have been removed -Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm18 (= ${binary:Version}) +Architecture: amd64 arm64 armel armhf i386 loong64 m68k ppc64el riscv64 s390x x32 +Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm19 (= ${binary:Version}) Pre-Depends: ${misc:Pre-Depends} Section: libs Description: Next generation, high-performance debugger, library @@ -591,11 +589,10 @@ Description: Next generation, high-performance debugger, library . This package contains the LLDB runtime library. -Package: python3-lldb-18 +Package: python3-lldb-19 Section: python -Architecture: amd64 arm64 armel armhf i386 ppc64el kfreebsd-amd64 kfreebsd-i386 s390 s390x sparc hppa m68k sh4 x32 loong64 riscv64 -# ia64 hurd powerpc powerpcspe ppc64 alpha s390x sparc64 mipsel mips64el have been removed -Depends: ${shlibs:Depends}, ${misc:Depends}, ${python3:Depends}, liblldb-18 (= ${binary:Version}) +Architecture: amd64 arm64 armel armhf i386 loong64 m68k ppc64el riscv64 s390x x32 +Depends: ${shlibs:Depends}, ${misc:Depends}, ${python3:Depends}, liblldb-19 (= ${binary:Version}) Conflicts: python3-lldb-x.y Replaces: python3-lldb-x.y Provides: python3-lldb-x.y @@ -607,11 +604,10 @@ Description: Next generation, high-performance debugger, python3 lib . This binding package provides access to lldb. -Package: liblldb-18-dev +Package: liblldb-19-dev Section: libdevel -Architecture: amd64 arm64 armel armhf i386 ppc64el kfreebsd-amd64 kfreebsd-i386 s390 s390x sparc hppa m68k sh4 x32 loong64 riscv64 -# ia64 hurd powerpc powerpcspe ppc64 alpha s390x sparc64 mipsel mips64el have been removed -Depends: ${shlibs:Depends}, ${misc:Depends}, lldb-18 (= ${binary:Version}) +Architecture: amd64 arm64 armel armhf i386 loong64 m68k ppc64el riscv64 s390x x32 +Depends: ${shlibs:Depends}, ${misc:Depends}, lldb-19 (= ${binary:Version}) Pre-Depends: ${misc:Pre-Depends} Description: Next generation, high-performance debugger, header files LLDB is a next generation, high-performance debugger. It is built as a set of @@ -625,11 +621,11 @@ Description: Next generation, high-performance debugger, header files # 44 because it was the first version in which openmp & libc++ have been # managed in llvm-defaults -Package: libomp-18-dev +Package: libomp-19-dev Section: libdevel -Architecture: amd64 arm64 armhf i386 loong64 mips64el ppc64el ppc64 riscv64 -Depends: libomp5-18 (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends} -Suggests: libomp-18-doc +Architecture: amd64 arm64 armhf ppc64 ppc64el hurd-amd64 +Depends: libomp5-19 (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends} +Suggests: libomp-19-doc Breaks: libiomp-dev (<< 3.7-1) Provides: libomp-x.y-dev Conflicts: libomp-x.y-dev @@ -639,9 +635,9 @@ Description: LLVM OpenMP runtime - dev package linked against, and that manages the multiple threads in an OpenMP program while it is executing. -Package: libomp5-18 +Package: libomp5-19 Multi-Arch: same -Architecture: amd64 arm64 armhf i386 loong64 mips64el ppc64el ppc64 riscv64 +Architecture: amd64 arm64 armhf ppc64 ppc64el hurd-amd64 Depends: ${shlibs:Depends}, ${misc:Depends} Provides: ${t64:Provides}, libomp-x.y Conflicts: libomp-x.y @@ -651,7 +647,7 @@ Description: LLVM OpenMP runtime linked against, and that manages the multiple threads in an OpenMP program while it is executing. -Package: libomp-18-doc +Package: libomp-19-doc Section: doc Architecture: all Multi-Arch: foreign @@ -667,7 +663,7 @@ Description: LLVM OpenMP runtime - Documentation # ------------- libcxx ------------- -Package: libc++1-18 +Package: libc++1-19 Section: libs Architecture: any Multi-Arch: same @@ -690,13 +686,13 @@ Description: LLVM C++ Standard library as exception objects, rtti and memory allocation. * Extensive unit tests. -Package: libc++-18-dev +Package: libc++-19-dev Section: libdevel Architecture: any Multi-Arch: same -Depends: libc++1-18 (= ${binary:Version}), ${misc:Depends}, - libc++abi-18-dev (= ${binary:Version}), - libunwind-18-dev [amd64 arm64 armhf i386 loong64 ppc64el ppc64 riscv64] +Depends: libc++1-19 (= ${binary:Version}), ${misc:Depends}, + libc++abi-19-dev (= ${binary:Version}), + libunwind-19-dev [amd64 arm64 armhf i386 loong64 ppc64el ppc64 riscv64] Provides: libc++-x.y-dev Conflicts: libc++-x.y-dev Replaces: libc++-x.y-dev @@ -713,11 +709,11 @@ Description: LLVM C++ Standard library (development files) as exception objects, rtti and memory allocation. * Extensive unit tests. -Package: libc++-18-dev-wasm32 +Package: libc++-19-dev-wasm32 Section: libdevel Architecture: all Multi-Arch: foreign -Depends: wasi-libc, libc++abi-18-dev-wasm32, ${misc:Depends} +Depends: wasi-libc, libc++abi-19-dev-wasm32, ${misc:Depends} Provides: libc++-x.y-dev-wasm32 Conflicts: libc++-x.y-dev-wasm32 Replaces: libc++-x.y-dev-wasm32 @@ -738,7 +734,7 @@ Description: LLVM C++ Standard library (WASI) # ------------- libcxxabi ------------- -Package: libc++abi1-18 +Package: libc++abi1-19 Section: libs Architecture: any Multi-Arch: same @@ -756,11 +752,11 @@ Description: LLVM low level support for a standard C++ library * Correctness as defined by the C++ standards. * Provide a portable sublayer to ease the porting of libc++ -Package: libc++abi-18-dev +Package: libc++abi-19-dev Section: libdevel Architecture: any Multi-Arch: same -Depends: libc++abi1-18 (= ${binary:Version}), ${misc:Depends} +Depends: libc++abi1-19 (= ${binary:Version}), ${misc:Depends} Breaks: libc++abi-dev (<= 44) Provides: libc++abi-x.y-dev Conflicts: libc++abi-x.y-dev @@ -774,7 +770,7 @@ Description: LLVM low level support for a standard C++ library (development file * Correctness as defined by the C++ standards. * Provide a portable sublayer to ease the porting of libc++ -Package: libc++abi-18-dev-wasm32 +Package: libc++abi-19-dev-wasm32 Section: libdevel Architecture: all Multi-Arch: foreign @@ -795,14 +791,14 @@ Description: LLVM low level support for a standard C++ library (WASI) # ------------- libclc ------------- -Package: libclc-18 +Package: libclc-19 Section: libs Architecture: all Multi-Arch: foreign Depends: ${misc:Depends}, - libclc-18-dev (= ${binary:Version}), - libclang-common-18-dev, + libclc-19-dev (= ${binary:Version}), + libclang-common-19-dev, Breaks: libclc-amdgcn, libclc-ptx, libclc-r600 Provides: libclc-x.y Conflicts: libclc-x.y @@ -814,7 +810,7 @@ Description: OpenCL C language implementation - platform support This package contains support for the amdgcn (AMD GPU), PTX and r600 platforms. -Package: libclc-18-dev +Package: libclc-19-dev Section: libdevel Architecture: all Multi-Arch: foreign @@ -832,7 +828,7 @@ Description: OpenCL C language implementation - development files # ------------- libunwind ------------- -Package: libunwind-18 +Package: libunwind-19 Section: libs Architecture: amd64 arm64 armhf i386 loong64 ppc64el ppc64 riscv64 Multi-Arch: same @@ -849,13 +845,13 @@ Description: production-quality unwinder 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 Multi-Arch: same Depends: ${misc:Depends}, - libunwind-18 (= ${binary:Version}) + libunwind-19 (= ${binary:Version}) Provides: libunwind-dev, libunwind-x.y-dev Conflicts: libunwind-dev, libunwind-x.y-dev Replaces: libunwind-dev, libunwind-x.y-dev @@ -869,7 +865,7 @@ Description: production-quality unwinder # ------------- mlir ------------- -Package: mlir-18-tools +Package: mlir-19-tools Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends} Description: Multi-Level Intermediate Representation tools @@ -880,7 +876,7 @@ Description: Multi-Level Intermediate Representation tools . This package provides tools. -Package: libmlir-18 +Package: libmlir-19 Section: libs Architecture: any Multi-Arch: same @@ -896,13 +892,13 @@ Description: Multi-Level Intermediate Representation library specific compilers, and aid in connecting existing compilers together. -Package: libmlir-18-dev +Package: libmlir-19-dev Section: libdevel Architecture: any Multi-Arch: same Depends: ${misc:Depends}, - libmlir-18 (= ${binary:Version}) + libmlir-19 (= ${binary:Version}) Breaks: libmlir-dev Provides: libmlir-x.y-dev Conflicts: libmlir-x.y-dev @@ -916,15 +912,15 @@ Description: Multi-Level Intermediate Representation library # ------------- bolt ------------- -Package: bolt-18 +Package: bolt-19 Architecture: amd64 arm64 -Depends: ${shlibs:Depends}, ${misc:Depends}, libbolt-18-dev (= ${binary:Version}), +Depends: ${shlibs:Depends}, ${misc:Depends}, libbolt-19-dev (= ${binary:Version}), Pre-Depends: ${misc:Pre-Depends} Description: Post-link optimizer It achieves the improvements by optimizing application's code layout based on execution profile gathered by sampling profiler. -Package: libbolt-18-dev +Package: libbolt-19-dev Section: libdevel Architecture: amd64 arm64 Depends: ${shlibs:Depends}, ${misc:Depends} @@ -934,11 +930,11 @@ Description: Post-link optimizer # ------------- flang ------------- -Package: flang-18 +Package: flang-19 # no 32bit support # https://github.com/llvm/llvm-project/issues/59845 -Architecture: amd64 arm64 mips64el ppc64el kfreebsd-amd64 ppc64 sparc64 riscv64 loong64 -Depends: ${shlibs:Depends}, ${misc:Depends}, ${dep:devlibs}, libflang-18-dev (= ${binary:Version}), +Architecture: amd64 arm64 ppc64el ppc64 sparc64 riscv64 loong64 +Depends: ${shlibs:Depends}, ${misc:Depends}, ${dep:devlibs}, libflang-19-dev (= ${binary:Version}), Provides: fortran-compiler, gfortran-mod-15 Description: Fortran compiler Ground-up implementation of a Fortran front end written in @@ -947,8 +943,8 @@ Description: Fortran compiler While it is capable of generating executables for a number of examples, some functionalities are still missing. -Package: libflang-18-dev -Architecture: amd64 arm64 mips64el ppc64el kfreebsd-amd64 ppc64 sparc64 riscv64 loong64 +Package: libflang-19-dev +Architecture: amd64 arm64 ppc64el ppc64 sparc64 riscv64 loong64 Section: libdevel Depends: ${shlibs:Depends}, ${misc:Depends}, ${dep:devlibs}, Description: Flang library - Development package @@ -962,9 +958,9 @@ Description: Flang library - Development package # ------------- LLVM libc ------------- -Package: libllvmlibc-18-dev +Package: libllvmlibc-19-dev Section: libdevel -Architecture: amd64 arm64 +Architecture: amd64 arm64 armhf Description: LLVM C Library - dev package Implementation of the C standard library targeting C17 and above. . diff --git a/debian/control.in b/debian/control.in index d362cbe7..dad542de 100644 --- a/debian/control.in +++ b/debian/control.in @@ -16,18 +16,18 @@ Build-Depends: debhelper (>= 10.0), cmake, ninja-build, libipt-dev [amd64 i386], lcov, procps, help2man, zlib1g-dev, libzstd-dev, - g++-multilib [amd64 i386 kfreebsd-amd64 mips64 mips64el mipsel powerpc ppc64 sparc sparc64 x32], - libjs-mathjax, python3-myst-parser | python3-recommonmark, - doxygen, - ocaml-base [amd64 arm64 ppc64el riscv64 s390x] | ocaml-nox [amd64 arm64 ppc64el riscv64 s390x], - ocaml-findlib [amd64 arm64 ppc64el riscv64 s390x], - libctypes-ocaml-dev [amd64 arm64 ppc64el riscv64 s390x], - dh-exec, dh-ocaml [amd64 arm64 ppc64el riscv64 s390x], - libpfm4-dev [linux-any], python3-setuptools, libz3-dev, + g++-multilib [@MULTILIB_ARCHS@] | hello, + libjs-mathjax, python3-myst-parser | python3-recommonmark, python3-pexpect, + doxygen,@USAGE_BUILD_DEP@ + ocaml-base [@OCAML_ARCHS@] | ocaml-nox [@OCAML_ARCHS@], + ocaml-findlib [@OCAML_ARCHS@], + libctypes-ocaml-dev [@OCAML_ARCHS@], + dh-exec, dh-ocaml [@OCAML_ARCHS@], + libpfm4-dev [linux-any], python3-setuptools, @Z3_DEV_DEP@ # "| hello" is for older buster/bionic distros without spirv support # We need to keep the constraints coherent between the two alternatives, otherwise # hello would get installed unexpectedly and prevent e.g. wasi-libc from getting pulled - llvm-spirv-18 [amd64 arm64 armhf i386 ppc64el mips64el riscv64 s390x ppc64 hurd-i386 loong64 sparc64 x32] | hello [amd64 arm64 armhf i386 ppc64el mips64el riscv64 s390x ppc64 hurd-i386 loong64 sparc64 x32] , + llvm-spirv-19 [amd64 arm64 armhf i386 ppc64 ppc64el riscv64 s390x] | hello [amd64 arm64 armhf i386 ppc64 ppc64el riscv64 s390x] , spirv-tools [linux-any] | hello [linux-any] , wasi-libc | hello, libcurl4-openssl-dev | libcurl-dev , @@ -347,8 +347,8 @@ Section: libs Depends: ${shlibs:Depends}, ${misc:Depends} Pre-Depends: ${misc:Pre-Depends} Multi-Arch: same -Breaks: llvm-@LLVM_VERSION@-dev (<< 1:18.1.8-8) -Replaces: llvm-@LLVM_VERSION@-dev (<< 1:18.1.8-8) +Breaks: llvm-@LLVM_VERSION@-dev (<< 1:19.1.0~++rc3-1~exp2) +Replaces: llvm-@LLVM_VERSION@-dev (<< 1:19.1.0~++rc3-1~exp2) Description: Modular compiler and toolchain technologies, runtime library LLVM is a collection of libraries and tools that make it easy to build compilers, optimizers, just-in-time code generators, and many other @@ -421,9 +421,9 @@ Architecture: any Depends: ${shlibs:Depends}, libffi-dev, ${misc:Depends}, llvm-@LLVM_VERSION@ (= ${binary:Version}), libllvm@LLVM_VERSION@ (= ${binary:Version}), libncurses-dev, llvm-@LLVM_VERSION@-tools (= ${binary:Version}), libclang-cpp@LLVM_VERSION@ (= ${binary:Version}), - libz3-dev, libxml2-dev -Breaks: libllvm@LLVM_VERSION@ (<< 1:18.1.8-9) -Replaces: libllvm@LLVM_VERSION@ (<< 1:18.1.8-9) + libxml2-dev, @Z3_DEV_DEP@ +Breaks: libllvm@LLVM_VERSION@ (<< 1:19.1.0-4) +Replaces: libllvm@LLVM_VERSION@ (<< 1:19.1.0-4) 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 @@ -462,7 +462,7 @@ Description: Modular compiler and toolchain technologies, tools Package: libllvm-@LLVM_VERSION@-ocaml-dev Section: ocaml -Architecture: amd64 arm64 ppc64el s390x riscv64 +Architecture: @OCAML_ARCHS@ Suggests: llvm-@LLVM_VERSION@-doc Depends: ${shlibs:Depends}, ${misc:Depends}, ${ocaml:Depends}, llvm-@LLVM_VERSION@-dev (= ${binary:Version}) Replaces: libllvm-x.y-ocaml-dev @@ -527,7 +527,7 @@ Description: Modular compiler and toolchain technologies, examples # ------------- lld ------------- Package: lld-@LLVM_VERSION@ -Architecture: amd64 arm64 armel armhf i386 mipsel mips64el ppc64el kfreebsd-amd64 kfreebsd-i386 s390 s390x sparc alpha hppa m68k powerpcspe ppc64 sh4 sparc64 x32 riscv64 loong64 +Architecture: amd64 arm64 armel armhf i386 mipsel mips64el ppc64el s390x sparc m68k ppc64 sparc64 x32 riscv64 loong64 # ia64 hurd powerpc have been removed Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm@LLVM_VERSION@ (= ${binary:Version}) Pre-Depends: ${misc:Pre-Depends} @@ -537,7 +537,7 @@ Description: LLVM-based linker Project. Package: liblld-@LLVM_VERSION@ -Architecture: amd64 arm64 armel armhf i386 mipsel mips64el ppc64el kfreebsd-amd64 kfreebsd-i386 s390 s390x sparc alpha hppa m68k powerpcspe ppc64 sh4 sparc64 x32 riscv64 loong64 +Architecture: amd64 arm64 armel armhf i386 mipsel mips64el ppc64el s390x sparc m68k ppc64 sparc64 x32 riscv64 loong64 # ia64 hurd powerpc have been removed Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm@LLVM_VERSION@ (= ${binary:Version}) Pre-Depends: ${misc:Pre-Depends} @@ -551,7 +551,7 @@ Description: LLVM-based linker, library Package: liblld-@LLVM_VERSION@-dev Section: libdevel -Architecture: amd64 arm64 armel armhf i386 mipsel mips64el ppc64el kfreebsd-amd64 kfreebsd-i386 s390 s390x sparc alpha hppa m68k powerpcspe ppc64 sh4 sparc64 x32 riscv64 loong64 +Architecture: amd64 arm64 armel armhf i386 mipsel mips64el ppc64el s390x sparc m68k ppc64 sparc64 x32 riscv64 loong64 # ia64 hurd powerpc have been removed Depends: ${shlibs:Depends}, ${misc:Depends}, lld-@LLVM_VERSION@ (= ${binary:Version}), liblld-@LLVM_VERSION@ (= ${binary:Version}), libzstd-dev, zlib1g-dev @@ -567,8 +567,7 @@ Description: LLVM-based linker, header files # ------------- lldb ------------- Package: lldb-@LLVM_VERSION@ -Architecture: amd64 arm64 armel armhf i386 ppc64el kfreebsd-amd64 kfreebsd-i386 s390 s390x sparc hppa m68k sh4 x32 loong64 riscv64 -# ia64 hurd powerpc powerpcspe ppc64 alpha s390x sparc64 mipsel mips64el have been removed +Architecture: @LLDB_ARCHS@ Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm@LLVM_VERSION@ (= ${binary:Version}), python3-lldb-@LLVM_VERSION@ Pre-Depends: ${misc:Pre-Depends} @@ -579,8 +578,7 @@ Description: Next generation, high-performance debugger Package: liblldb-@LLVM_VERSION@ Provides: ${t64:Provides} -Architecture: amd64 arm64 armel armhf i386 ppc64el kfreebsd-amd64 kfreebsd-i386 s390 s390x sparc hppa m68k sh4 x32 loong64 riscv64 -# ia64 hurd powerpc powerpcspe ppc64 alpha s390x sparc64 mipsel mips64el have been removed +Architecture: @LLDB_ARCHS@ Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm@LLVM_VERSION@ (= ${binary:Version}) Pre-Depends: ${misc:Pre-Depends} Section: libs @@ -593,8 +591,7 @@ Description: Next generation, high-performance debugger, library Package: python3-lldb-@LLVM_VERSION@ Section: python -Architecture: amd64 arm64 armel armhf i386 ppc64el kfreebsd-amd64 kfreebsd-i386 s390 s390x sparc hppa m68k sh4 x32 loong64 riscv64 -# ia64 hurd powerpc powerpcspe ppc64 alpha s390x sparc64 mipsel mips64el have been removed +Architecture: @LLDB_ARCHS@ Depends: ${shlibs:Depends}, ${misc:Depends}, ${python3:Depends}, liblldb-@LLVM_VERSION@ (= ${binary:Version}) Conflicts: python3-lldb-x.y Replaces: python3-lldb-x.y @@ -609,8 +606,7 @@ Description: Next generation, high-performance debugger, python3 lib Package: liblldb-@LLVM_VERSION@-dev Section: libdevel -Architecture: amd64 arm64 armel armhf i386 ppc64el kfreebsd-amd64 kfreebsd-i386 s390 s390x sparc hppa m68k sh4 x32 loong64 riscv64 -# ia64 hurd powerpc powerpcspe ppc64 alpha s390x sparc64 mipsel mips64el have been removed +Architecture: @LLDB_ARCHS@ Depends: ${shlibs:Depends}, ${misc:Depends}, lldb-@LLVM_VERSION@ (= ${binary:Version}) Pre-Depends: ${misc:Pre-Depends} Description: Next generation, high-performance debugger, header files @@ -627,7 +623,7 @@ Description: Next generation, high-performance debugger, header files Package: libomp-@LLVM_VERSION@-dev Section: libdevel -Architecture: amd64 arm64 armhf i386 loong64 mips64el ppc64el ppc64 riscv64 +Architecture: @OMP_ARCHS@ Depends: libomp5-@LLVM_VERSION@ (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends} Suggests: libomp-@LLVM_VERSION@-doc Breaks: libiomp-dev (<< 3.7-1) @@ -641,7 +637,7 @@ Description: LLVM OpenMP runtime - dev package Package: libomp5-@LLVM_VERSION@ Multi-Arch: same -Architecture: amd64 arm64 armhf i386 loong64 mips64el ppc64el ppc64 riscv64 +Architecture: @OMP_ARCHS@ Depends: ${shlibs:Depends}, ${misc:Depends} Provides: ${t64:Provides}, libomp-x.y Conflicts: libomp-x.y @@ -937,7 +933,7 @@ Description: Post-link optimizer Package: flang-@LLVM_VERSION@ # no 32bit support # https://github.com/llvm/llvm-project/issues/59845 -Architecture: amd64 arm64 mips64el ppc64el kfreebsd-amd64 ppc64 sparc64 riscv64 loong64 +Architecture: @FLANG_ARCHS@ Depends: ${shlibs:Depends}, ${misc:Depends}, ${dep:devlibs}, libflang-@LLVM_VERSION@-dev (= ${binary:Version}), Provides: fortran-compiler, gfortran-mod-15 Description: Fortran compiler @@ -948,7 +944,7 @@ Description: Fortran compiler of examples, some functionalities are still missing. Package: libflang-@LLVM_VERSION@-dev -Architecture: amd64 arm64 mips64el ppc64el kfreebsd-amd64 ppc64 sparc64 riscv64 loong64 +Architecture: @FLANG_ARCHS@ Section: libdevel Depends: ${shlibs:Depends}, ${misc:Depends}, ${dep:devlibs}, Description: Flang library - Development package @@ -964,7 +960,7 @@ Description: Flang library - Development package Package: libllvmlibc-@LLVM_VERSION@-dev Section: libdevel -Architecture: amd64 arm64 +Architecture: amd64 arm64 armhf Description: LLVM C Library - dev package Implementation of the C standard library targeting C17 and above. . diff --git a/debian/copyright b/debian/copyright index 853eb278..8fef1e75 100644 --- a/debian/copyright +++ b/debian/copyright @@ -1,6 +1,7 @@ Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Upstream-Name: LLVM/Clang -Source: https://llvm.org/releases/download.html +Source: https://github.com/llvm/llvm-project +Files-Excluded: .github .gitattributes .git-blame-ignore-revs .gitignore Files: * Copyright: 2003-2017 University of Illinois at Urbana-Champaign. diff --git a/debian/flang-X.Y.install.in b/debian/flang-X.Y.install.in index ea5cafb0..2a57d2d4 100644 --- a/debian/flang-X.Y.install.in +++ b/debian/flang-X.Y.install.in @@ -1,14 +1,12 @@ usr/lib/llvm-@LLVM_VERSION@/bin/bbc usr/lib/llvm-@LLVM_VERSION@/bin/f18-parse-demo usr/lib/llvm-@LLVM_VERSION@/bin/fir-opt -usr/lib/llvm-@LLVM_VERSION@/bin/flang-to-external-fc usr/lib/llvm-@LLVM_VERSION@/bin/flang-new usr/lib/llvm-@LLVM_VERSION@/bin/tco usr/bin/bbc-@LLVM_VERSION@ usr/bin/f18-parse-demo-@LLVM_VERSION@ usr/bin/fir-opt-@LLVM_VERSION@ -usr/bin/flang-to-external-fc-@LLVM_VERSION@ usr/bin/flang-new-@LLVM_VERSION@ usr/bin/tco-@LLVM_VERSION@ diff --git a/debian/libc++-X.Y-dev-wasm32.install.in b/debian/libc++-X.Y-dev-wasm32.install.in index e79cc362..7c8171f6 100644 --- a/debian/libc++-X.Y-dev-wasm32.install.in +++ b/debian/libc++-X.Y-dev-wasm32.install.in @@ -1,4 +1,5 @@ usr/lib/llvm-@LLVM_VERSION@/lib/wasm32-wasi/libc++.a usr/lib/llvm-@LLVM_VERSION@/lib/wasm32-wasi/libc++experimental.a +usr/lib/llvm-@LLVM_VERSION@/lib/wasm32-wasi/libc++.modules.json usr/lib/llvm-@LLVM_VERSION@/include/wasm32-wasi/c++/ usr/lib/llvm-@LLVM_VERSION@/include/wasm32-wasi/c++/v1/ diff --git a/debian/libc++1-X.Y.links.in b/debian/libc++1-X.Y.links.in index a12b1707..4d1955c5 100644 --- a/debian/libc++1-X.Y.links.in +++ b/debian/libc++1-X.Y.links.in @@ -1,4 +1,2 @@ usr/lib/llvm-@LLVM_VERSION@/lib/libc++.so.1.0 /usr/lib/@DEB_HOST_MULTIARCH@/libc++.so.1.0 -# when LLVM_ENABLE_PER_TARGET_RUNTIME_DIR=ON: -#usr/lib/llvm-@LLVM_VERSION@/lib/@DEB_HOST_MULTIARCH_LLVM@/libc++.so.1.0 /usr/lib/@DEB_HOST_MULTIARCH@/libc++.so.1.0 /usr/lib/@DEB_HOST_MULTIARCH@/libc++.so.1.0 /usr/lib/@DEB_HOST_MULTIARCH@/libc++.so.1 diff --git a/debian/libc++abi1-X.Y.links.in b/debian/libc++abi1-X.Y.links.in index b054e34b..a57ef065 100644 --- a/debian/libc++abi1-X.Y.links.in +++ b/debian/libc++abi1-X.Y.links.in @@ -1,4 +1,2 @@ usr/lib/llvm-@LLVM_VERSION@/lib/libc++abi.so.1.0 /usr/lib/@DEB_HOST_MULTIARCH@/libc++abi.so.1.0 -# when LLVM_ENABLE_PER_TARGET_RUNTIME_DIR=ON: -usr/lib/llvm-@LLVM_VERSION@/lib/@DEB_HOST_MULTIARCH_LLVM@/libc++abi.so.1.0 /usr/lib/@DEB_HOST_MULTIARCH@/libc++abi.so.1.0 /usr/lib/@DEB_HOST_MULTIARCH@/libc++abi.so.1.0 /usr/lib/@DEB_HOST_MULTIARCH@/libc++abi.so.1 diff --git a/debian/libclang-common-X.Y-dev.install.in b/debian/libclang-common-X.Y-dev.install.in index b059a8ed..7b9dc172 100644 --- a/debian/libclang-common-X.Y-dev.install.in +++ b/debian/libclang-common-X.Y-dev.install.in @@ -2,9 +2,10 @@ usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION@*/include/*.h usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION@*/include/module.modulemap -usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION@*/include/xray/ -usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION@*/include/profile/ +[!armel !armhf !powerpc !x32 !hurd-any] usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION@*/include/xray/ +[!armel !armhf !powerpc !x32 !hurd-any] usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION@*/include/profile/ usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION@*/include/ppc_wrappers/ usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION@*/include/openmp_wrappers/ usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION@*/include/cuda_wrappers/ usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION@*/include/llvm_libc_wrappers/*.h +usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION@*/include/zos_wrappers/ diff --git a/debian/libclang-cppX.Y.install.in b/debian/libclang-cppX.Y.install.in index 88ea883a..25c30797 100644 --- a/debian/libclang-cppX.Y.install.in +++ b/debian/libclang-cppX.Y.install.in @@ -1 +1 @@ -usr/lib/llvm-@LLVM_VERSION@/lib/libclang-cpp.so.@LLVM_VERSION@.1 +usr/lib/llvm-@LLVM_VERSION@/lib/libclang-cpp.so.@LLVM_VERSION@.@LLVM_VERSION_MINOR@ /usr/lib/@DEB_HOST_MULTIARCH@/ diff --git a/debian/libclang-cppX.Y.links.in b/debian/libclang-cppX.Y.links.in index e76b5b28..5d0e8f2a 100644 --- a/debian/libclang-cppX.Y.links.in +++ b/debian/libclang-cppX.Y.links.in @@ -1,2 +1,2 @@ -usr/lib/llvm-@LLVM_VERSION@/lib/libclang-cpp.so.@LLVM_VERSION@.1 /usr/lib/@DEB_HOST_MULTIARCH@/libclang-cpp.so.@LLVM_VERSION@ -usr/lib/llvm-@LLVM_VERSION@/lib/libclang-cpp.so.@LLVM_VERSION@.1 /usr/lib/@DEB_HOST_MULTIARCH@/libclang-cpp.so.@LLVM_VERSION@.1 +# symlink from the LLVM libdir to the system libdir +usr/lib/@DEB_HOST_MULTIARCH@/libclang-cpp.so.@LLVM_VERSION@.1 usr/lib/llvm-@LLVM_VERSION@/lib/libclang-cpp.so.@LLVM_VERSION@.1 diff --git a/debian/libclang-rt-X.Y-dev.install.in b/debian/libclang-rt-X.Y-dev.install.in index 670f2c60..b8248b56 100644 --- a/debian/libclang-rt-X.Y-dev.install.in +++ b/debian/libclang-rt-X.Y-dev.install.in @@ -7,4 +7,4 @@ usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION@*/README.txt usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION@*/include/fuzzer/ usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION@*/include/orc/c_api.h # See compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake / ALL_ORC_SUPPORTED_ARCH -[amd64 arm64 armhf armel i386 ppc64 ppc64el x32] usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION@*/lib/*/liborc_rt* +[amd64 arm64 armhf armel i386 ppc64 ppc64el x32] usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION@*/lib/linux/liborc_rt* diff --git a/debian/libclang1-X.Y.links.in b/debian/libclang1-X.Y.links.in index db39da7a..28fa2812 100644 --- a/debian/libclang1-X.Y.links.in +++ b/debian/libclang1-X.Y.links.in @@ -1,4 +1,6 @@ # as upstream -usr/lib/@DEB_HOST_MULTIARCH@/libclang-@LLVM_VERSION@.so.@LLVM_VERSION@ usr/lib/@DEB_HOST_MULTIARCH@/libclang-@LLVM_VERSION@.so.1 usr/lib/@DEB_HOST_MULTIARCH@/libclang-@LLVM_VERSION@.so.@LLVM_VERSION@ usr/lib/llvm-@LLVM_VERSION@/lib/libclang-@LLVM_VERSION@.so.@LLVM_VERSION@ + +# FIXME: these are not installed by upstream, there are only libclang-19.so.19, libclang-19.1.0.so, libclang-19.so and libclang.so +usr/lib/@DEB_HOST_MULTIARCH@/libclang-@LLVM_VERSION@.so.@LLVM_VERSION@ usr/lib/@DEB_HOST_MULTIARCH@/libclang-@LLVM_VERSION@.so.1 usr/lib/@DEB_HOST_MULTIARCH@/libclang-@LLVM_VERSION@.so.@LLVM_VERSION@ usr/lib/llvm-@LLVM_VERSION@/lib/libclang-@LLVM_VERSION@.so.1 diff --git a/debian/libclang1-X.Y.symbols.in b/debian/libclang1-X.Y.symbols.in index bcf0dc83..2f07205d 100644 --- a/debian/libclang1-X.Y.symbols.in +++ b/debian/libclang1-X.Y.symbols.in @@ -1,7 +1,7 @@ libclang-@LLVM_VERSION@.so.@LLVM_VERSION@ libclang1-@LLVM_VERSION@ #MINVER# - LLVM_13@LLVM_13 1:18 - LLVM_16@LLVM_16 1:18 - LLVM_17@LLVM_17 1:18 + (optional)LLVM_13@LLVM_13 1:15.0.7-3 + (optional)LLVM_16@LLVM_16 1:16.0.2-1 + (optional)LLVM_17@LLVM_17 1:17.0.1-1 clang_BlockCommandComment_getArgText@LLVM_13 1:5.0~svn298832-1~ clang_BlockCommandComment_getCommandName@LLVM_13 1:5.0~svn298832-1~ clang_BlockCommandComment_getNumArgs@LLVM_13 1:5.0~svn298832-1~ diff --git a/debian/libflang-X.Y-dev.install.in b/debian/libflang-X.Y-dev.install.in index 043f86ab..69954cf6 100644 --- a/debian/libflang-X.Y-dev.install.in +++ b/debian/libflang-X.Y-dev.install.in @@ -5,3 +5,4 @@ usr/lib/llvm-@LLVM_VERSION@/lib/libflangFrontendTool.a usr/lib/llvm-@LLVM_VERSION@/lib/libFIR*.a usr/lib/llvm-@LLVM_VERSION@/lib/libHLFIR*.a usr/lib/llvm-@LLVM_VERSION@/lib/libFortran*.a +usr/lib/llvm-@LLVM_VERSION@/lib/libCUF*.a diff --git a/debian/libllvmX.Y.install.in b/debian/libllvmX.Y.install.in index 80d9fdbf..7100f0b6 100644 --- a/debian/libllvmX.Y.install.in +++ b/debian/libllvmX.Y.install.in @@ -1,2 +1,7 @@ -usr/lib/@DEB_HOST_MULTIARCH@/libLLVM-@LLVM_VERSION@.so.1 -usr/lib/@DEB_HOST_MULTIARCH@/libLLVM-@LLVM_VERSION@.so.@LLVM_VERSION@.1 +# install everything in /usr/lib/@DEB_HOST_MULTIARCH@/ + +# this is libLLVM.so.1, renamed to it's soname in the override_dh_install target +usr/lib/llvm-@LLVM_VERSION@/lib/libLLVM.so.@LLVM_VERSION@.@LLVM_VERSION_MINOR@ /usr/lib/@DEB_HOST_MULTIARCH@/ + +# this is a symlink installed by upstream +usr/lib/llvm-@LLVM_VERSION@/lib/libLLVM-@LLVM_VERSION@.so /usr/lib/@DEB_HOST_MULTIARCH@/ diff --git a/debian/libllvmX.Y.links.in b/debian/libllvmX.Y.links.in index 8a0572be..3573f38e 100644 --- a/debian/libllvmX.Y.links.in +++ b/debian/libllvmX.Y.links.in @@ -1,8 +1,3 @@ -# Should be uncommented for @LLVM_VERSION@.1 and other -# usr/lib/llvm-@LLVM_VERSION@/lib/libLLVM-@LLVM_VERSION@.so.1 /usr/lib/@DEB_HOST_MULTIARCH@/libLLVM-@LLVM_VERSION@.so.1 +# provide symlinks in the LLVM subdir -usr/lib/@DEB_HOST_MULTIARCH@/libLLVM-@LLVM_VERSION@.so.1 /usr/lib/@DEB_HOST_MULTIARCH@/libLLVM-@LLVM_VERSION_FULL@.so.1 -usr/lib/@DEB_HOST_MULTIARCH@/libLLVM-@LLVM_VERSION@.so.1 /usr/lib/@DEB_HOST_MULTIARCH@/libLLVM.so.@LLVM_VERSION@.1 - -# Should be in llvm-X.Y-dev but as it has been this way for a long time... -usr/lib/@DEB_HOST_MULTIARCH@/libLLVM-@LLVM_VERSION@.so.1 /usr/lib/@DEB_HOST_MULTIARCH@/libLLVM-@LLVM_VERSION@.so +# no symlinks in the LLVM subdir, the package is M-A: same diff --git a/debian/libllvmlibc-X.Y-dev.install.in b/debian/libllvmlibc-X.Y-dev.install.in index cd6c1add..76caad8d 100644 --- a/debian/libllvmlibc-X.Y-dev.install.in +++ b/debian/libllvmlibc-X.Y-dev.install.in @@ -1 +1,5 @@ usr/lib/llvm-@LLVM_VERSION@/lib/libllvmlibc.a +usr/lib/llvm-@LLVM_VERSION@/include/llvmlibc_rpc_opcodes.h +usr/lib/llvm-@LLVM_VERSION@/include/llvmlibc_rpc_server.h +usr/lib/llvm-@LLVM_VERSION@/lib/libLibcTableGenUtil.a +usr/lib/llvm-@LLVM_VERSION@/lib/libllvmlibc_rpc_server.a \ No newline at end of file diff --git a/debian/libmlir-X.Y-dev.install.in b/debian/libmlir-X.Y-dev.install.in index 32297db0..f0cf3456 100644 --- a/debian/libmlir-X.Y-dev.install.in +++ b/debian/libmlir-X.Y-dev.install.in @@ -6,3 +6,4 @@ usr/lib/llvm-@LLVM_VERSION@/lib/libMLIR.so usr/lib/llvm-@LLVM_VERSION@/lib/libMLIR*.a usr/lib/llvm-@LLVM_VERSION@/lib/libmlir*.so #usr/lib/llvm-@LLVM_VERSION@/lib/libmlir_*.a +usr/lib/llvm-@LLVM_VERSION@/lib/libMLIRExecutionEngineShared.so diff --git a/debian/libmlir-X.Y.install.in b/debian/libmlir-X.Y.install.in index 94175dc8..8867115e 100644 --- a/debian/libmlir-X.Y.install.in +++ b/debian/libmlir-X.Y.install.in @@ -1,2 +1,3 @@ usr/lib/llvm-@LLVM_VERSION@/lib/libMLIR.so.* usr/lib/llvm-@LLVM_VERSION@/lib/libmlir*.so.* +usr/lib/llvm-@LLVM_VERSION@/lib/libMLIRExecutionEngineShared.so.* diff --git a/debian/libomp-X.Y-dev.install.in b/debian/libomp-X.Y-dev.install.in index ff72a7d7..2171a9f2 100644 --- a/debian/libomp-X.Y-dev.install.in +++ b/debian/libomp-X.Y-dev.install.in @@ -7,16 +7,16 @@ [!armhf !mips64el] /usr/lib/llvm-@LLVM_VERSION@/lib/libarcher_static.a [!armhf !mips64el] /usr/lib/llvm-@LLVM_VERSION@/lib/libarcher.so -[amd64 ppc64el arm64 loong64 mips64el ppc64 riscv64] /usr/lib/llvm-@LLVM_VERSION@/lib/libomptarget.devicertl.a +[amd64 hurd-amd64 ppc64el arm64 loong64 mips64el ppc64 riscv64] /usr/lib/llvm-@LLVM_VERSION@/lib/libomptarget.devicertl.a -[amd64 ppc64el arm64 loong64 mips64el ppc64 riscv64] /usr/lib/llvm-@LLVM_VERSION@/lib/libomptarget-*.bc +[amd64 hurd-amd64 ppc64el arm64 loong64 mips64el ppc64 riscv64] /usr/lib/llvm-@LLVM_VERSION@/lib/libomptarget-*.bc usr/lib/llvm-@LLVM_VERSION@/lib/cmake/openmp/*.cmake -[amd64 arm64 loong64 mips64el ppc64el ppc64 riscv64] usr/lib/llvm-@LLVM_VERSION@/bin/llvm-omp-device-info -[amd64 arm64 loong64 mips64el ppc64el ppc64 riscv64] usr/lib/llvm-@LLVM_VERSION@/bin/llvm-omp-kernel-replay +[amd64 hurd-amd64 arm64 loong64 mips64el ppc64el ppc64 riscv64] usr/lib/llvm-@LLVM_VERSION@/bin/llvm-omp-device-info +[amd64 hurd-amd64 arm64 loong64 mips64el ppc64el ppc64 riscv64] usr/lib/llvm-@LLVM_VERSION@/bin/llvm-omp-kernel-replay -[amd64 arm64 loong64 mips64el ppc64el ppc64 riscv64] usr/bin/llvm-omp-device-info-@LLVM_VERSION@ -[amd64 arm64 loong64 mips64el ppc64el ppc64 riscv64] usr/bin/llvm-omp-kernel-replay-@LLVM_VERSION@ +[amd64 hurd-amd64 arm64 loong64 mips64el ppc64el ppc64 riscv64] usr/bin/llvm-omp-device-info-@LLVM_VERSION@ +[amd64 hurd-amd64 arm64 loong64 mips64el ppc64el ppc64 riscv64] usr/bin/llvm-omp-kernel-replay-@LLVM_VERSION@ -[!armhf] usr/lib/llvm-@LLVM_VERSION@/share/gdb/python/ompd/ +[!armhf !hurd-amd64] usr/lib/llvm-@LLVM_VERSION@/share/gdb/python/ompd/ diff --git a/debian/libomp5-X.Y.install.in b/debian/libomp5-X.Y.install.in index 3657fa80..d939820a 100644 --- a/debian/libomp5-X.Y.install.in +++ b/debian/libomp5-X.Y.install.in @@ -1,4 +1,5 @@ #!/usr/bin/dh-exec usr/lib/llvm-@LLVM_VERSION@/lib/libomp*.so.5 -[amd64 arm64 mips64el ppc64el ppc64 riscv64 loong64] usr/lib/llvm-@LLVM_VERSION@/lib/libomptarget*.so.@LLVM_VERSION@.1 +[amd64 hurd-amd64 arm64 mips64el ppc64el ppc64 riscv64 loong64] usr/lib/llvm-@LLVM_VERSION@/lib/libomptarget*.so.@LLVM_VERSION@.@LLVM_VERSION_MINOR@ + diff --git a/debian/libomp5-X.Y.symbols.in b/debian/libomp5-X.Y.symbols.in index 6930ffc2..258fb40d 100644 --- a/debian/libomp5-X.Y.symbols.in +++ b/debian/libomp5-X.Y.symbols.in @@ -1,11 +1,11 @@ libomp.so.5 libomp5-@LLVM_VERSION@ #MINVER# - GOMP_1.0@GOMP_1.0 18 - GOMP_2.0@GOMP_2.0 18 - GOMP_3.0@GOMP_3.0 18 - GOMP_4.0@GOMP_4.0 18 - GOMP_4.5@GOMP_4.5 18 - GOMP_5.0.1@GOMP_5.0.1 18 - GOMP_5.0@GOMP_5.0 18 + GOMP_1.0@GOMP_1.0 0.20131209 + GOMP_2.0@GOMP_2.0 0.20131209 + GOMP_3.0@GOMP_3.0 0.20131209 + GOMP_4.0@GOMP_4.0 0.20131209 + GOMP_4.5@GOMP_4.5 7 + GOMP_5.0.1@GOMP_5.0.1 14 + GOMP_5.0@GOMP_5.0 11 GOMP_alloc@GOMP_5.0.1 14 GOMP_alloc@VERSION 14 GOMP_atomic_end@GOMP_1.0 0.20131209 @@ -262,14 +262,14 @@ libomp.so.5 libomp5-@LLVM_VERSION@ #MINVER# GOMP_teams_reg@VERSION 12 GOMP_workshare_task_reduction_unregister@GOMP_5.0 13 GOMP_workshare_task_reduction_unregister@VERSION 13 - OMP_1.0@OMP_1.0 18 - OMP_2.0@OMP_2.0 18 - OMP_3.0@OMP_3.0 18 - OMP_3.1@OMP_3.1 18 - OMP_4.0@OMP_4.0 18 - OMP_4.5@OMP_4.5 18 - OMP_5.0@OMP_5.0 18 - VERSION@VERSION 18 + OMP_1.0@OMP_1.0 0.20131209 + OMP_2.0@OMP_2.0 0.20131209 + OMP_3.0@OMP_3.0 0.20131209 + OMP_3.1@OMP_3.1 0.20131209 + OMP_4.0@OMP_4.0 0.20131209 + OMP_4.5@OMP_4.5 7 + OMP_5.0@OMP_5.0 13 + VERSION@VERSION 0.20130412 ___kmp_allocate@VERSION 0.20130412 ___kmp_free@VERSION 0.20130412 __kmp_acquire_drdpa_lock@VERSION 0.20130715 @@ -327,6 +327,21 @@ libomp.so.5 libomp5-@LLVM_VERSION@ #MINVER# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_cmplx10_sub_rev@VERSION 0.20130412 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_cmplx10_swp@VERSION 0.20130412 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_cmplx10_wr@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_cmplx16_add@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_cmplx16_add_cpt@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_cmplx16_div@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_cmplx16_div_cpt@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_cmplx16_div_cpt_rev@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_cmplx16_div_rev@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_cmplx16_mul@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_cmplx16_mul_cpt@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_cmplx16_rd@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_cmplx16_sub@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_cmplx16_sub_cpt@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_cmplx16_sub_cpt_rev@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_cmplx16_sub_rev@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_cmplx16_swp@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_cmplx16_wr@VERSION 0.20130412 __kmpc_atomic_cmplx4_add@VERSION 0.20130412 __kmpc_atomic_cmplx4_add_cmplx8@VERSION 0.20130412 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_cmplx4_add_cpt@VERSION 0.20130412 @@ -364,15 +379,21 @@ libomp.so.5 libomp5-@LLVM_VERSION@ #MINVER# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_end@VERSION 0.20130412 (arch=!ppc64 !ppc64el)__kmpc_atomic_fixed1_add@VERSION 0.20130412 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed1_add_cpt@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !loong64)__kmpc_atomic_fixed1_add_cpt_fp@VERSION 4.0 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf !loong64)__kmpc_atomic_fixed1_add_fp@VERSION 0.20130412 __kmpc_atomic_fixed1_andb@VERSION 0.20130412 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed1_andb_cpt@VERSION 0.20130412 __kmpc_atomic_fixed1_andl@VERSION 0.20130412 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed1_andl_cpt@VERSION 0.20130412 __kmpc_atomic_fixed1_div@VERSION 0.20130412 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed1_div_cpt@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed1_div_cpt_fp@VERSION 4.0 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_fixed1_div_cpt_rev@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed1_div_cpt_rev_fp@VERSION 4.0 __kmpc_atomic_fixed1_div_float8@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_fixed1_div_fp@VERSION 0.20130412 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_fixed1_div_rev@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed1_div_rev_fp@VERSION 4.0 __kmpc_atomic_fixed1_eqv@VERSION 0.20130412 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed1_eqv_cpt@VERSION 0.20130412 __kmpc_atomic_fixed1_max@VERSION 0.20130412 @@ -381,7 +402,9 @@ libomp.so.5 libomp5-@LLVM_VERSION@ #MINVER# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed1_min_cpt@VERSION 0.20130412 __kmpc_atomic_fixed1_mul@VERSION 0.20130412 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed1_mul_cpt@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !loong64)__kmpc_atomic_fixed1_mul_cpt_fp@VERSION 4.0 __kmpc_atomic_fixed1_mul_float8@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf !loong64)__kmpc_atomic_fixed1_mul_fp@VERSION 0.20130412 __kmpc_atomic_fixed1_neqv@VERSION 0.20130412 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed1_neqv_cpt@VERSION 0.20130412 __kmpc_atomic_fixed1_orb@VERSION 0.20130412 @@ -399,31 +422,53 @@ libomp.so.5 libomp5-@LLVM_VERSION@ #MINVER# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_fixed1_shr_rev@VERSION 0.20130412 __kmpc_atomic_fixed1_sub@VERSION 0.20130412 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed1_sub_cpt@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed1_sub_cpt_fp@VERSION 4.0 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_fixed1_sub_cpt_rev@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed1_sub_cpt_rev_fp@VERSION 4.0 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_fixed1_sub_fp@VERSION 0.20130412 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_fixed1_sub_rev@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed1_sub_rev_fp@VERSION 4.0 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_fixed1_swp@VERSION 0.20130412 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed1_wr@VERSION 0.20130412 __kmpc_atomic_fixed1_xor@VERSION 0.20130412 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed1_xor_cpt@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !loong64)__kmpc_atomic_fixed1u_add_cpt_fp@VERSION 4.0 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !armel !armhf !loong64)__kmpc_atomic_fixed1u_add_fp@VERSION 4.0 __kmpc_atomic_fixed1u_div@VERSION 0.20130412 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed1u_div_cpt@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed1u_div_cpt_fp@VERSION 4.0 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_fixed1u_div_cpt_rev@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed1u_div_cpt_rev_fp@VERSION 4.0 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_fixed1u_div_fp@VERSION 0.20130412 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_fixed1u_div_rev@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed1u_div_rev_fp@VERSION 4.0 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed1u_mul_cpt_fp@VERSION 4.0 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !armel !armhf)__kmpc_atomic_fixed1u_mul_fp@VERSION 4.0 __kmpc_atomic_fixed1u_shr@VERSION 0.20130412 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed1u_shr_cpt@VERSION 0.20130412 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_fixed1u_shr_cpt_rev@VERSION 0.20130412 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_fixed1u_shr_rev@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed1u_sub_cpt_fp@VERSION 4.0 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed1u_sub_cpt_rev_fp@VERSION 4.0 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !armel !armhf)__kmpc_atomic_fixed1u_sub_fp@VERSION 4.0 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !armel !armhf !arm64)__kmpc_atomic_fixed1u_sub_rev_fp@VERSION 5.0 __kmpc_atomic_fixed2_add@VERSION 0.20130412 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed2_add_cpt@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !loong64)__kmpc_atomic_fixed2_add_cpt_fp@VERSION 4.0 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf !loong64)__kmpc_atomic_fixed2_add_fp@VERSION 0.20130412 __kmpc_atomic_fixed2_andb@VERSION 0.20130412 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed2_andb_cpt@VERSION 0.20130412 __kmpc_atomic_fixed2_andl@VERSION 0.20130412 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed2_andl_cpt@VERSION 0.20130412 __kmpc_atomic_fixed2_div@VERSION 0.20130412 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed2_div_cpt@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed2_div_cpt_fp@VERSION 4.0 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_fixed2_div_cpt_rev@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed2_div_cpt_rev_fp@VERSION 4.0 __kmpc_atomic_fixed2_div_float8@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_fixed2_div_fp@VERSION 0.20130412 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_fixed2_div_rev@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed2_div_rev_fp@VERSION 4.0 __kmpc_atomic_fixed2_eqv@VERSION 0.20130412 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed2_eqv_cpt@VERSION 0.20130412 __kmpc_atomic_fixed2_max@VERSION 0.20130412 @@ -432,7 +477,9 @@ libomp.so.5 libomp5-@LLVM_VERSION@ #MINVER# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed2_min_cpt@VERSION 0.20130412 __kmpc_atomic_fixed2_mul@VERSION 0.20130412 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed2_mul_cpt@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !loong64)__kmpc_atomic_fixed2_mul_cpt_fp@VERSION 4.0 __kmpc_atomic_fixed2_mul_float8@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf !loong64)__kmpc_atomic_fixed2_mul_fp@VERSION 0.20130412 __kmpc_atomic_fixed2_neqv@VERSION 0.20130412 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed2_neqv_cpt@VERSION 0.20130412 __kmpc_atomic_fixed2_orb@VERSION 0.20130412 @@ -450,31 +497,53 @@ libomp.so.5 libomp5-@LLVM_VERSION@ #MINVER# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_fixed2_shr_rev@VERSION 0.20130412 __kmpc_atomic_fixed2_sub@VERSION 0.20130412 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed2_sub_cpt@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed2_sub_cpt_fp@VERSION 4.0 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_fixed2_sub_cpt_rev@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed2_sub_cpt_rev_fp@VERSION 4.0 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_fixed2_sub_fp@VERSION 0.20130412 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_fixed2_sub_rev@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed2_sub_rev_fp@VERSION 4.0 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_fixed2_swp@VERSION 0.20130412 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed2_wr@VERSION 0.20130412 __kmpc_atomic_fixed2_xor@VERSION 0.20130412 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed2_xor_cpt@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !loong64)__kmpc_atomic_fixed2u_add_cpt_fp@VERSION 4.0 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !armel !armhf !loong64)__kmpc_atomic_fixed2u_add_fp@VERSION 4.0 __kmpc_atomic_fixed2u_div@VERSION 0.20130412 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed2u_div_cpt@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed2u_div_cpt_fp@VERSION 4.0 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_fixed2u_div_cpt_rev@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed2u_div_cpt_rev_fp@VERSION 4.0 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_fixed2u_div_fp@VERSION 0.20130412 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_fixed2u_div_rev@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed2u_div_rev_fp@VERSION 4.0 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed2u_mul_cpt_fp@VERSION 4.0 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !armel !armhf)__kmpc_atomic_fixed2u_mul_fp@VERSION 4.0 __kmpc_atomic_fixed2u_shr@VERSION 0.20130412 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed2u_shr_cpt@VERSION 0.20130412 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_fixed2u_shr_cpt_rev@VERSION 0.20130412 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_fixed2u_shr_rev@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed2u_sub_cpt_fp@VERSION 4.0 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed2u_sub_cpt_rev_fp@VERSION 4.0 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !armel !armhf)__kmpc_atomic_fixed2u_sub_fp@VERSION 4.0 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !armel !armhf !arm64)__kmpc_atomic_fixed2u_sub_rev_fp@VERSION 5.0 __kmpc_atomic_fixed4_add@VERSION 0.20130412 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed4_add_cpt@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !loong64)__kmpc_atomic_fixed4_add_cpt_fp@VERSION 4.0 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf !loong64)__kmpc_atomic_fixed4_add_fp@VERSION 0.20130412 __kmpc_atomic_fixed4_andb@VERSION 0.20130412 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed4_andb_cpt@VERSION 0.20130412 __kmpc_atomic_fixed4_andl@VERSION 0.20130412 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed4_andl_cpt@VERSION 0.20130412 __kmpc_atomic_fixed4_div@VERSION 0.20130412 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed4_div_cpt@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed4_div_cpt_fp@VERSION 4.0 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_fixed4_div_cpt_rev@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed4_div_cpt_rev_fp@VERSION 4.0 __kmpc_atomic_fixed4_div_float8@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_fixed4_div_fp@VERSION 0.20130412 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_fixed4_div_rev@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed4_div_rev_fp@VERSION 4.0 __kmpc_atomic_fixed4_eqv@VERSION 0.20130412 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed4_eqv_cpt@VERSION 0.20130412 __kmpc_atomic_fixed4_max@VERSION 0.20130412 @@ -483,7 +552,9 @@ libomp.so.5 libomp5-@LLVM_VERSION@ #MINVER# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed4_min_cpt@VERSION 0.20130412 __kmpc_atomic_fixed4_mul@VERSION 0.20130412 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed4_mul_cpt@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !loong64)__kmpc_atomic_fixed4_mul_cpt_fp@VERSION 4.0 __kmpc_atomic_fixed4_mul_float8@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf !loong64)__kmpc_atomic_fixed4_mul_fp@VERSION 0.20130412 __kmpc_atomic_fixed4_neqv@VERSION 0.20130412 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed4_neqv_cpt@VERSION 0.20130412 __kmpc_atomic_fixed4_orb@VERSION 0.20130412 @@ -501,31 +572,53 @@ libomp.so.5 libomp5-@LLVM_VERSION@ #MINVER# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_fixed4_shr_rev@VERSION 0.20130412 __kmpc_atomic_fixed4_sub@VERSION 0.20130412 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed4_sub_cpt@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed4_sub_cpt_fp@VERSION 4.0 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_fixed4_sub_cpt_rev@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed4_sub_cpt_rev_fp@VERSION 4.0 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_fixed4_sub_fp@VERSION 0.20130412 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_fixed4_sub_rev@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed4_sub_rev_fp@VERSION 4.0 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_fixed4_swp@VERSION 0.20130412 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed4_wr@VERSION 0.20130412 __kmpc_atomic_fixed4_xor@VERSION 0.20130412 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed4_xor_cpt@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !loong64)__kmpc_atomic_fixed4u_add_cpt_fp@VERSION 4.0 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !armel !armhf !loong64)__kmpc_atomic_fixed4u_add_fp@VERSION 4.0 (arch=!ppc64 !ppc64el)__kmpc_atomic_fixed4u_div@VERSION 0.20130412 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed4u_div_cpt@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed4u_div_cpt_fp@VERSION 4.0 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_fixed4u_div_cpt_rev@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed4u_div_cpt_rev_fp@VERSION 4.0 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_fixed4u_div_fp@VERSION 0.20130412 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_fixed4u_div_rev@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed4u_div_rev_fp@VERSION 4.0 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed4u_mul_cpt_fp@VERSION 4.0 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !armel !armhf)__kmpc_atomic_fixed4u_mul_fp@VERSION 4.0 __kmpc_atomic_fixed4u_shr@VERSION 0.20130412 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed4u_shr_cpt@VERSION 0.20130412 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_fixed4u_shr_cpt_rev@VERSION 0.20130412 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_fixed4u_shr_rev@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed4u_sub_cpt_fp@VERSION 4.0 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed4u_sub_cpt_rev_fp@VERSION 4.0 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !armel !armhf)__kmpc_atomic_fixed4u_sub_fp@VERSION 4.0 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !armel !armhf !arm64)__kmpc_atomic_fixed4u_sub_rev_fp@VERSION 5.0 (arch=!ppc64 !ppc64el)__kmpc_atomic_fixed8_add@VERSION 0.20130412 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed8_add_cpt@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !loong64)__kmpc_atomic_fixed8_add_cpt_fp@VERSION 4.0 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf !loong64)__kmpc_atomic_fixed8_add_fp@VERSION 0.20130412 __kmpc_atomic_fixed8_andb@VERSION 0.20130412 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed8_andb_cpt@VERSION 0.20130412 __kmpc_atomic_fixed8_andl@VERSION 0.20130412 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed8_andl_cpt@VERSION 0.20130412 __kmpc_atomic_fixed8_div@VERSION 0.20130412 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed8_div_cpt@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed8_div_cpt_fp@VERSION 4.0 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_fixed8_div_cpt_rev@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed8_div_cpt_rev_fp@VERSION 4.0 __kmpc_atomic_fixed8_div_float8@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_fixed8_div_fp@VERSION 0.20130412 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_fixed8_div_rev@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed8_div_rev_fp@VERSION 4.0 __kmpc_atomic_fixed8_eqv@VERSION 0.20130412 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed8_eqv_cpt@VERSION 0.20130412 __kmpc_atomic_fixed8_max@VERSION 0.20130412 @@ -534,7 +627,9 @@ libomp.so.5 libomp5-@LLVM_VERSION@ #MINVER# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed8_min_cpt@VERSION 0.20130412 __kmpc_atomic_fixed8_mul@VERSION 0.20130412 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed8_mul_cpt@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !loong64)__kmpc_atomic_fixed8_mul_cpt_fp@VERSION 4.0 __kmpc_atomic_fixed8_mul_float8@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf !loong64)__kmpc_atomic_fixed8_mul_fp@VERSION 0.20130412 __kmpc_atomic_fixed8_neqv@VERSION 0.20130412 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed8_neqv_cpt@VERSION 0.20130412 __kmpc_atomic_fixed8_orb@VERSION 0.20130412 @@ -552,79 +647,150 @@ libomp.so.5 libomp5-@LLVM_VERSION@ #MINVER# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_fixed8_shr_rev@VERSION 0.20130412 __kmpc_atomic_fixed8_sub@VERSION 0.20130412 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed8_sub_cpt@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed8_sub_cpt_fp@VERSION 4.0 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_fixed8_sub_cpt_rev@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed8_sub_cpt_rev_fp@VERSION 4.0 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_fixed8_sub_fp@VERSION 0.20130412 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_fixed8_sub_rev@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed8_sub_rev_fp@VERSION 4.0 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_fixed8_swp@VERSION 0.20130412 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed8_wr@VERSION 0.20130412 __kmpc_atomic_fixed8_xor@VERSION 0.20130412 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed8_xor_cpt@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !loong64)__kmpc_atomic_fixed8u_add_cpt_fp@VERSION 4.0 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !armel !armhf !loong64)__kmpc_atomic_fixed8u_add_fp@VERSION 4.0 __kmpc_atomic_fixed8u_div@VERSION 0.20130412 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed8u_div_cpt@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed8u_div_cpt_fp@VERSION 4.0 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_fixed8u_div_cpt_rev@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed8u_div_cpt_rev_fp@VERSION 4.0 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_fixed8u_div_fp@VERSION 0.20130412 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_fixed8u_div_rev@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed8u_div_rev_fp@VERSION 4.0 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed8u_mul_cpt_fp@VERSION 4.0 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !armel !armhf)__kmpc_atomic_fixed8u_mul_fp@VERSION 4.0 __kmpc_atomic_fixed8u_shr@VERSION 0.20130412 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed8u_shr_cpt@VERSION 0.20130412 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_fixed8u_shr_cpt_rev@VERSION 0.20130412 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_fixed8u_shr_rev@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed8u_sub_cpt_fp@VERSION 4.0 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed8u_sub_cpt_rev_fp@VERSION 4.0 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !armel !armhf)__kmpc_atomic_fixed8u_sub_fp@VERSION 4.0 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !armel !armhf !arm64)__kmpc_atomic_fixed8u_sub_rev_fp@VERSION 5.0 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_float10_add@VERSION 0.20130412 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_float10_add_cpt@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float10_add_cpt_fp@VERSION 4.0 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_float10_add_fp@VERSION 0.20130412 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_float10_div@VERSION 0.20130412 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_float10_div_cpt@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float10_div_cpt_fp@VERSION 4.0 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_float10_div_cpt_rev@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float10_div_cpt_rev_fp@VERSION 4.0 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_float10_div_fp@VERSION 0.20130412 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_float10_div_rev@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float10_div_rev_fp@VERSION 4.0 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_float10_max@VERSION 14 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_float10_max_cpt@VERSION 14 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_float10_min@VERSION 14 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_float10_min_cpt@VERSION 14 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_float10_mul@VERSION 0.20130412 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_float10_mul_cpt@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !loong64)__kmpc_atomic_float10_mul_cpt_fp@VERSION 4.0 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf !loong64)__kmpc_atomic_float10_mul_fp@VERSION 0.20130412 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_float10_rd@VERSION 0.20130412 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_float10_sub@VERSION 0.20130412 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_float10_sub_cpt@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float10_sub_cpt_fp@VERSION 4.0 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_float10_sub_cpt_rev@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float10_sub_cpt_rev_fp@VERSION 4.0 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_float10_sub_fp@VERSION 0.20130412 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_float10_sub_rev@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float10_sub_rev_fp@VERSION 4.0 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_float10_swp@VERSION 0.20130412 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_float10_wr@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf !loong64)__kmpc_atomic_float16_add@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !loong64)__kmpc_atomic_float16_add_cpt@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf !loong64)__kmpc_atomic_float16_div@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !loong64)__kmpc_atomic_float16_div_cpt@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !loong64)__kmpc_atomic_float16_div_cpt_rev@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !loong64)__kmpc_atomic_float16_div_rev@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf !loong64)__kmpc_atomic_float16_max@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !loong64)__kmpc_atomic_float16_max_cpt@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf !loong64)__kmpc_atomic_float16_min@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !loong64)__kmpc_atomic_float16_min_cpt@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf !loong64)__kmpc_atomic_float16_mul@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !loong64)__kmpc_atomic_float16_mul_cpt@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !loong64)__kmpc_atomic_float16_rd@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf !loong64)__kmpc_atomic_float16_sub@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !loong64)__kmpc_atomic_float16_sub_cpt@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !loong64)__kmpc_atomic_float16_sub_cpt_rev@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !loong64)__kmpc_atomic_float16_sub_rev@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !loong64)__kmpc_atomic_float16_swp@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !loong64)__kmpc_atomic_float16_wr@VERSION 0.20130412 __kmpc_atomic_float4_add@VERSION 0.20130412 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_float4_add_cpt@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !loong64)__kmpc_atomic_float4_add_cpt_fp@VERSION 4.0 (arch=!ppc64 !ppc64el)__kmpc_atomic_float4_add_float8@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf !loong64)__kmpc_atomic_float4_add_fp@VERSION 0.20130412 __kmpc_atomic_float4_div@VERSION 0.20130412 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_float4_div_cpt@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float4_div_cpt_fp@VERSION 4.0 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_float4_div_cpt_rev@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float4_div_cpt_rev_fp@VERSION 4.0 __kmpc_atomic_float4_div_float8@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_float4_div_fp@VERSION 0.20130412 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_float4_div_rev@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float4_div_rev_fp@VERSION 4.0 __kmpc_atomic_float4_max@VERSION 0.20130412 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_float4_max_cpt@VERSION 0.20130412 __kmpc_atomic_float4_min@VERSION 0.20130412 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_float4_min_cpt@VERSION 0.20130412 __kmpc_atomic_float4_mul@VERSION 0.20130412 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_float4_mul_cpt@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !loong64)__kmpc_atomic_float4_mul_cpt_fp@VERSION 4.0 __kmpc_atomic_float4_mul_float8@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf !loong64)__kmpc_atomic_float4_mul_fp@VERSION 0.20130412 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_float4_rd@VERSION 0.20130412 __kmpc_atomic_float4_sub@VERSION 0.20130412 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_float4_sub_cpt@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float4_sub_cpt_fp@VERSION 4.0 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_float4_sub_cpt_rev@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float4_sub_cpt_rev_fp@VERSION 4.0 __kmpc_atomic_float4_sub_float8@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_float4_sub_fp@VERSION 0.20130412 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_float4_sub_rev@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float4_sub_rev_fp@VERSION 4.0 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_float4_swp@VERSION 0.20130412 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_float4_wr@VERSION 0.20130412 __kmpc_atomic_float8_add@VERSION 0.20130412 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_float8_add_cpt@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !loong64)__kmpc_atomic_float8_add_cpt_fp@VERSION 4.0 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf !loong64)__kmpc_atomic_float8_add_fp@VERSION 0.20130412 __kmpc_atomic_float8_div@VERSION 0.20130412 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_float8_div_cpt@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float8_div_cpt_fp@VERSION 4.0 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_float8_div_cpt_rev@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float8_div_cpt_rev_fp@VERSION 4.0 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_float8_div_fp@VERSION 0.20130412 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_float8_div_rev@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float8_div_rev_fp@VERSION 4.0 __kmpc_atomic_float8_max@VERSION 0.20130412 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_float8_max_cpt@VERSION 0.20130412 __kmpc_atomic_float8_min@VERSION 0.20130412 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_float8_min_cpt@VERSION 0.20130412 __kmpc_atomic_float8_mul@VERSION 0.20130412 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_float8_mul_cpt@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !loong64)__kmpc_atomic_float8_mul_cpt_fp@VERSION 4.0 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf !loong64)__kmpc_atomic_float8_mul_fp@VERSION 0.20130412 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_float8_rd@VERSION 0.20130412 __kmpc_atomic_float8_sub@VERSION 0.20130412 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_float8_sub_cpt@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float8_sub_cpt_fp@VERSION 4.0 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_float8_sub_cpt_rev@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float8_sub_cpt_rev_fp@VERSION 4.0 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_float8_sub_fp@VERSION 0.20130412 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_float8_sub_rev@VERSION 0.20130412 +#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float8_sub_rev_fp@VERSION 4.0 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_float8_swp@VERSION 0.20130412 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_float8_wr@VERSION 0.20130412 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_start@VERSION 0.20130412 @@ -842,7 +1008,7 @@ libomp.so.5 libomp5-@LLVM_VERSION@ #MINVER# kmp_set_stacksize_@VERSION 0.20130412 kmp_set_stacksize_s@VERSION 0.20130412 kmp_set_stacksize_s_@VERSION 0.20130412 - (arch=!ppc64 !ppc64el)kmp_set_thread_affinity_mask_initial@VERSION 3.8.0 + (arch=!ppc64 !ppc64el !hurd-any)kmp_set_thread_affinity_mask_initial@VERSION 3.8.0 kmp_set_warnings_off@VERSION 0.20130412 kmp_set_warnings_off_@VERSION 0.20130412 kmp_set_warnings_on@VERSION 0.20130412 @@ -865,6 +1031,7 @@ libomp.so.5 libomp5-@LLVM_VERSION@ #MINVER# kmpc_set_stacksize@VERSION 0.20130412 kmpc_set_stacksize_s@VERSION 0.20130412 kmpc_unset_affinity_mask_proc@VERSION 0.20130412 +#MISSING: 14# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !armel !armhf !loong64)libomp_start_tool@VERSION 14 omp_aligned_alloc@VERSION 14 omp_aligned_calloc@VERSION 14 omp_alloc@VERSION 8 @@ -1142,6 +1309,7 @@ libomp.so.5 libomp5-@LLVM_VERSION@ #MINVER# omp_set_schedule_@VERSION 0.20130412 omp_set_teams_thread_limit@VERSION 13 omp_set_teams_thread_limit_@VERSION 13 +#MISSING: 8# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !loong64)omp_state_info@VERSION 6.0 omp_test_lock@OMP_1.0 0.20131209 omp_test_lock@OMP_3.0 0.20131209 omp_test_lock@VERSION 0.20130412 @@ -1180,190 +1348,190 @@ libomp.so.5 libomp5-@LLVM_VERSION@ #MINVER# ompc_set_schedule@VERSION 0.20130412 ompt_libomp_connect@VERSION 17 (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !armel !armhf)ompt_start_tool@VERSION 6.0 -libomptarget.rtl.amdgpu.so.@LLVM_VERSION@.1 libomp5-@LLVM_VERSION@ #MINVER# - VERS1.0@VERS1.0 18 - __tgt_rtl_create_event@VERS1.0 18 - __tgt_rtl_data_alloc@VERS1.0 18 - __tgt_rtl_data_delete@VERS1.0 18 - __tgt_rtl_data_exchange@VERS1.0 18 - __tgt_rtl_data_exchange_async@VERS1.0 18 - __tgt_rtl_data_lock@VERS1.0 18 - __tgt_rtl_data_notify_mapped@VERS1.0 18 - __tgt_rtl_data_notify_unmapped@VERS1.0 18 - __tgt_rtl_data_retrieve@VERS1.0 18 - __tgt_rtl_data_retrieve_async@VERS1.0 18 - __tgt_rtl_data_submit@VERS1.0 18 - __tgt_rtl_data_submit_async@VERS1.0 18 - __tgt_rtl_data_unlock@VERS1.0 18 - __tgt_rtl_destroy_event@VERS1.0 18 +libomptarget.rtl.amdgpu.so.@LLVM_VERSION@ libomp5-@LLVM_VERSION@ #MINVER# + VERS1.0@VERS1.0 17 + __tgt_rtl_create_event@VERS1.0 17 + __tgt_rtl_data_alloc@VERS1.0 17 + __tgt_rtl_data_delete@VERS1.0 17 + __tgt_rtl_data_exchange@VERS1.0 17 + __tgt_rtl_data_exchange_async@VERS1.0 17 + __tgt_rtl_data_lock@VERS1.0 17 + __tgt_rtl_data_notify_mapped@VERS1.0 17 + __tgt_rtl_data_notify_unmapped@VERS1.0 17 + __tgt_rtl_data_retrieve@VERS1.0 17 + __tgt_rtl_data_retrieve_async@VERS1.0 17 + __tgt_rtl_data_submit@VERS1.0 17 + __tgt_rtl_data_submit_async@VERS1.0 17 + __tgt_rtl_data_unlock@VERS1.0 17 + __tgt_rtl_destroy_event@VERS1.0 17 __tgt_rtl_get_function@VERS1.0 18 __tgt_rtl_get_global@VERS1.0 18 - __tgt_rtl_init_async_info@VERS1.0 18 - __tgt_rtl_init_device@VERS1.0 18 - __tgt_rtl_init_device_info@VERS1.0 18 - __tgt_rtl_init_plugin@VERS1.0 18 - __tgt_rtl_init_requires@VERS1.0 18 + __tgt_rtl_init_async_info@VERS1.0 17 + __tgt_rtl_init_device@VERS1.0 17 + __tgt_rtl_init_device_info@VERS1.0 17 + __tgt_rtl_init_plugin@VERS1.0 17 + __tgt_rtl_init_requires@VERS1.0 17 __tgt_rtl_initialize_record_replay@VERS1.0 18 - __tgt_rtl_is_data_exchangable@VERS1.0 18 + __tgt_rtl_is_data_exchangable@VERS1.0 17 __tgt_rtl_is_valid_binary@VERS1.0 18 - __tgt_rtl_launch_kernel@VERS1.0 18 - __tgt_rtl_load_binary@VERS1.0 18 - __tgt_rtl_number_of_devices@VERS1.0 18 - __tgt_rtl_print_device_info@VERS1.0 18 - __tgt_rtl_query_async@VERS1.0 18 - __tgt_rtl_record_event@VERS1.0 18 + __tgt_rtl_launch_kernel@VERS1.0 17 + __tgt_rtl_load_binary@VERS1.0 17 + __tgt_rtl_number_of_devices@VERS1.0 17 + __tgt_rtl_print_device_info@VERS1.0 17 + __tgt_rtl_query_async@VERS1.0 17 + __tgt_rtl_record_event@VERS1.0 17 __tgt_rtl_set_device_offset@VERS1.0 18 - __tgt_rtl_set_info_flag@VERS1.0 18 - __tgt_rtl_supports_empty_images@VERS1.0 18 - __tgt_rtl_sync_event@VERS1.0 18 - __tgt_rtl_synchronize@VERS1.0 18 + __tgt_rtl_set_info_flag@VERS1.0 17 +#MISSING: 19# __tgt_rtl_supports_empty_images@VERS1.0 17 + __tgt_rtl_sync_event@VERS1.0 17 + __tgt_rtl_synchronize@VERS1.0 17 __tgt_rtl_use_auto_zero_copy@VERS1.0 18 - __tgt_rtl_wait_event@VERS1.0 18 -libomptarget.rtl.cuda.so.@LLVM_VERSION@.1 libomp5-@LLVM_VERSION@ #MINVER# - VERS1.0@VERS1.0 18 - __tgt_rtl_create_event@VERS1.0 18 - __tgt_rtl_data_alloc@VERS1.0 18 - __tgt_rtl_data_delete@VERS1.0 18 - __tgt_rtl_data_exchange@VERS1.0 18 - __tgt_rtl_data_exchange_async@VERS1.0 18 - __tgt_rtl_data_lock@VERS1.0 18 - __tgt_rtl_data_notify_mapped@VERS1.0 18 - __tgt_rtl_data_notify_unmapped@VERS1.0 18 - __tgt_rtl_data_retrieve@VERS1.0 18 - __tgt_rtl_data_retrieve_async@VERS1.0 18 - __tgt_rtl_data_submit@VERS1.0 18 - __tgt_rtl_data_submit_async@VERS1.0 18 - __tgt_rtl_data_unlock@VERS1.0 18 - __tgt_rtl_destroy_event@VERS1.0 18 + __tgt_rtl_wait_event@VERS1.0 17 +libomptarget.rtl.cuda.so.@LLVM_VERSION@ libomp5-@LLVM_VERSION@ #MINVER# + VERS1.0@VERS1.0 17 + __tgt_rtl_create_event@VERS1.0 17 + __tgt_rtl_data_alloc@VERS1.0 17 + __tgt_rtl_data_delete@VERS1.0 17 + __tgt_rtl_data_exchange@VERS1.0 17 + __tgt_rtl_data_exchange_async@VERS1.0 17 + __tgt_rtl_data_lock@VERS1.0 17 + __tgt_rtl_data_notify_mapped@VERS1.0 17 + __tgt_rtl_data_notify_unmapped@VERS1.0 17 + __tgt_rtl_data_retrieve@VERS1.0 17 + __tgt_rtl_data_retrieve_async@VERS1.0 17 + __tgt_rtl_data_submit@VERS1.0 17 + __tgt_rtl_data_submit_async@VERS1.0 17 + __tgt_rtl_data_unlock@VERS1.0 17 + __tgt_rtl_destroy_event@VERS1.0 17 __tgt_rtl_get_function@VERS1.0 18 __tgt_rtl_get_global@VERS1.0 18 - __tgt_rtl_init_async_info@VERS1.0 18 - __tgt_rtl_init_device@VERS1.0 18 - __tgt_rtl_init_device_info@VERS1.0 18 - __tgt_rtl_init_plugin@VERS1.0 18 - __tgt_rtl_init_requires@VERS1.0 18 + __tgt_rtl_init_async_info@VERS1.0 17 + __tgt_rtl_init_device@VERS1.0 17 + __tgt_rtl_init_device_info@VERS1.0 17 + __tgt_rtl_init_plugin@VERS1.0 17 + __tgt_rtl_init_requires@VERS1.0 17 __tgt_rtl_initialize_record_replay@VERS1.0 18 - __tgt_rtl_is_data_exchangable@VERS1.0 18 + __tgt_rtl_is_data_exchangable@VERS1.0 17 __tgt_rtl_is_valid_binary@VERS1.0 18 - __tgt_rtl_launch_kernel@VERS1.0 18 - __tgt_rtl_load_binary@VERS1.0 18 - __tgt_rtl_number_of_devices@VERS1.0 18 - __tgt_rtl_print_device_info@VERS1.0 18 - __tgt_rtl_query_async@VERS1.0 18 - __tgt_rtl_record_event@VERS1.0 18 + __tgt_rtl_launch_kernel@VERS1.0 17 + __tgt_rtl_load_binary@VERS1.0 17 + __tgt_rtl_number_of_devices@VERS1.0 17 + __tgt_rtl_print_device_info@VERS1.0 17 + __tgt_rtl_query_async@VERS1.0 17 + __tgt_rtl_record_event@VERS1.0 17 __tgt_rtl_set_device_offset@VERS1.0 18 - __tgt_rtl_set_info_flag@VERS1.0 18 - __tgt_rtl_supports_empty_images@VERS1.0 18 - __tgt_rtl_sync_event@VERS1.0 18 - __tgt_rtl_synchronize@VERS1.0 18 + __tgt_rtl_set_info_flag@VERS1.0 17 +#MISSING: 19# __tgt_rtl_supports_empty_images@VERS1.0 17 + __tgt_rtl_sync_event@VERS1.0 17 + __tgt_rtl_synchronize@VERS1.0 17 __tgt_rtl_use_auto_zero_copy@VERS1.0 18 - __tgt_rtl_wait_event@VERS1.0 18 -libomptarget.rtl.x86_64.so.@LLVM_VERSION@.1 libomp5-@LLVM_VERSION@ #MINVER# - VERS1.0@VERS1.0 18 - __tgt_rtl_create_event@VERS1.0 18 - __tgt_rtl_data_alloc@VERS1.0 18 - __tgt_rtl_data_delete@VERS1.0 18 - __tgt_rtl_data_exchange@VERS1.0 18 - __tgt_rtl_data_exchange_async@VERS1.0 18 - __tgt_rtl_data_lock@VERS1.0 18 - __tgt_rtl_data_notify_mapped@VERS1.0 18 - __tgt_rtl_data_notify_unmapped@VERS1.0 18 - __tgt_rtl_data_retrieve@VERS1.0 18 - __tgt_rtl_data_retrieve_async@VERS1.0 18 - __tgt_rtl_data_submit@VERS1.0 18 - __tgt_rtl_data_submit_async@VERS1.0 18 - __tgt_rtl_data_unlock@VERS1.0 18 - __tgt_rtl_destroy_event@VERS1.0 18 + __tgt_rtl_wait_event@VERS1.0 17 +libomptarget.rtl.x86_64.so.@LLVM_VERSION@ libomp5-@LLVM_VERSION@ #MINVER# + VERS1.0@VERS1.0 17 + __tgt_rtl_create_event@VERS1.0 1:17.0.1-1 + __tgt_rtl_data_alloc@VERS1.0 17 + __tgt_rtl_data_delete@VERS1.0 17 + __tgt_rtl_data_exchange@VERS1.0 17 + __tgt_rtl_data_exchange_async@VERS1.0 17 + __tgt_rtl_data_lock@VERS1.0 17 + __tgt_rtl_data_notify_mapped@VERS1.0 17 + __tgt_rtl_data_notify_unmapped@VERS1.0 17 + __tgt_rtl_data_retrieve@VERS1.0 17 + __tgt_rtl_data_retrieve_async@VERS1.0 17 + __tgt_rtl_data_submit@VERS1.0 17 + __tgt_rtl_data_submit_async@VERS1.0 17 + __tgt_rtl_data_unlock@VERS1.0 17 + __tgt_rtl_destroy_event@VERS1.0 17 __tgt_rtl_get_function@VERS1.0 18 __tgt_rtl_get_global@VERS1.0 18 - __tgt_rtl_init_async_info@VERS1.0 18 - __tgt_rtl_init_device@VERS1.0 18 - __tgt_rtl_init_device_info@VERS1.0 18 - __tgt_rtl_init_plugin@VERS1.0 18 - __tgt_rtl_init_requires@VERS1.0 18 + __tgt_rtl_init_async_info@VERS1.0 17 + __tgt_rtl_init_device@VERS1.0 17 + __tgt_rtl_init_device_info@VERS1.0 17 + __tgt_rtl_init_plugin@VERS1.0 17 + __tgt_rtl_init_requires@VERS1.0 17 __tgt_rtl_initialize_record_replay@VERS1.0 18 - __tgt_rtl_is_data_exchangable@VERS1.0 18 + __tgt_rtl_is_data_exchangable@VERS1.0 17 __tgt_rtl_is_valid_binary@VERS1.0 18 - __tgt_rtl_launch_kernel@VERS1.0 18 - __tgt_rtl_load_binary@VERS1.0 18 - __tgt_rtl_number_of_devices@VERS1.0 18 - __tgt_rtl_print_device_info@VERS1.0 18 - __tgt_rtl_query_async@VERS1.0 18 - __tgt_rtl_record_event@VERS1.0 18 + __tgt_rtl_launch_kernel@VERS1.0 17 + __tgt_rtl_load_binary@VERS1.0 17 + __tgt_rtl_number_of_devices@VERS1.0 17 + __tgt_rtl_print_device_info@VERS1.0 17 + __tgt_rtl_query_async@VERS1.0 17 + __tgt_rtl_record_event@VERS1.0 17 __tgt_rtl_set_device_offset@VERS1.0 18 - __tgt_rtl_set_info_flag@VERS1.0 18 - __tgt_rtl_supports_empty_images@VERS1.0 18 - __tgt_rtl_sync_event@VERS1.0 18 - __tgt_rtl_synchronize@VERS1.0 18 + __tgt_rtl_set_info_flag@VERS1.0 17 +#MISSING: 19# __tgt_rtl_supports_empty_images@VERS1.0 17 + __tgt_rtl_sync_event@VERS1.0 17 + __tgt_rtl_synchronize@VERS1.0 17 __tgt_rtl_use_auto_zero_copy@VERS1.0 18 - __tgt_rtl_wait_event@VERS1.0 18 -libomptarget.so.@LLVM_VERSION@.1 libomp5-@LLVM_VERSION@ #MINVER# - VERS1.0@VERS1.0 18 - __kmpc_push_target_tripcount@VERS1.0 18 - __kmpc_push_target_tripcount_mapper@VERS1.0 18 + __tgt_rtl_wait_event@VERS1.0 17 +libomptarget.so.@LLVM_VERSION@ libomp5-@LLVM_VERSION@ #MINVER# + VERS1.0@VERS1.0 17 + __kmpc_push_target_tripcount@VERS1.0 17 + __kmpc_push_target_tripcount_mapper@VERS1.0 17 __tgt_activate_record_replay@VERS1.0 18 - __tgt_init_all_rtls@VERS1.0 18 - __tgt_interop_destroy@VERS1.0 18 - __tgt_interop_init@VERS1.0 18 - __tgt_interop_use@VERS1.0 18 - __tgt_mapper_num_components@VERS1.0 18 - __tgt_print_device_info@VERS1.0 18 - __tgt_push_mapper_component@VERS1.0 18 - __tgt_register_lib@VERS1.0 18 - __tgt_register_requires@VERS1.0 18 - __tgt_set_info_flag@VERS1.0 18 - __tgt_target@VERS1.0 18 - __tgt_target_data_begin@VERS1.0 18 - __tgt_target_data_begin_mapper@VERS1.0 18 - __tgt_target_data_begin_nowait@VERS1.0 18 - __tgt_target_data_begin_nowait_mapper@VERS1.0 18 - __tgt_target_data_end@VERS1.0 18 - __tgt_target_data_end_mapper@VERS1.0 18 - __tgt_target_data_end_nowait@VERS1.0 18 - __tgt_target_data_end_nowait_mapper@VERS1.0 18 - __tgt_target_data_update@VERS1.0 18 - __tgt_target_data_update_mapper@VERS1.0 18 - __tgt_target_data_update_nowait@VERS1.0 18 - __tgt_target_data_update_nowait_mapper@VERS1.0 18 - __tgt_target_kernel@VERS1.0 18 - __tgt_target_kernel_nowait@VERS1.0 18 - __tgt_target_kernel_replay@VERS1.0 18 - __tgt_target_mapper@VERS1.0 18 - __tgt_target_nowait@VERS1.0 18 - __tgt_target_nowait_mapper@VERS1.0 18 - __tgt_target_nowait_query@VERS1.0 18 - __tgt_target_teams@VERS1.0 18 - __tgt_target_teams_mapper@VERS1.0 18 - __tgt_target_teams_nowait@VERS1.0 18 - __tgt_target_teams_nowait_mapper@VERS1.0 18 - __tgt_unregister_lib@VERS1.0 18 - llvm_omp_target_alloc_device@VERS1.0 18 - llvm_omp_target_alloc_host@VERS1.0 18 - llvm_omp_target_alloc_shared@VERS1.0 18 - llvm_omp_target_dynamic_shared_alloc@VERS1.0 18 - llvm_omp_target_free_device@VERS1.0 18 - llvm_omp_target_free_host@VERS1.0 18 - llvm_omp_target_free_shared@VERS1.0 18 - llvm_omp_target_lock_mem@VERS1.0 18 - llvm_omp_target_unlock_mem@VERS1.0 18 - omp_get_device_num@VERS1.0 18 - omp_get_initial_device@VERS1.0 18 - omp_get_interop_int@VERS1.0 18 - omp_get_interop_name@VERS1.0 18 - omp_get_interop_ptr@VERS1.0 18 - omp_get_interop_str@VERS1.0 18 - omp_get_interop_type_desc@VERS1.0 18 - omp_get_mapped_ptr@VERS1.0 18 - omp_get_num_devices@VERS1.0 18 - omp_target_alloc@VERS1.0 18 - omp_target_associate_ptr@VERS1.0 18 - omp_target_disassociate_ptr@VERS1.0 18 - omp_target_free@VERS1.0 18 - omp_target_is_present@VERS1.0 18 - omp_target_memcpy@VERS1.0 18 - omp_target_memcpy_async@VERS1.0 18 - omp_target_memcpy_rect@VERS1.0 18 - omp_target_memcpy_rect_async@VERS1.0 18 + __tgt_init_all_rtls@VERS1.0 17 + __tgt_interop_destroy@VERS1.0 17 + __tgt_interop_init@VERS1.0 17 + __tgt_interop_use@VERS1.0 17 + __tgt_mapper_num_components@VERS1.0 17 + __tgt_print_device_info@VERS1.0 17 + __tgt_push_mapper_component@VERS1.0 17 + __tgt_register_lib@VERS1.0 17 + __tgt_register_requires@VERS1.0 17 + __tgt_set_info_flag@VERS1.0 17 + __tgt_target@VERS1.0 17 + __tgt_target_data_begin@VERS1.0 17 + __tgt_target_data_begin_mapper@VERS1.0 17 + __tgt_target_data_begin_nowait@VERS1.0 17 + __tgt_target_data_begin_nowait_mapper@VERS1.0 17 + __tgt_target_data_end@VERS1.0 17 + __tgt_target_data_end_mapper@VERS1.0 17 + __tgt_target_data_end_nowait@VERS1.0 17 + __tgt_target_data_end_nowait_mapper@VERS1.0 17 + __tgt_target_data_update@VERS1.0 17 + __tgt_target_data_update_mapper@VERS1.0 17 + __tgt_target_data_update_nowait@VERS1.0 17 + __tgt_target_data_update_nowait_mapper@VERS1.0 17 + __tgt_target_kernel@VERS1.0 17 + __tgt_target_kernel_nowait@VERS1.0 17 + __tgt_target_kernel_replay@VERS1.0 17 + __tgt_target_mapper@VERS1.0 17 + __tgt_target_nowait@VERS1.0 17 + __tgt_target_nowait_mapper@VERS1.0 17 + __tgt_target_nowait_query@VERS1.0 17 + __tgt_target_teams@VERS1.0 17 + __tgt_target_teams_mapper@VERS1.0 17 + __tgt_target_teams_nowait@VERS1.0 17 + __tgt_target_teams_nowait_mapper@VERS1.0 17 + __tgt_unregister_lib@VERS1.0 17 + llvm_omp_target_alloc_device@VERS1.0 17 + llvm_omp_target_alloc_host@VERS1.0 17 + llvm_omp_target_alloc_shared@VERS1.0 17 + llvm_omp_target_dynamic_shared_alloc@VERS1.0 17 + llvm_omp_target_free_device@VERS1.0 17 + llvm_omp_target_free_host@VERS1.0 17 + llvm_omp_target_free_shared@VERS1.0 17 + llvm_omp_target_lock_mem@VERS1.0 17 + llvm_omp_target_unlock_mem@VERS1.0 17 + omp_get_device_num@VERS1.0 17 + omp_get_initial_device@VERS1.0 17 + omp_get_interop_int@VERS1.0 17 + omp_get_interop_name@VERS1.0 17 + omp_get_interop_ptr@VERS1.0 17 + omp_get_interop_str@VERS1.0 17 + omp_get_interop_type_desc@VERS1.0 17 + omp_get_mapped_ptr@VERS1.0 17 + omp_get_num_devices@VERS1.0 17 + omp_target_alloc@VERS1.0 17 + omp_target_associate_ptr@VERS1.0 17 + omp_target_disassociate_ptr@VERS1.0 17 + omp_target_free@VERS1.0 17 + omp_target_is_present@VERS1.0 17 + omp_target_memcpy@VERS1.0 17 + omp_target_memcpy_async@VERS1.0 17 + omp_target_memcpy_rect@VERS1.0 17 + omp_target_memcpy_rect_async@VERS1.0 17 omp_target_memset@VERS1.0 18 omp_target_memset_async@VERS1.0 18 - ompt_libomptarget_connect@VERS1.0 18 + ompt_libomptarget_connect@VERS1.0 17 diff --git a/debian/libpolly-X.Y-dev.install.in b/debian/libpolly-X.Y-dev.install.in index 12c1309d..422fb4a2 100644 --- a/debian/libpolly-X.Y-dev.install.in +++ b/debian/libpolly-X.Y-dev.install.in @@ -1,3 +1,3 @@ #!/usr/bin/dh-exec -[!powerpc !powerpcspe] usr/lib/llvm-@LLVM_VERSION@/lib/libPolly*.a +[!powerpc] usr/lib/llvm-@LLVM_VERSION@/lib/libPolly*.a diff --git a/debian/libunwind-X.Y-dev.links.in b/debian/libunwind-X.Y-dev.links.in index ea1b58ac..d6d6103a 100644 --- a/debian/libunwind-X.Y-dev.links.in +++ b/debian/libunwind-X.Y-dev.links.in @@ -1,5 +1,2 @@ usr/lib/llvm-@LLVM_VERSION@/lib/libunwind.so /usr/lib/@DEB_HOST_MULTIARCH@/libunwind.so usr/lib/llvm-@LLVM_VERSION@/lib/libunwind.a /usr/lib/@DEB_HOST_MULTIARCH@/libunwind.a -# when LLVM_ENABLE_PER_TARGET_RUNTIME_DIR=ON: -#usr/lib/llvm-@LLVM_VERSION@/lib/@DEB_HOST_MULTIARCH_LLVM@/libunwind.so /usr/lib/@DEB_HOST_MULTIARCH@/libunwind.so -#usr/lib/llvm-@LLVM_VERSION@/lib/@DEB_HOST_MULTIARCH_LLVM@/libunwind.a /usr/lib/@DEB_HOST_MULTIARCH@/libunwind.a diff --git a/debian/libunwind-X.Y.links.in b/debian/libunwind-X.Y.links.in index db1c89c3..2c8a964b 100644 --- a/debian/libunwind-X.Y.links.in +++ b/debian/libunwind-X.Y.links.in @@ -1,4 +1,2 @@ usr/lib/llvm-@LLVM_VERSION@/lib/libunwind.so.1.0 /usr/lib/@DEB_HOST_MULTIARCH@/libunwind.so.1.0 -# when LLVM_ENABLE_PER_TARGET_RUNTIME_DIR=ON: -#usr/lib/llvm-@LLVM_VERSION@/lib/@DEB_HOST_MULTIARCH_LLVM@/libunwind.so.1.0 /usr/lib/@DEB_HOST_MULTIARCH@/libunwind.so.1.0 usr/lib/@DEB_HOST_MULTIARCH@/libunwind.so.1.0 /usr/lib/@DEB_HOST_MULTIARCH@/libunwind.so.1 diff --git a/debian/llvm-X.Y-dev.install.in b/debian/llvm-X.Y-dev.install.in index 1728cc90..d5c7a3c2 100644 --- a/debian/llvm-X.Y-dev.install.in +++ b/debian/llvm-X.Y-dev.install.in @@ -2,8 +2,8 @@ usr/lib/llvm-@LLVM_VERSION@/lib/libLLVM*.a #usr/lib/llvm-@LLVM_VERSION@/lib/libllvm*.a +usr/lib/llvm-@LLVM_VERSION@/lib/libLLVM.so usr/lib/llvm-@LLVM_VERSION@/lib/libLLVM-@LLVM_VERSION@*.so -usr/lib/llvm-@LLVM_VERSION@/lib/libLLVM-@LLVM_VERSION@*.so.1 usr/lib/llvm-@LLVM_VERSION@/lib/libLTO.so usr/lib/llvm-@LLVM_VERSION@/lib/libRemarks.* usr/lib/llvm-@LLVM_VERSION@/include/llvm/ usr/include/llvm-@LLVM_VERSION@/ diff --git a/debian/llvm-X.Y-dev.links.in b/debian/llvm-X.Y-dev.links.in index a182df53..0ef210fb 100644 --- a/debian/llvm-X.Y-dev.links.in +++ b/debian/llvm-X.Y-dev.links.in @@ -1,5 +1,3 @@ -usr/lib/@DEB_HOST_MULTIARCH@/libLLVM-@LLVM_VERSION@.so.1 /usr/lib/@DEB_HOST_MULTIARCH@/libLLVM-@LLVM_VERSION_FULL@.so - usr/include/llvm-c-@LLVM_VERSION@/llvm-c usr/lib/llvm-@LLVM_VERSION@/include/llvm-c usr/include/llvm-@LLVM_VERSION@/llvm usr/lib/llvm-@LLVM_VERSION@/include/llvm usr/include/llvm-c-@LLVM_VERSION@/llvm-c usr/lib/llvm-@LLVM_VERSION@/build/include/llvm-c @@ -13,3 +11,16 @@ usr/lib/llvm-@LLVM_VERSION@/ usr/lib/llvm-@LLVM_VERSION@/build/Debug+Asserts usr/lib/llvm-@LLVM_VERSION@/lib/cmake/llvm usr/lib/llvm-@LLVM_VERSION@/cmake usr/lib/llvm-@LLVM_VERSION@/lib/cmake/llvm usr/lib/llvm-@LLVM_VERSION@/share/llvm/cmake + +# FIXME: CMake requires this file, but for what? Fix LLVMExports.cmake instead? +# +# CMake Error at /usr/lib/llvm-19/lib/cmake/llvm/LLVMExports.cmake:1908 (message): +# The imported target "LLVM" references the file +# +# "/usr/lib/llvm-19/lib/libLLVM.so.1" +# +# but this file does not exist. +usr/lib/llvm-@LLVM_VERSION@/lib/libLLVM.so.@LLVM_VERSION@.@LLVM_VERSION_MINOR@ usr/lib/llvm-@LLVM_VERSION@/lib/libLLVM.so.1 + +# symlink to the soname in the llvm libdir +usr/lib/@DEB_HOST_MULTIARCH@/libLLVM.so.@LLVM_VERSION@.@LLVM_VERSION_MINOR@ usr/lib/llvm-@LLVM_VERSION@/lib/libLLVM.so.@LLVM_VERSION@.@LLVM_VERSION_MINOR@ diff --git a/debian/llvm-X.Y-linker-tools.install.in b/debian/llvm-X.Y-linker-tools.install.in index 2f300a0d..68d96f39 100644 --- a/debian/llvm-X.Y-linker-tools.install.in +++ b/debian/llvm-X.Y-linker-tools.install.in @@ -1,5 +1,4 @@ #!/usr/bin/dh-exec -usr/lib/llvm-@LLVM_VERSION@/lib/libLTO.so.@LLVM_VERSION@.1 -[!powerpc !powerpcspe] usr/lib/llvm-@LLVM_VERSION@/lib/LLVMPolly.so -[!powerpc !powerpcspe !riscv64 !mips64el !armel !loong64 !sparc64] usr/lib/llvm-@LLVM_VERSION@/lib/LLVMgold.so +usr/lib/llvm-@LLVM_VERSION@/lib/libLTO.so.@LLVM_VERSION@.@LLVM_VERSION_MINOR@ +[!powerpc] usr/lib/llvm-@LLVM_VERSION@/lib/LLVM*.so diff --git a/debian/llvm-X.Y-linker-tools.links.in b/debian/llvm-X.Y-linker-tools.links.in index 7a4a8d65..4be12107 100644 --- a/debian/llvm-X.Y-linker-tools.links.in +++ b/debian/llvm-X.Y-linker-tools.links.in @@ -1,3 +1,3 @@ #!/usr/bin/dh-exec -[!powerpc !powerpcspe !riscv64] usr/lib/llvm-@LLVM_VERSION@/lib/LLVMgold.so usr/lib/bfd-plugins/LLVMgold-@LLVM_VERSION@.so +[!powerpc] usr/lib/llvm-@LLVM_VERSION@/lib/LLVMgold.so usr/lib/bfd-plugins/LLVMgold-@LLVM_VERSION@.so diff --git a/debian/llvm-X.Y-tools.install.in b/debian/llvm-X.Y-tools.install.in index 92cc7c2f..2aecaa4b 100644 --- a/debian/llvm-X.Y-tools.install.in +++ b/debian/llvm-X.Y-tools.install.in @@ -1,4 +1,3 @@ - usr/lib/llvm-@LLVM_VERSION@/bin/count usr/lib/llvm-@LLVM_VERSION@/bin/FileCheck usr/lib/llvm-@LLVM_VERSION@/bin/not diff --git a/debian/llvm-X.Y.install.in b/debian/llvm-X.Y.install.in index bf15d2e1..81ff8ad7 100644 --- a/debian/llvm-X.Y.install.in +++ b/debian/llvm-X.Y.install.in @@ -81,6 +81,7 @@ usr/lib/llvm-@LLVM_VERSION@/bin/llvm-debuginfod usr/lib/llvm-@LLVM_VERSION@/bin/llvm-remarkutil usr/lib/llvm-@LLVM_VERSION@/bin/llvm-debuginfo-analyzer usr/lib/llvm-@LLVM_VERSION@/bin/llvm-readtapi +usr/lib/llvm-@LLVM_VERSION@/bin/reduce-chunk-list usr/bin/llvm-PerfectShuffle-@LLVM_VERSION@ usr/bin/llvm-addr2line-@LLVM_VERSION@ @@ -160,3 +161,4 @@ usr/bin/dsymutil-* usr/bin/llvm-debuginfod-find-* usr/bin/llvm-debuginfod-@LLVM_VERSION@ usr/bin/llvm-debuginfo-analyzer-@LLVM_VERSION@ +usr/bin/reduce-chunk-list-@LLVM_VERSION@ diff --git a/debian/llvm-compile-lto-elf.sh b/debian/llvm-compile-lto-elf.sh index 63a19e29..d0ae0ca3 100644 --- a/debian/llvm-compile-lto-elf.sh +++ b/debian/llvm-compile-lto-elf.sh @@ -25,25 +25,18 @@ NCPUS=$NJOBS check_convert_bitcode () { local file_name=$(realpath ${1}) local file_type=$(file ${file_name}) - shift CLANG_FLAGS="$@" if [[ "${file_type}" == *"LLVM IR bitcode"* ]]; then - # Check the output of llvm-strings for the command line, which is in the LLVM bitcode because - # we pass -frecord-gcc-switches. - # Check for a line that has "-flto" after (or without) "-fno-lto". - llvm-strings ${file_name} | while read line ; do - flto=$(echo $line | grep -o -b -e -flto | tail -n 1 | cut -d : -f 1) - fnolto=$(echo $line | grep -o -b -e -fno-lto | tail -n 1 | cut -d : -f 1) - - if test -n "$flto" && { test -z "$fnolto" || test "$flto" -gt "$fnolto"; } ; then - echo "Compiling LLVM bitcode file ${file_name}." - clang ${CLANG_FLAGS} -fno-lto -Wno-unused-command-line-argument \ - -x ir ${file_name} -c -o ${file_name} - break - fi - done + # check for an indication that the bitcode was + # compiled with -flto + ${P_TO_LLVM}/debian/tmp/usr/bin/llvm-bcanalyzer-${VERSION} -dump ${file_name} | grep -xP '.*\-flto((?!-fno-lto).)*' 2>&1 > /dev/null + if [ $? -eq 0 ]; then + echo "Compiling LLVM bitcode file ${file_name}." + ${P_TO_LLVM}/debian/tmp/usr/bin/clang-${VERSION} -fno-lto -opaque-pointers -Wno-unused-command-line-argument \ + -x ir ${file_name} -c -o ${file_name} + fi elif [[ "${file_type}" == *"current ar archive"* ]]; then echo "Unpacking ar archive ${file_name} to check for LLVM bitcode components." # create archive stage for objects @@ -54,7 +47,7 @@ check_convert_bitcode () { for archived_file in $(find -not -type d); do check_convert_bitcode ${archived_file} ${CLANG_FLAGS} echo "Repacking ${archived_file} into ${archive}." - ar r ${archive} ${archived_file} + ${P_TO_LLVM}/debian/tmp/usr/bin/llvm-ar-${VERSION} r ${archive} ${archived_file} done popd fi @@ -62,7 +55,5 @@ check_convert_bitcode () { echo "Checking for LLVM bitcode artifacts" export -f check_convert_bitcode -# Deduplicate by device:inode to avoid processing hardlinks in parallel. -find "$P_TO_LLVM/debian/" -type f -name "*.[ao]" -printf "%D:%i %p\n" | \ - awk '!seen[$1]++' | cut -d" " -f2- | \ - xargs -d"\n" -r -n1 -P$NCPUS bash -c "check_convert_bitcode \$@ $CLANG_FLAGS" ARG0 +find "$P_TO_LLVM/debian/" -type f -name "*.[ao]" -print0 | \ + xargs -0 -r -n1 -P$NCPUS bash -c "check_convert_bitcode \$@ $CLANG_FLAGS" ARG0 diff --git a/debian/orig-tar.sh b/debian/orig-tar.sh index bca132c1..efd20edf 100755 --- a/debian/orig-tar.sh +++ b/debian/orig-tar.sh @@ -131,12 +131,13 @@ if test -z "$TAG" -a -z "$FINAL_RELEASE"; then # In general, in Debian, we will keep X until X.0.1 is released (or rc in experimental) # However, on apt.llvm.org, we will update the version to have X.0.1 # This code is doing that. - CURRENT_VERSION="$(grep -oP 'set\(\s*LLVM_VERSION_(MAJOR|MINOR|PATCH)\s\K[0-9]+' llvm/CMakeLists.txt | paste -sd '.')" + CURRENT_VERSION="$(grep -oP 'set\(\s*LLVM_VERSION_(MAJOR|MINOR|PATCH)\s\K[0-9]+' cmake/Modules/LLVMVersion.cmake | paste -sd '.')" fi # the + is here to make sure that this version is considered more recent than the svn # dpkg --compare-versions 10~svn374977-1~exp1 lt 10~+2019-svn374977-1~exp1 # to verify that VERSION="${CURRENT_VERSION}~++$(date +'%Y%m%d%I%M%S')+$(git log -1 --pretty=format:'%h')" + echo "CURRENT = ${CURRENT_VERSION}" else if ! echo "$EXACT_VERSION"|grep -q "$MAJOR_VERSION"; then @@ -160,12 +161,11 @@ rm -rf */www/ build/ build-llvm/ cd ../ BASE="llvm-toolchain-${MAJOR_VERSION}_${VERSION}" FILENAME="${BASE}.orig.tar.xz" - cp -R llvm-toolchain-integration-test-suite llvm-project/integration-test-suite # Argument to compress faster (for the cost of time) export XZ_OPT="-4 -T$(nproc)" echo "Compressing to $FILENAME" -time tar Jcf $CURRENT_PATH/"$FILENAME" --exclude .git --exclude build-llvm --transform="s|llvm-project|$BASE|" -C $EXPORT_PATH llvm-project +time tar Jcf $CURRENT_PATH/"$FILENAME" --exclude .git --exclude .gitattributes --exclude .git-blame-ignore-revs --exclude .gitignore --exclude .github --exclude build-llvm --transform="s|llvm-project|$BASE|" -C $EXPORT_PATH llvm-project rm -rf llvm-project/integration-test-suite export DEBFULLNAME="Sylvestre Ledru" diff --git a/debian/patches/0001-tsan-doesn-t-work-on-arm.patch b/debian/patches/0001-tsan-doesn-t-work-on-arm.patch deleted file mode 100644 index c63e9b24..00000000 --- a/debian/patches/0001-tsan-doesn-t-work-on-arm.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 8984b5d9a9bb143844e716db79388808f6944270 Mon Sep 17 00:00:00 2001 -From: Sylvestre Ledru -Date: Sun, 18 Oct 2020 18:56:17 +0200 -Subject: [PATCH 1/3] tsan doesn't work on arm - ---- - tests/test_tsan.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/integration-test-suite/tests/test_tsan.c b/tests/test_tsan.c -index ed9aaec..197d3a4 100644 ---- a/integration-test-suite/tests/test_tsan.c -+++ b/integration-test-suite/tests/test_tsan.c -@@ -5,6 +5,7 @@ - // RUN: %llvm-nm %t | grep __tsan - // RUN: env TSAN_OPTIONS="log_path=stdout:exitcode=0" %t 2>&1 > %t.out - // RUN: grep -q "data race" %t.out -+// XFAIL: arm - - #include - #include --- -2.28.0 - diff --git a/debian/patches/0002-Disable-test_asan_heap.c-for-arm-30.patch b/debian/patches/0002-Disable-test_asan_heap.c-for-arm-30.patch deleted file mode 100644 index 9382034e..00000000 --- a/debian/patches/0002-Disable-test_asan_heap.c-for-arm-30.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 77f09cd056d5183fa048d2b8fdc29302dca25ed7 Mon Sep 17 00:00:00 2001 -From: Sylvestre Ledru -Date: Mon, 19 Oct 2020 14:43:32 +0200 -Subject: [PATCH 2/3] Disable test_asan_heap.c for arm (#30) - -Unsupported on this arch: -clang: error: unsupported option '-fsanitize=thread' for target 'armv7l-unknown-linux-gnueabihf' ---- - tests/test_asan_heap.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/integration-test-suite/tests/test_asan_heap.c b/tests/test_asan_heap.c -index 828ac4f..f021703 100644 ---- a/integration-test-suite/tests/test_asan_heap.c -+++ b/integration-test-suite/tests/test_asan_heap.c -@@ -4,6 +4,7 @@ - // RUN: %clang -o %t -fsanitize=address -O1 -fno-omit-frame-pointer -g %s - // RUN: env ASAN_OPTIONS="log_path=stdout:exitcode=0" %t 2>&1 > %t.out - // RUN: grep -q "heap-use-after-free" %t.out -+// XFAIL: arm - - #include - int main() { --- -2.28.0 - diff --git a/debian/patches/0003-leaksan-add-a-test-31.patch b/debian/patches/0003-leaksan-add-a-test-31.patch deleted file mode 100644 index 66918206..00000000 --- a/debian/patches/0003-leaksan-add-a-test-31.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 5fd1282d17fb5db341239af2853ab12f4ff141c8 Mon Sep 17 00:00:00 2001 -From: Sylvestre Ledru -Date: Mon, 19 Oct 2020 14:55:20 +0200 -Subject: [PATCH 3/3] leaksan: add a test (#31) - ---- - tests/test_leaksan.c | 16 ++++++++++++++++ - 1 file changed, 16 insertions(+) - create mode 100644 tests/test_leaksan.c - -diff --git a/integration-test-suite/tests/test_leaksan.c b/tests/test_leaksan.c -new file mode 100644 -index 0000000..db425a1 ---- /dev/null -+++ b/integration-test-suite/tests/test_leaksan.c -@@ -0,0 +1,16 @@ -+// Test asan use after free -+// -+// REQUIRES: clang -+// RUN: %clang -o %t -fsanitize=address -g %s -+// RUN: env ASAN_OPTIONS="log_path=stdout:exitcode=0" %t 2>&1 > %t.out -+// RUN: grep -q "detected memory leaks" %t.out -+ -+#include -+ -+void *p; -+ -+int main() { -+ p = malloc(7); -+ p = 0; // The memory is leaked here. -+ return 0; -+} --- -2.28.0 - diff --git a/debian/patches/0044-soname.diff b/debian/patches/0044-soname.diff index 8eb73bba..c338304a 100644 --- a/debian/patches/0044-soname.diff +++ b/debian/patches/0044-soname.diff @@ -3,10 +3,10 @@ tools/llvm-shlib/CMakeLists.txt | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) -Index: llvm-toolchain-18_18.1.2/clang/tools/libclang/CMakeLists.txt +Index: llvm-toolchain-snapshot_19~++20240319094628+703920d4138d/clang/tools/libclang/CMakeLists.txt =================================================================== ---- llvm-toolchain-18_18.1.2.orig/clang/tools/libclang/CMakeLists.txt -+++ llvm-toolchain-18_18.1.2/clang/tools/libclang/CMakeLists.txt +--- llvm-toolchain-snapshot_19~++20240319094628+703920d4138d.orig/clang/tools/libclang/CMakeLists.txt ++++ llvm-toolchain-snapshot_19~++20240319094628+703920d4138d/clang/tools/libclang/CMakeLists.txt @@ -135,7 +135,7 @@ if (UNIX AND ${CMAKE_SYSTEM_NAME} MATCHE remove_definitions("-D_XOPEN_SOURCE=700") endif() @@ -16,10 +16,10 @@ Index: llvm-toolchain-18_18.1.2/clang/tools/libclang/CMakeLists.txt OUTPUT_NAME ${output_name} ${SOURCES} -Index: llvm-toolchain-18_18.1.2/llvm/tools/llvm-shlib/CMakeLists.txt +Index: llvm-toolchain-snapshot_19~++20240319094628+703920d4138d/llvm/tools/llvm-shlib/CMakeLists.txt =================================================================== ---- llvm-toolchain-18_18.1.2.orig/llvm/tools/llvm-shlib/CMakeLists.txt -+++ llvm-toolchain-18_18.1.2/llvm/tools/llvm-shlib/CMakeLists.txt +--- llvm-toolchain-snapshot_19~++20240319094628+703920d4138d.orig/llvm/tools/llvm-shlib/CMakeLists.txt ++++ llvm-toolchain-snapshot_19~++20240319094628+703920d4138d/llvm/tools/llvm-shlib/CMakeLists.txt @@ -41,6 +41,8 @@ if(LLVM_BUILD_LLVM_DYLIB) llvm_install_library_symlink(LLVM-${LLVM_VERSION_MAJOR}${LLVM_VERSION_SUFFIX} $ SHARED FULL_DEST COMPONENT LLVM) endif() diff --git a/debian/patches/0048-Set-html_static_path-_static-everywhere.patch b/debian/patches/0048-Set-html_static_path-_static-everywhere.patch index bf287bca..522b4c85 100644 --- a/debian/patches/0048-Set-html_static_path-_static-everywhere.patch +++ b/debian/patches/0048-Set-html_static_path-_static-everywhere.patch @@ -9,11 +9,11 @@ Subject: Set html_static_path = ['_static'] everywhere. polly/docs/conf.py | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) -Index: llvm-toolchain-snapshot_11~++20200326111000+4673699a470/clang/docs/analyzer/conf.py +Index: llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e/clang/docs/analyzer/conf.py =================================================================== ---- llvm-toolchain-snapshot_11~++20200326111000+4673699a470.orig/clang/docs/analyzer/conf.py -+++ llvm-toolchain-snapshot_11~++20200326111000+4673699a470/clang/docs/analyzer/conf.py -@@ -121,7 +121,7 @@ html_theme = 'haiku' +--- llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e.orig/clang/docs/analyzer/conf.py ++++ llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e/clang/docs/analyzer/conf.py +@@ -118,7 +118,7 @@ html_theme = "haiku" # Add any paths that contain custom static files (such as style sheets) here, # relative to this directory. They are copied after the builtin static files, # so a file named "default.css" will overwrite the builtin "default.css". @@ -22,11 +22,11 @@ Index: llvm-toolchain-snapshot_11~++20200326111000+4673699a470/clang/docs/analyz # If not '', a 'Last updated on:' timestamp is inserted at every page bottom, # using the given strftime format. -Index: llvm-toolchain-snapshot_11~++20200326111000+4673699a470/clang/docs/conf.py +Index: llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e/clang/docs/conf.py =================================================================== ---- llvm-toolchain-snapshot_11~++20200326111000+4673699a470.orig/clang/docs/conf.py -+++ llvm-toolchain-snapshot_11~++20200326111000+4673699a470/clang/docs/conf.py -@@ -122,7 +122,7 @@ html_theme = 'haiku' +--- llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e.orig/clang/docs/conf.py ++++ llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e/clang/docs/conf.py +@@ -127,7 +127,7 @@ html_theme = "haiku" # Add any paths that contain custom static files (such as style sheets) here, # relative to this directory. They are copied after the builtin static files, # so a file named "default.css" will overwrite the builtin "default.css". @@ -35,11 +35,11 @@ Index: llvm-toolchain-snapshot_11~++20200326111000+4673699a470/clang/docs/conf.p # If not '', a 'Last updated on:' timestamp is inserted at every page bottom, # using the given strftime format. -Index: llvm-toolchain-snapshot_11~++20200326111000+4673699a470/polly/docs/conf.py +Index: llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e/polly/docs/conf.py =================================================================== ---- llvm-toolchain-snapshot_11~++20200326111000+4673699a470.orig/polly/docs/conf.py -+++ llvm-toolchain-snapshot_11~++20200326111000+4673699a470/polly/docs/conf.py -@@ -127,7 +127,7 @@ except ImportError: +--- llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e.orig/polly/docs/conf.py ++++ llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e/polly/docs/conf.py +@@ -124,7 +124,7 @@ except ImportError: # Add any paths that contain custom static files (such as style sheets) here, # relative to this directory. They are copied after the builtin static files, # so a file named "default.css" will overwrite the builtin "default.css". diff --git a/debian/patches/0049-Use-Debian-provided-MathJax-everywhere.patch b/debian/patches/0049-Use-Debian-provided-MathJax-everywhere.patch index ce62e29c..b0f6e7d8 100644 --- a/debian/patches/0049-Use-Debian-provided-MathJax-everywhere.patch +++ b/debian/patches/0049-Use-Debian-provided-MathJax-everywhere.patch @@ -13,10 +13,10 @@ Subject: Use Debian-provided MathJax everywhere. polly/docs/doxygen.cfg.in | 2 +- 8 files changed, 14 insertions(+), 5 deletions(-) -Index: llvm-toolchain-18_18.1.5~++20240423100144+a981a4f7653c/clang-tools-extra/docs/conf.py +Index: llvm-toolchain-snapshot_19~++20240424094944+78ebaa2d798f/clang-tools-extra/docs/conf.py =================================================================== ---- llvm-toolchain-18_18.1.5~++20240423100144+a981a4f7653c.orig/clang-tools-extra/docs/conf.py -+++ llvm-toolchain-18_18.1.5~++20240423100144+a981a4f7653c/clang-tools-extra/docs/conf.py +--- llvm-toolchain-snapshot_19~++20240424094944+78ebaa2d798f.orig/clang-tools-extra/docs/conf.py ++++ llvm-toolchain-snapshot_19~++20240424094944+78ebaa2d798f/clang-tools-extra/docs/conf.py @@ -119,6 +119,9 @@ html_theme = "haiku" # so a file named "default.css" will overwrite the builtin "default.css". html_static_path = ["_static"] @@ -27,10 +27,10 @@ Index: llvm-toolchain-18_18.1.5~++20240423100144+a981a4f7653c/clang-tools-extra/ # If not '', a 'Last updated on:' timestamp is inserted at every page bottom, # using the given strftime format. # html_last_updated_fmt = '%b %d, %Y' -Index: llvm-toolchain-18_18.1.5~++20240423100144+a981a4f7653c/clang-tools-extra/docs/doxygen.cfg.in +Index: llvm-toolchain-snapshot_19~++20240424094944+78ebaa2d798f/clang-tools-extra/docs/doxygen.cfg.in =================================================================== ---- llvm-toolchain-18_18.1.5~++20240423100144+a981a4f7653c.orig/clang-tools-extra/docs/doxygen.cfg.in -+++ llvm-toolchain-18_18.1.5~++20240423100144+a981a4f7653c/clang-tools-extra/docs/doxygen.cfg.in +--- llvm-toolchain-snapshot_19~++20240424094944+78ebaa2d798f.orig/clang-tools-extra/docs/doxygen.cfg.in ++++ llvm-toolchain-snapshot_19~++20240424094944+78ebaa2d798f/clang-tools-extra/docs/doxygen.cfg.in @@ -1443,7 +1443,7 @@ MATHJAX_FORMAT = HTML-CSS # The default value is: http://cdn.mathjax.org/mathjax/latest. # This tag requires that the tag USE_MATHJAX is set to YES. @@ -40,10 +40,10 @@ Index: llvm-toolchain-18_18.1.5~++20240423100144+a981a4f7653c/clang-tools-extra/ # The MATHJAX_EXTENSIONS tag can be used to specify one or more MathJax # extension names that should be enabled during MathJax rendering. For example -Index: llvm-toolchain-18_18.1.5~++20240423100144+a981a4f7653c/clang/docs/analyzer/conf.py +Index: llvm-toolchain-snapshot_19~++20240424094944+78ebaa2d798f/clang/docs/analyzer/conf.py =================================================================== ---- llvm-toolchain-18_18.1.5~++20240423100144+a981a4f7653c.orig/clang/docs/analyzer/conf.py -+++ llvm-toolchain-18_18.1.5~++20240423100144+a981a4f7653c/clang/docs/analyzer/conf.py +--- llvm-toolchain-snapshot_19~++20240424094944+78ebaa2d798f.orig/clang/docs/analyzer/conf.py ++++ llvm-toolchain-snapshot_19~++20240424094944+78ebaa2d798f/clang/docs/analyzer/conf.py @@ -120,6 +120,9 @@ html_theme = "haiku" # so a file named "default.css" will overwrite the builtin "default.css". html_static_path = ['_static'] @@ -54,11 +54,11 @@ Index: llvm-toolchain-18_18.1.5~++20240423100144+a981a4f7653c/clang/docs/analyze # If not '', a 'Last updated on:' timestamp is inserted at every page bottom, # using the given strftime format. # html_last_updated_fmt = '%b %d, %Y' -Index: llvm-toolchain-18_18.1.5~++20240423100144+a981a4f7653c/clang/docs/conf.py +Index: llvm-toolchain-snapshot_19~++20240424094944+78ebaa2d798f/clang/docs/conf.py =================================================================== ---- llvm-toolchain-18_18.1.5~++20240423100144+a981a4f7653c.orig/clang/docs/conf.py -+++ llvm-toolchain-18_18.1.5~++20240423100144+a981a4f7653c/clang/docs/conf.py -@@ -120,6 +120,9 @@ html_theme = "haiku" +--- llvm-toolchain-snapshot_19~++20240424094944+78ebaa2d798f.orig/clang/docs/conf.py ++++ llvm-toolchain-snapshot_19~++20240424094944+78ebaa2d798f/clang/docs/conf.py +@@ -129,6 +129,9 @@ html_theme = "haiku" # so a file named "default.css" will overwrite the builtin "default.css". html_static_path = ['_static'] @@ -68,10 +68,10 @@ Index: llvm-toolchain-18_18.1.5~++20240423100144+a981a4f7653c/clang/docs/conf.py # If not '', a 'Last updated on:' timestamp is inserted at every page bottom, # using the given strftime format. # html_last_updated_fmt = '%b %d, %Y' -Index: llvm-toolchain-18_18.1.5~++20240423100144+a981a4f7653c/clang/docs/doxygen.cfg.in +Index: llvm-toolchain-snapshot_19~++20240424094944+78ebaa2d798f/clang/docs/doxygen.cfg.in =================================================================== ---- llvm-toolchain-18_18.1.5~++20240423100144+a981a4f7653c.orig/clang/docs/doxygen.cfg.in -+++ llvm-toolchain-18_18.1.5~++20240423100144+a981a4f7653c/clang/docs/doxygen.cfg.in +--- llvm-toolchain-snapshot_19~++20240424094944+78ebaa2d798f.orig/clang/docs/doxygen.cfg.in ++++ llvm-toolchain-snapshot_19~++20240424094944+78ebaa2d798f/clang/docs/doxygen.cfg.in @@ -1432,7 +1432,7 @@ MATHJAX_FORMAT = HTML-CSS # The default value is: http://cdn.mathjax.org/mathjax/latest. # This tag requires that the tag USE_MATHJAX is set to YES. @@ -81,10 +81,10 @@ Index: llvm-toolchain-18_18.1.5~++20240423100144+a981a4f7653c/clang/docs/doxygen # The MATHJAX_EXTENSIONS tag can be used to specify one or more MathJax # extension names that should be enabled during MathJax rendering. For example -Index: llvm-toolchain-18_18.1.5~++20240423100144+a981a4f7653c/llvm/docs/doxygen.cfg.in +Index: llvm-toolchain-snapshot_19~++20240424094944+78ebaa2d798f/llvm/docs/doxygen.cfg.in =================================================================== ---- llvm-toolchain-18_18.1.5~++20240423100144+a981a4f7653c.orig/llvm/docs/doxygen.cfg.in -+++ llvm-toolchain-18_18.1.5~++20240423100144+a981a4f7653c/llvm/docs/doxygen.cfg.in +--- llvm-toolchain-snapshot_19~++20240424094944+78ebaa2d798f.orig/llvm/docs/doxygen.cfg.in ++++ llvm-toolchain-snapshot_19~++20240424094944+78ebaa2d798f/llvm/docs/doxygen.cfg.in @@ -1433,7 +1433,7 @@ MATHJAX_FORMAT = HTML-CSS # The default value is: http://cdn.mathjax.org/mathjax/latest. # This tag requires that the tag USE_MATHJAX is set to YES. @@ -94,10 +94,10 @@ Index: llvm-toolchain-18_18.1.5~++20240423100144+a981a4f7653c/llvm/docs/doxygen. # The MATHJAX_EXTENSIONS tag can be used to specify one or more MathJax # extension names that should be enabled during MathJax rendering. For example -Index: llvm-toolchain-18_18.1.5~++20240423100144+a981a4f7653c/polly/docs/doxygen.cfg.in +Index: llvm-toolchain-snapshot_19~++20240424094944+78ebaa2d798f/polly/docs/doxygen.cfg.in =================================================================== ---- llvm-toolchain-18_18.1.5~++20240423100144+a981a4f7653c.orig/polly/docs/doxygen.cfg.in -+++ llvm-toolchain-18_18.1.5~++20240423100144+a981a4f7653c/polly/docs/doxygen.cfg.in +--- llvm-toolchain-snapshot_19~++20240424094944+78ebaa2d798f.orig/polly/docs/doxygen.cfg.in ++++ llvm-toolchain-snapshot_19~++20240424094944+78ebaa2d798f/polly/docs/doxygen.cfg.in @@ -1433,7 +1433,7 @@ MATHJAX_FORMAT = HTML-CSS # The default value is: http://cdn.mathjax.org/mathjax/latest. # This tag requires that the tag USE_MATHJAX is set to YES. diff --git a/debian/patches/23-strlcpy_strlcat_warning_removed.diff b/debian/patches/23-strlcpy_strlcat_warning_removed.diff index be74dd9e..fc63d8ea 100644 --- a/debian/patches/23-strlcpy_strlcat_warning_removed.diff +++ b/debian/patches/23-strlcpy_strlcat_warning_removed.diff @@ -7,37 +7,11 @@ clang/test/Sema/warn-strlcpycat-size.c | 55 -------------- 6 files changed, 25 insertions(+), 78 deletions(-) -Index: llvm-toolchain-snapshot_18~++20230828063023+b4b42bd6522f/clang/include/clang/Basic/Builtins.def +Index: llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e/clang/lib/AST/Decl.cpp =================================================================== ---- llvm-toolchain-snapshot_18~++20230828063023+b4b42bd6522f.orig/clang/include/clang/Basic/Builtins.def -+++ llvm-toolchain-snapshot_18~++20230828063023+b4b42bd6522f/clang/include/clang/Basic/Builtins.def -@@ -645,8 +645,8 @@ BUILTIN(__builtin___memset_chk, "v*v*izz - BUILTIN(__builtin___stpcpy_chk, "c*c*cC*z", "nF") - BUILTIN(__builtin___strcat_chk, "c*c*cC*z", "nF") - BUILTIN(__builtin___strcpy_chk, "c*c*cC*z", "nF") --BUILTIN(__builtin___strlcat_chk, "zc*cC*zz", "nF") --BUILTIN(__builtin___strlcpy_chk, "zc*cC*zz", "nF") -+//BUILTIN(__builtin___strlcat_chk, "zc*cC*zz", "nF") -+//BUILTIN(__builtin___strlcpy_chk, "zc*cC*zz", "nF") - BUILTIN(__builtin___strncat_chk, "c*c*cC*zz", "nF") - BUILTIN(__builtin___strncpy_chk, "c*c*cC*zz", "nF") - BUILTIN(__builtin___stpncpy_chk, "c*c*cC*zz", "nF") -@@ -1182,8 +1182,8 @@ LIBBUILTIN(getcontext, "iK*", "fjT", - LIBBUILTIN(_longjmp, "vJi", "frT", SETJMP_H, ALL_GNU_LANGUAGES) - LIBBUILTIN(siglongjmp, "vSJi", "frT", SETJMP_H, ALL_GNU_LANGUAGES) - // non-standard but very common --LIBBUILTIN(strlcpy, "zc*cC*z", "f", STRING_H, ALL_GNU_LANGUAGES) --LIBBUILTIN(strlcat, "zc*cC*z", "f", STRING_H, ALL_GNU_LANGUAGES) -+//LIBBUILTIN(strlcpy, "zc*cC*z", "f", STRING_H, ALL_GNU_LANGUAGES) -+//LIBBUILTIN(strlcat, "zc*cC*z", "f", STRING_H, ALL_GNU_LANGUAGES) - // id objc_msgSend(id, SEL, ...) - LIBBUILTIN(objc_msgSend, "GGH.", "f", OBJC_MESSAGE_H, OBJC_LANG) - // long double objc_msgSend_fpret(id self, SEL op, ...) -Index: llvm-toolchain-snapshot_18~++20230828063023+b4b42bd6522f/clang/lib/AST/Decl.cpp -=================================================================== ---- llvm-toolchain-snapshot_18~++20230828063023+b4b42bd6522f.orig/clang/lib/AST/Decl.cpp -+++ llvm-toolchain-snapshot_18~++20230828063023+b4b42bd6522f/clang/lib/AST/Decl.cpp -@@ -4310,13 +4310,13 @@ unsigned FunctionDecl::getMemoryFunction +--- llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e.orig/clang/lib/AST/Decl.cpp ++++ llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e/clang/lib/AST/Decl.cpp +@@ -4412,13 +4412,13 @@ unsigned FunctionDecl::getMemoryFunction case Builtin::BImemmove: return Builtin::BImemmove; @@ -57,11 +31,11 @@ Index: llvm-toolchain-snapshot_18~++20230828063023+b4b42bd6522f/clang/lib/AST/De case Builtin::BI__builtin_memcmp: case Builtin::BImemcmp: -Index: llvm-toolchain-snapshot_18~++20230828063023+b4b42bd6522f/clang/lib/Sema/SemaChecking.cpp +Index: llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e/clang/lib/Sema/SemaChecking.cpp =================================================================== ---- llvm-toolchain-snapshot_18~++20230828063023+b4b42bd6522f.orig/clang/lib/Sema/SemaChecking.cpp -+++ llvm-toolchain-snapshot_18~++20230828063023+b4b42bd6522f/clang/lib/Sema/SemaChecking.cpp -@@ -1263,8 +1263,8 @@ void Sema::checkFortifiedBuiltinMemoryFu +--- llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e.orig/clang/lib/Sema/SemaChecking.cpp ++++ llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e/clang/lib/Sema/SemaChecking.cpp +@@ -1348,8 +1348,8 @@ void Sema::checkFortifiedBuiltinMemoryFu case Builtin::BI__builtin___memcpy_chk: case Builtin::BI__builtin___memmove_chk: case Builtin::BI__builtin___memset_chk: @@ -72,7 +46,7 @@ Index: llvm-toolchain-snapshot_18~++20230828063023+b4b42bd6522f/clang/lib/Sema/S case Builtin::BI__builtin___strncat_chk: case Builtin::BI__builtin___strncpy_chk: case Builtin::BI__builtin___stpncpy_chk: -@@ -6964,10 +6964,10 @@ bool Sema::CheckFunctionCall(FunctionDec +@@ -3422,10 +3422,10 @@ bool Sema::CheckFunctionCall(FunctionDec switch (CMId) { case 0: return false; @@ -85,27 +59,26 @@ Index: llvm-toolchain-snapshot_18~++20230828063023+b4b42bd6522f/clang/lib/Sema/S case Builtin::BIstrncat: CheckStrncatArguments(TheCall, FnInfo); break; -Index: llvm-toolchain-snapshot_18~++20230828063023+b4b42bd6522f/clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp +Index: llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e/clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp =================================================================== ---- llvm-toolchain-snapshot_18~++20230828063023+b4b42bd6522f.orig/clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp -+++ llvm-toolchain-snapshot_18~++20230828063023+b4b42bd6522f/clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp -@@ -717,10 +717,10 @@ void GenericTaintChecker::initTaintRules - - {{CDF_MaybeBuiltin, {BI.getName(Builtin::BIstrncat)}}, +--- llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e.orig/clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp ++++ llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e/clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp +@@ -743,9 +743,9 @@ void GenericTaintChecker::initTaintRules TR::Prop({{1, 2}}, {{0, ReturnValueIndex}})}, -- {{CDF_MaybeBuiltin, {BI.getName(Builtin::BIstrlcpy)}}, -+/* {{CDF_MaybeBuiltin, {BI.getName(Builtin::BIstrlcpy)}}, - TR::Prop({{1, 2}}, {{0}})}, - {{CDF_MaybeBuiltin, {BI.getName(Builtin::BIstrlcat)}}, -- TR::Prop({{1, 2}}, {{0}})}, -+ TR::Prop({{1, 2}}, {{0}})},*/ - {{CDF_MaybeBuiltin, {{"snprintf"}}}, - TR::Prop({{1}, 3}, {{0, ReturnValueIndex}})}, - {{CDF_MaybeBuiltin, {{"sprintf"}}}, -Index: llvm-toolchain-snapshot_18~++20230828063023+b4b42bd6522f/clang/test/Sema/builtins.c + {{CDM::CLibraryMaybeHardened, {"strncat"}}, + TR::Prop({{0, 1, 2}}, {{0, ReturnValueIndex}})}, +- {{CDM::CLibraryMaybeHardened, {"strlcpy"}}, TR::Prop({{1, 2}}, {{0}})}, ++/* {{CDM::CLibraryMaybeHardened, {"strlcpy"}}, TR::Prop({{1, 2}}, {{0}})}, + {{CDM::CLibraryMaybeHardened, {"strlcat"}}, TR::Prop({{0, 1, 2}}, {{0}})}, +- ++*/ + // Usually the matching mode `CDM::CLibraryMaybeHardened` is sufficient + // for unified handling of a function `FOO()` and its hardened variant + // `__FOO_chk()`, but in the "sprintf" family the extra parameters of the +Index: llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e/clang/test/Sema/builtins.c =================================================================== ---- llvm-toolchain-snapshot_18~++20230828063023+b4b42bd6522f.orig/clang/test/Sema/builtins.c -+++ llvm-toolchain-snapshot_18~++20230828063023+b4b42bd6522f/clang/test/Sema/builtins.c +--- llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e.orig/clang/test/Sema/builtins.c ++++ llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e/clang/test/Sema/builtins.c @@ -195,12 +195,10 @@ void test18(void) { void *ptr; @@ -137,10 +110,10 @@ Index: llvm-toolchain-snapshot_18~++20230828063023+b4b42bd6522f/clang/test/Sema/ char * Test20(char *p, const char *in, unsigned n) { -Index: llvm-toolchain-snapshot_18~++20230828063023+b4b42bd6522f/clang/test/Sema/warn-strlcpycat-size.c +Index: llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e/clang/test/Sema/warn-strlcpycat-size.c =================================================================== ---- llvm-toolchain-snapshot_18~++20230828063023+b4b42bd6522f.orig/clang/test/Sema/warn-strlcpycat-size.c -+++ llvm-toolchain-snapshot_18~++20230828063023+b4b42bd6522f/clang/test/Sema/warn-strlcpycat-size.c +--- llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e.orig/clang/test/Sema/warn-strlcpycat-size.c ++++ llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e/clang/test/Sema/warn-strlcpycat-size.c @@ -1,55 +0,0 @@ -// RUN: %clang_cc1 -Wstrlcpy-strlcat-size -verify -fsyntax-only %s - @@ -197,3 +170,25 @@ Index: llvm-toolchain-snapshot_18~++20230828063023+b4b42bd6522f/clang/test/Sema/ - - strlcpy(z, str, sizeof(str)); // expected-warning {{size argument in 'strlcpy' call appears to be size of the source; expected the size of the destination}} expected-note {{change size argument to be the size of the destination}} -} +Index: llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e/clang/include/clang/Basic/Builtins.td +=================================================================== +--- llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e.orig/clang/include/clang/Basic/Builtins.td ++++ llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e/clang/include/clang/Basic/Builtins.td +@@ -3316,7 +3316,8 @@ def SigLongJmp : GNULibBuiltin<"setjmp.h + + // non-standard but very common + +-def StrlCpy : GNULibBuiltin<"string.h"> { ++/* ++ def StrlCpy : GNULibBuiltin<"string.h"> { + let Spellings = ["strlcpy"]; + let Prototype = "size_t(char*, char const*, size_t)"; + } +@@ -3325,6 +3326,7 @@ def StrlCat : GNULibBuiltin<"string.h"> + let Spellings = ["strlcat"]; + let Prototype = "size_t(char*, char const*, size_t)"; + } ++*/ + + def ObjcMsgSend : ObjCLibBuiltin<"objc_message.h"> { + let Spellings = ["objc_msgSend"]; diff --git a/debian/patches/26-set-correct-float-abi.diff b/debian/patches/26-set-correct-float-abi.diff index 7321fd78..4d0bbb65 100644 --- a/debian/patches/26-set-correct-float-abi.diff +++ b/debian/patches/26-set-correct-float-abi.diff @@ -18,11 +18,11 @@ Forwarded: Reviewed-By: Last-Update: -Index: llvm-toolchain-snapshot_17~++20230517015648+0b6264738f3d/clang/lib/Driver/ToolChains/Arch/ARM.cpp +Index: llvm-toolchain-snapshot_19~++20240220124703+f122268c0441/clang/lib/Driver/ToolChains/Arch/ARM.cpp =================================================================== ---- llvm-toolchain-snapshot_17~++20230517015648+0b6264738f3d.orig/clang/lib/Driver/ToolChains/Arch/ARM.cpp -+++ llvm-toolchain-snapshot_17~++20230517015648+0b6264738f3d/clang/lib/Driver/ToolChains/Arch/ARM.cpp -@@ -384,7 +384,7 @@ arm::FloatABI arm::getDefaultFloatABI(co +--- llvm-toolchain-snapshot_19~++20240220124703+f122268c0441.orig/clang/lib/Driver/ToolChains/Arch/ARM.cpp ++++ llvm-toolchain-snapshot_19~++20240220124703+f122268c0441/clang/lib/Driver/ToolChains/Arch/ARM.cpp +@@ -421,7 +421,7 @@ arm::FloatABI arm::getDefaultFloatABI(co case llvm::Triple::MuslEABI: case llvm::Triple::EABI: // EABI is always AAPCS, and if it was not marked 'hard', it's softfp diff --git a/debian/patches/930008-arm.diff b/debian/patches/930008-arm.diff index 2374afcd..87479203 100644 --- a/debian/patches/930008-arm.diff +++ b/debian/patches/930008-arm.diff @@ -1,8 +1,8 @@ -Index: llvm-toolchain-snapshot_17~++20230517015648+0b6264738f3d/llvm/lib/TargetParser/ARMTargetParser.cpp +Index: llvm-toolchain-snapshot_19~++20240220124703+f122268c0441/llvm/lib/TargetParser/ARMTargetParser.cpp =================================================================== ---- llvm-toolchain-snapshot_17~++20230517015648+0b6264738f3d.orig/llvm/lib/TargetParser/ARMTargetParser.cpp -+++ llvm-toolchain-snapshot_17~++20230517015648+0b6264738f3d/llvm/lib/TargetParser/ARMTargetParser.cpp -@@ -590,7 +590,7 @@ StringRef ARM::getARMCPUForArch(const ll +--- llvm-toolchain-snapshot_19~++20240220124703+f122268c0441.orig/llvm/lib/TargetParser/ARMTargetParser.cpp ++++ llvm-toolchain-snapshot_19~++20240220124703+f122268c0441/llvm/lib/TargetParser/ARMTargetParser.cpp +@@ -636,7 +636,7 @@ StringRef ARM::getARMCPUForArch(const ll case llvm::Triple::EABIHF: case llvm::Triple::GNUEABIHF: case llvm::Triple::MuslEABIHF: diff --git a/debian/patches/D148945-revert.diff b/debian/patches/D148945-revert.diff index d5f2d952..b91ddb59 100644 --- a/debian/patches/D148945-revert.diff +++ b/debian/patches/D148945-revert.diff @@ -3,18 +3,18 @@ Restore that for now, we're not GenToo ... https://reviews.llvm.org/D148945 https://reviews.llvm.org/D122444 -Index: llvm-toolchain-18_18.1.2/clang/lib/Driver/ToolChains/Linux.cpp +Index: llvm-toolchain-snapshot_19~++20240424094944+78ebaa2d798f/clang/lib/Driver/ToolChains/Linux.cpp =================================================================== ---- llvm-toolchain-18_18.1.2.orig/clang/lib/Driver/ToolChains/Linux.cpp -+++ llvm-toolchain-18_18.1.2/clang/lib/Driver/ToolChains/Linux.cpp -@@ -337,6 +337,13 @@ Linux::Linux(const Driver &D, const llvm +--- llvm-toolchain-snapshot_19~++20240424094944+78ebaa2d798f.orig/clang/lib/Driver/ToolChains/Linux.cpp ++++ llvm-toolchain-snapshot_19~++20240424094944+78ebaa2d798f/clang/lib/Driver/ToolChains/Linux.cpp +@@ -345,6 +345,13 @@ Linux::Linux(const Driver &D, const llvm Generic_GCC::AddMultiarchPaths(D, SysRoot, OSLibDir, Paths); + // The deprecated -DLLVM_ENABLE_PROJECTS=libcxx configuration installs + // libc++.so in D.Dir+"/../lib/". Detect this path. + // TODO Remove once LLVM_ENABLE_PROJECTS=libcxx is unsupported. -+ if (StringRef(D.Dir).startswith(SysRoot) && ++ if (StringRef(D.Dir).starts_with(SysRoot) && + D.getVFS().exists(D.Dir + "/../lib/libc++.so")) + addPathIfExists(D, D.Dir + "/../lib", Paths); + diff --git a/debian/patches/D92052.patch b/debian/patches/D92052.patch deleted file mode 100644 index 4c198788..00000000 --- a/debian/patches/D92052.patch +++ /dev/null @@ -1,77 +0,0 @@ -Index: llvm/lib/MC/MCParser/ELFAsmParser.cpp -=================================================================== ---- a/llvm/lib/MC/MCParser/ELFAsmParser.cpp -+++ b/llvm/lib/MC/MCParser/ELFAsmParser.cpp -@@ -652,10 +652,13 @@ - !(SectionName == ".eh_frame" && Type == ELF::SHT_PROGBITS)) - Error(loc, "changed section type for " + SectionName + ", expected: 0x" + - utohexstr(Section->getType())); -- if (Section->getFlags() != Flags) -+ // Check that flags are used consistently. However, the GNU assembler permits -+ // to leave out in subsequent uses of the same sections; for compatibility, -+ // do likewise. -+ if ((Flags || Size || !TypeName.empty()) && Section->getFlags() != Flags) - Error(loc, "changed section flags for " + SectionName + ", expected: 0x" + - utohexstr(Section->getFlags())); -- if (Section->getEntrySize() != Size) -+ if ((Flags || Size || !TypeName.empty()) && Section->getEntrySize() != Size) - Error(loc, "changed section entsize for " + SectionName + - ", expected: " + Twine(Section->getEntrySize())); - -Index: llvm/test/MC/ELF/section-entsize-changed.s -=================================================================== ---- a/llvm/test/MC/ELF/section-entsize-changed.s -+++ b/llvm/test/MC/ELF/section-entsize-changed.s -@@ -10,3 +10,26 @@ - .pushsection .foo,"aM",@progbits,4 - - .pushsection .foo,"aM",@progbits,1 -+ -+ -+bar: -+.section .bar,"ax",@progbits -+ -+.section .bar -+ -+# CHECK: {{.*}}.s:[[# @LINE+1]]:1: error: changed section flags for .bar, expected: 0x6 -+.section .bar,"awx",@progbits -+ -+# CHECK: {{.*}}.s:[[# @LINE+1]]:1: error: changed section flags for .bar, expected: 0x6 -+.pushsection .bar,"a",@progbits -+ -+.pushsection .bar -+ -+foobar: -+.section .foobar,"ax",@progbits; .byte 1 -+ -+# CHECK: {{.*}}.s:[[# @LINE+1]]:1: error: changed section flags for .foobar, expected: 0x6 -+.section .foobar,"",@progbits; .byte 2 -+ -+# CHECK: {{.*}}.s:[[# @LINE+1]]:1: error: changed section flags for .foobar, expected: 0x6 -+.section .foobar,"a",@progbits; .byte 3 -Index: llvm/test/MC/ELF/section-omitted-attributes.s -=================================================================== ---- /dev/null -+++ llvm/test/MC/ELF/section-omitted-attributes.s -@@ -0,0 +1,21 @@ -+# RUN: llvm-mc -triple=x86_64 %s -o - | FileCheck %s -+ -+// CHECK: .section .foo,"aM",@progbits,1 -+// CHECK: .section .bar,"aM",@progbits,4 -+ -+foo: -+.section .foo,"aM",@progbits,1 -+ -+.section .foo -+ -+.pushsection .foo -+ -+.pushsection .foo -+ -+.section .bar,"aM",@progbits,4 -+ -+.section .bar -+ -+.pushsection .bar,"aM",@progbits,4 -+ -+.pushsection .bar diff --git a/debian/patches/arm32-defaults.diff b/debian/patches/arm32-defaults.diff index 05c879cb..1cf277c4 100644 --- a/debian/patches/arm32-defaults.diff +++ b/debian/patches/arm32-defaults.diff @@ -1,7 +1,7 @@ -Index: llvm-toolchain-18_18.1.2/llvm/lib/TargetParser/ARMTargetParser.cpp +Index: llvm-toolchain-snapshot_19~++20240220124703+f122268c0441/llvm/lib/TargetParser/ARMTargetParser.cpp =================================================================== ---- llvm-toolchain-18_18.1.2.orig/llvm/lib/TargetParser/ARMTargetParser.cpp -+++ llvm-toolchain-18_18.1.2/llvm/lib/TargetParser/ARMTargetParser.cpp +--- llvm-toolchain-snapshot_19~++20240220124703+f122268c0441.orig/llvm/lib/TargetParser/ARMTargetParser.cpp ++++ llvm-toolchain-snapshot_19~++20240220124703+f122268c0441/llvm/lib/TargetParser/ARMTargetParser.cpp @@ -636,9 +636,9 @@ StringRef ARM::getARMCPUForArch(const ll case llvm::Triple::EABIHF: case llvm::Triple::GNUEABIHF: diff --git a/debian/patches/backport-miscompile-floating-point.diff b/debian/patches/backport-miscompile-floating-point.diff deleted file mode 100644 index bb210f8b..00000000 --- a/debian/patches/backport-miscompile-floating-point.diff +++ /dev/null @@ -1,344 +0,0 @@ -Index: llvm-toolchain-18-18.1.8/llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp -=================================================================== ---- llvm-toolchain-18-18.1.8.orig/llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp -+++ llvm-toolchain-18-18.1.8/llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp -@@ -2168,7 +2168,8 @@ void SelectionDAGLegalize::ExpandFPLibCa - Results.push_back(Tmp.first); - Results.push_back(Tmp.second); - } else { -- SDValue Tmp = ExpandLibCall(LC, Node, false).first; -+ bool IsSignedArgument = Node->getOpcode() == ISD::FLDEXP; -+ SDValue Tmp = ExpandLibCall(LC, Node, IsSignedArgument).first; - Results.push_back(Tmp); - } - } -Index: llvm-toolchain-18-18.1.8/llvm/test/CodeGen/PowerPC/ldexp-libcall.ll -=================================================================== ---- llvm-toolchain-18-18.1.8.orig/llvm/test/CodeGen/PowerPC/ldexp-libcall.ll -+++ llvm-toolchain-18-18.1.8/llvm/test/CodeGen/PowerPC/ldexp-libcall.ll -@@ -10,7 +10,7 @@ define float @call_ldexpf(float %a, i32 - ; CHECK-NEXT: std r0, 48(r1) - ; CHECK-NEXT: .cfi_def_cfa_offset 32 - ; CHECK-NEXT: .cfi_offset lr, 16 --; CHECK-NEXT: clrldi r4, r4, 32 -+; CHECK-NEXT: extsw r4, r4 - ; CHECK-NEXT: bl ldexpf - ; CHECK-NEXT: nop - ; CHECK-NEXT: addi r1, r1, 32 -@@ -29,7 +29,7 @@ define double @call_ldexp(double %a, i32 - ; CHECK-NEXT: std r0, 48(r1) - ; CHECK-NEXT: .cfi_def_cfa_offset 32 - ; CHECK-NEXT: .cfi_offset lr, 16 --; CHECK-NEXT: clrldi r4, r4, 32 -+; CHECK-NEXT: extsw r4, r4 - ; CHECK-NEXT: bl ldexp - ; CHECK-NEXT: nop - ; CHECK-NEXT: addi r1, r1, 32 -Index: llvm-toolchain-18-18.1.8/llvm/test/CodeGen/PowerPC/ldexp.ll -=================================================================== ---- llvm-toolchain-18-18.1.8.orig/llvm/test/CodeGen/PowerPC/ldexp.ll -+++ llvm-toolchain-18-18.1.8/llvm/test/CodeGen/PowerPC/ldexp.ll -@@ -1,6 +1,7 @@ - ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 2 - ; RUN: llc -mcpu=pwr9 -mtriple=powerpc64le-unknown-unknown \ - ; RUN: -ppc-vsr-nums-as-vr -ppc-asm-full-reg-names < %s | FileCheck %s -+; XFAIL: * - - define float @ldexp_f32(i8 zeroext %x) { - ; CHECK-LABEL: ldexp_f32: -@@ -59,22 +60,24 @@ define <2 x float> @ldexp_v2f32(<2 x flo - ; CHECK-NEXT: .cfi_offset v29, -48 - ; CHECK-NEXT: .cfi_offset v30, -32 - ; CHECK-NEXT: .cfi_offset v31, -16 --; CHECK-NEXT: xxsldwi vs0, v2, v2, 3 - ; CHECK-NEXT: li r3, 0 -+; CHECK-NEXT: xxsldwi vs0, v2, v2, 3 - ; CHECK-NEXT: stxv v29, 32(r1) # 16-byte Folded Spill - ; CHECK-NEXT: xscvspdpn f1, vs0 --; CHECK-NEXT: vextuwrx r4, r3, v3 -+; CHECK-NEXT: vextuwrx r3, r3, v3 - ; CHECK-NEXT: stxv v30, 48(r1) # 16-byte Folded Spill - ; CHECK-NEXT: stxv v31, 64(r1) # 16-byte Folded Spill -+; CHECK-NEXT: extsw r4, r3 - ; CHECK-NEXT: vmr v31, v3 - ; CHECK-NEXT: vmr v30, v2 - ; CHECK-NEXT: bl ldexpf - ; CHECK-NEXT: nop --; CHECK-NEXT: xxswapd vs0, v30 - ; CHECK-NEXT: li r3, 4 -+; CHECK-NEXT: xxswapd vs0, v30 - ; CHECK-NEXT: xscvdpspn v29, f1 - ; CHECK-NEXT: xscvspdpn f1, vs0 --; CHECK-NEXT: vextuwrx r4, r3, v31 -+; CHECK-NEXT: vextuwrx r3, r3, v31 -+; CHECK-NEXT: extsw r4, r3 - ; CHECK-NEXT: bl ldexpf - ; CHECK-NEXT: nop - ; CHECK-NEXT: xscvdpspn vs0, f1 -@@ -160,7 +163,7 @@ define half @ldexp_f16(half %arg0, i32 % - ; CHECK-NEXT: .cfi_def_cfa_offset 32 - ; CHECK-NEXT: .cfi_offset lr, 16 - ; CHECK-NEXT: xscvdphp f0, f1 --; CHECK-NEXT: clrldi r4, r4, 32 -+; CHECK-NEXT: extsw r4, r4 - ; CHECK-NEXT: mffprwz r3, f0 - ; CHECK-NEXT: clrlwi r3, r3, 16 - ; CHECK-NEXT: mtfprwz f0, r3 -Index: llvm-toolchain-18-18.1.8/llvm/test/CodeGen/PowerPC/negative-integer-fp-libcall.ll -=================================================================== ---- /dev/null -+++ llvm-toolchain-18-18.1.8/llvm/test/CodeGen/PowerPC/negative-integer-fp-libcall.ll -@@ -0,0 +1,26 @@ -+; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 2 -+; RUN: llc -O1 -mtriple=powerpc64-unknown-linux-gnu -mcpu=pwr8 < %s | FileCheck %s -+ -+; Test that a negative parameter smaller than 64 bits (e.g., int) -+; is correctly implemented with sign-extension when passed to -+; a floating point libcall. -+ -+define double @ldexp_test(ptr %a, ptr %b) nounwind { -+; CHECK-LABEL: ldexp_test: -+; CHECK: # %bb.0: -+; CHECK-NEXT: mflr 0 -+; CHECK-NEXT: stdu 1, -112(1) -+; CHECK-NEXT: std 0, 128(1) -+; CHECK-NEXT: lfd 1, 0(3) -+; CHECK-NEXT: lwa 4, 0(4) -+; CHECK-NEXT: bl ldexp -+; CHECK-NEXT: nop -+; CHECK-NEXT: addi 1, 1, 112 -+; CHECK-NEXT: ld 0, 16(1) -+; CHECK-NEXT: mtlr 0 -+; CHECK-NEXT: blr -+ %base = load double, ptr %a -+ %exp = load i32, ptr %b -+ %call = call double @llvm.ldexp.f64.i32(double %base, i32 signext %exp) -+ ret double %call -+} -Index: llvm-toolchain-18-18.1.8/llvm/test/CodeGen/X86/fold-int-pow2-with-fmul-or-fdiv.ll -=================================================================== ---- llvm-toolchain-18-18.1.8.orig/llvm/test/CodeGen/X86/fold-int-pow2-with-fmul-or-fdiv.ll -+++ llvm-toolchain-18-18.1.8/llvm/test/CodeGen/X86/fold-int-pow2-with-fmul-or-fdiv.ll -@@ -406,13 +406,15 @@ define <8 x half> @fmul_pow2_ldexp_8xhal - ; CHECK-SSE-NEXT: subq $72, %rsp - ; CHECK-SSE-NEXT: .cfi_def_cfa_offset 80 - ; CHECK-SSE-NEXT: movdqa %xmm0, (%rsp) # 16-byte Spill --; CHECK-SSE-NEXT: pextrw $7, %xmm0, %edi -+; CHECK-SSE-NEXT: pextrw $7, %xmm0, %eax -+; CHECK-SSE-NEXT: movswl %ax, %edi - ; CHECK-SSE-NEXT: movss {{.*#+}} xmm0 = [8.192E+3,0.0E+0,0.0E+0,0.0E+0] - ; CHECK-SSE-NEXT: callq ldexpf@PLT - ; CHECK-SSE-NEXT: callq __truncsfhf2@PLT - ; CHECK-SSE-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill - ; CHECK-SSE-NEXT: movdqa (%rsp), %xmm0 # 16-byte Reload --; CHECK-SSE-NEXT: pextrw $6, %xmm0, %edi -+; CHECK-SSE-NEXT: pextrw $6, %xmm0, %eax -+; CHECK-SSE-NEXT: movswl %ax, %edi - ; CHECK-SSE-NEXT: movd {{.*#+}} xmm0 = [8.192E+3,0.0E+0,0.0E+0,0.0E+0] - ; CHECK-SSE-NEXT: callq ldexpf@PLT - ; CHECK-SSE-NEXT: callq __truncsfhf2@PLT -@@ -420,13 +422,15 @@ define <8 x half> @fmul_pow2_ldexp_8xhal - ; CHECK-SSE-NEXT: # xmm0 = xmm0[0],mem[0],xmm0[1],mem[1],xmm0[2],mem[2],xmm0[3],mem[3] - ; CHECK-SSE-NEXT: movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill - ; CHECK-SSE-NEXT: movdqa (%rsp), %xmm0 # 16-byte Reload --; CHECK-SSE-NEXT: pextrw $5, %xmm0, %edi -+; CHECK-SSE-NEXT: pextrw $5, %xmm0, %eax -+; CHECK-SSE-NEXT: movswl %ax, %edi - ; CHECK-SSE-NEXT: movss {{.*#+}} xmm0 = [8.192E+3,0.0E+0,0.0E+0,0.0E+0] - ; CHECK-SSE-NEXT: callq ldexpf@PLT - ; CHECK-SSE-NEXT: callq __truncsfhf2@PLT - ; CHECK-SSE-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill - ; CHECK-SSE-NEXT: movdqa (%rsp), %xmm0 # 16-byte Reload --; CHECK-SSE-NEXT: pextrw $4, %xmm0, %edi -+; CHECK-SSE-NEXT: pextrw $4, %xmm0, %eax -+; CHECK-SSE-NEXT: movswl %ax, %edi - ; CHECK-SSE-NEXT: movd {{.*#+}} xmm0 = [8.192E+3,0.0E+0,0.0E+0,0.0E+0] - ; CHECK-SSE-NEXT: callq ldexpf@PLT - ; CHECK-SSE-NEXT: callq __truncsfhf2@PLT -@@ -436,13 +440,15 @@ define <8 x half> @fmul_pow2_ldexp_8xhal - ; CHECK-SSE-NEXT: # xmm0 = xmm0[0],mem[0],xmm0[1],mem[1] - ; CHECK-SSE-NEXT: movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill - ; CHECK-SSE-NEXT: movdqa (%rsp), %xmm0 # 16-byte Reload --; CHECK-SSE-NEXT: pextrw $3, %xmm0, %edi -+; CHECK-SSE-NEXT: pextrw $3, %xmm0, %eax -+; CHECK-SSE-NEXT: movswl %ax, %edi - ; CHECK-SSE-NEXT: movss {{.*#+}} xmm0 = [8.192E+3,0.0E+0,0.0E+0,0.0E+0] - ; CHECK-SSE-NEXT: callq ldexpf@PLT - ; CHECK-SSE-NEXT: callq __truncsfhf2@PLT - ; CHECK-SSE-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill - ; CHECK-SSE-NEXT: movdqa (%rsp), %xmm0 # 16-byte Reload --; CHECK-SSE-NEXT: pextrw $2, %xmm0, %edi -+; CHECK-SSE-NEXT: pextrw $2, %xmm0, %eax -+; CHECK-SSE-NEXT: movswl %ax, %edi - ; CHECK-SSE-NEXT: movd {{.*#+}} xmm0 = [8.192E+3,0.0E+0,0.0E+0,0.0E+0] - ; CHECK-SSE-NEXT: callq ldexpf@PLT - ; CHECK-SSE-NEXT: callq __truncsfhf2@PLT -@@ -450,14 +456,15 @@ define <8 x half> @fmul_pow2_ldexp_8xhal - ; CHECK-SSE-NEXT: # xmm0 = xmm0[0],mem[0],xmm0[1],mem[1],xmm0[2],mem[2],xmm0[3],mem[3] - ; CHECK-SSE-NEXT: movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill - ; CHECK-SSE-NEXT: movdqa (%rsp), %xmm0 # 16-byte Reload --; CHECK-SSE-NEXT: pextrw $1, %xmm0, %edi -+; CHECK-SSE-NEXT: pextrw $1, %xmm0, %eax -+; CHECK-SSE-NEXT: movswl %ax, %edi - ; CHECK-SSE-NEXT: movss {{.*#+}} xmm0 = [8.192E+3,0.0E+0,0.0E+0,0.0E+0] - ; CHECK-SSE-NEXT: callq ldexpf@PLT - ; CHECK-SSE-NEXT: callq __truncsfhf2@PLT - ; CHECK-SSE-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill - ; CHECK-SSE-NEXT: movdqa (%rsp), %xmm0 # 16-byte Reload - ; CHECK-SSE-NEXT: movd %xmm0, %eax --; CHECK-SSE-NEXT: movzwl %ax, %edi -+; CHECK-SSE-NEXT: movswl %ax, %edi - ; CHECK-SSE-NEXT: movd {{.*#+}} xmm0 = [8.192E+3,0.0E+0,0.0E+0,0.0E+0] - ; CHECK-SSE-NEXT: callq ldexpf@PLT - ; CHECK-SSE-NEXT: callq __truncsfhf2@PLT -@@ -476,13 +483,15 @@ define <8 x half> @fmul_pow2_ldexp_8xhal - ; CHECK-AVX2-NEXT: subq $72, %rsp - ; CHECK-AVX2-NEXT: .cfi_def_cfa_offset 80 - ; CHECK-AVX2-NEXT: vmovdqa %xmm0, (%rsp) # 16-byte Spill --; CHECK-AVX2-NEXT: vpextrw $7, %xmm0, %edi -+; CHECK-AVX2-NEXT: vpextrw $7, %xmm0, %eax -+; CHECK-AVX2-NEXT: movswl %ax, %edi - ; CHECK-AVX2-NEXT: vmovss {{.*#+}} xmm0 = [8.192E+3,0.0E+0,0.0E+0,0.0E+0] - ; CHECK-AVX2-NEXT: callq ldexpf@PLT - ; CHECK-AVX2-NEXT: callq __truncsfhf2@PLT - ; CHECK-AVX2-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill - ; CHECK-AVX2-NEXT: vmovdqa (%rsp), %xmm0 # 16-byte Reload --; CHECK-AVX2-NEXT: vpextrw $6, %xmm0, %edi -+; CHECK-AVX2-NEXT: vpextrw $6, %xmm0, %eax -+; CHECK-AVX2-NEXT: movswl %ax, %edi - ; CHECK-AVX2-NEXT: vmovd {{.*#+}} xmm0 = [8.192E+3,0.0E+0,0.0E+0,0.0E+0] - ; CHECK-AVX2-NEXT: callq ldexpf@PLT - ; CHECK-AVX2-NEXT: callq __truncsfhf2@PLT -@@ -490,13 +499,15 @@ define <8 x half> @fmul_pow2_ldexp_8xhal - ; CHECK-AVX2-NEXT: # xmm0 = xmm0[0],mem[0],xmm0[1],mem[1],xmm0[2],mem[2],xmm0[3],mem[3] - ; CHECK-AVX2-NEXT: vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill - ; CHECK-AVX2-NEXT: vmovdqa (%rsp), %xmm0 # 16-byte Reload --; CHECK-AVX2-NEXT: vpextrw $5, %xmm0, %edi -+; CHECK-AVX2-NEXT: vpextrw $5, %xmm0, %eax -+; CHECK-AVX2-NEXT: movswl %ax, %edi - ; CHECK-AVX2-NEXT: vmovss {{.*#+}} xmm0 = [8.192E+3,0.0E+0,0.0E+0,0.0E+0] - ; CHECK-AVX2-NEXT: callq ldexpf@PLT - ; CHECK-AVX2-NEXT: callq __truncsfhf2@PLT - ; CHECK-AVX2-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill - ; CHECK-AVX2-NEXT: vmovdqa (%rsp), %xmm0 # 16-byte Reload --; CHECK-AVX2-NEXT: vpextrw $4, %xmm0, %edi -+; CHECK-AVX2-NEXT: vpextrw $4, %xmm0, %eax -+; CHECK-AVX2-NEXT: movswl %ax, %edi - ; CHECK-AVX2-NEXT: vmovd {{.*#+}} xmm0 = [8.192E+3,0.0E+0,0.0E+0,0.0E+0] - ; CHECK-AVX2-NEXT: callq ldexpf@PLT - ; CHECK-AVX2-NEXT: callq __truncsfhf2@PLT -@@ -506,13 +517,15 @@ define <8 x half> @fmul_pow2_ldexp_8xhal - ; CHECK-AVX2-NEXT: # xmm0 = xmm0[0],mem[0],xmm0[1],mem[1] - ; CHECK-AVX2-NEXT: vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill - ; CHECK-AVX2-NEXT: vmovdqa (%rsp), %xmm0 # 16-byte Reload --; CHECK-AVX2-NEXT: vpextrw $3, %xmm0, %edi -+; CHECK-AVX2-NEXT: vpextrw $3, %xmm0, %eax -+; CHECK-AVX2-NEXT: movswl %ax, %edi - ; CHECK-AVX2-NEXT: vmovss {{.*#+}} xmm0 = [8.192E+3,0.0E+0,0.0E+0,0.0E+0] - ; CHECK-AVX2-NEXT: callq ldexpf@PLT - ; CHECK-AVX2-NEXT: callq __truncsfhf2@PLT - ; CHECK-AVX2-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill - ; CHECK-AVX2-NEXT: vmovdqa (%rsp), %xmm0 # 16-byte Reload --; CHECK-AVX2-NEXT: vpextrw $2, %xmm0, %edi -+; CHECK-AVX2-NEXT: vpextrw $2, %xmm0, %eax -+; CHECK-AVX2-NEXT: movswl %ax, %edi - ; CHECK-AVX2-NEXT: vmovd {{.*#+}} xmm0 = [8.192E+3,0.0E+0,0.0E+0,0.0E+0] - ; CHECK-AVX2-NEXT: callq ldexpf@PLT - ; CHECK-AVX2-NEXT: callq __truncsfhf2@PLT -@@ -520,14 +533,15 @@ define <8 x half> @fmul_pow2_ldexp_8xhal - ; CHECK-AVX2-NEXT: # xmm0 = xmm0[0],mem[0],xmm0[1],mem[1],xmm0[2],mem[2],xmm0[3],mem[3] - ; CHECK-AVX2-NEXT: vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill - ; CHECK-AVX2-NEXT: vmovdqa (%rsp), %xmm0 # 16-byte Reload --; CHECK-AVX2-NEXT: vpextrw $1, %xmm0, %edi -+; CHECK-AVX2-NEXT: vpextrw $1, %xmm0, %eax -+; CHECK-AVX2-NEXT: movswl %ax, %edi - ; CHECK-AVX2-NEXT: vmovss {{.*#+}} xmm0 = [8.192E+3,0.0E+0,0.0E+0,0.0E+0] - ; CHECK-AVX2-NEXT: callq ldexpf@PLT - ; CHECK-AVX2-NEXT: callq __truncsfhf2@PLT - ; CHECK-AVX2-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill - ; CHECK-AVX2-NEXT: vmovdqa (%rsp), %xmm0 # 16-byte Reload - ; CHECK-AVX2-NEXT: vmovd %xmm0, %eax --; CHECK-AVX2-NEXT: movzwl %ax, %edi -+; CHECK-AVX2-NEXT: movswl %ax, %edi - ; CHECK-AVX2-NEXT: vmovd {{.*#+}} xmm0 = [8.192E+3,0.0E+0,0.0E+0,0.0E+0] - ; CHECK-AVX2-NEXT: callq ldexpf@PLT - ; CHECK-AVX2-NEXT: callq __truncsfhf2@PLT -@@ -546,7 +560,8 @@ define <8 x half> @fmul_pow2_ldexp_8xhal - ; CHECK-AVX512F-NEXT: subq $72, %rsp - ; CHECK-AVX512F-NEXT: .cfi_def_cfa_offset 80 - ; CHECK-AVX512F-NEXT: vmovdqa %xmm0, (%rsp) # 16-byte Spill --; CHECK-AVX512F-NEXT: vpextrw $7, %xmm0, %edi -+; CHECK-AVX512F-NEXT: vpextrw $7, %xmm0, %eax -+; CHECK-AVX512F-NEXT: movswl %ax, %edi - ; CHECK-AVX512F-NEXT: vmovss {{.*#+}} xmm0 = [8.192E+3,0.0E+0,0.0E+0,0.0E+0] - ; CHECK-AVX512F-NEXT: callq ldexpf@PLT - ; CHECK-AVX512F-NEXT: vcvtps2ph $4, %xmm0, %xmm0 -@@ -554,7 +569,8 @@ define <8 x half> @fmul_pow2_ldexp_8xhal - ; CHECK-AVX512F-NEXT: vpinsrw $0, %eax, %xmm0, %xmm0 - ; CHECK-AVX512F-NEXT: vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill - ; CHECK-AVX512F-NEXT: vmovdqa (%rsp), %xmm0 # 16-byte Reload --; CHECK-AVX512F-NEXT: vpextrw $6, %xmm0, %edi -+; CHECK-AVX512F-NEXT: vpextrw $6, %xmm0, %eax -+; CHECK-AVX512F-NEXT: movswl %ax, %edi - ; CHECK-AVX512F-NEXT: vmovss {{.*#+}} xmm0 = [8.192E+3,0.0E+0,0.0E+0,0.0E+0] - ; CHECK-AVX512F-NEXT: callq ldexpf@PLT - ; CHECK-AVX512F-NEXT: vcvtps2ph $4, %xmm0, %xmm0 -@@ -564,7 +580,8 @@ define <8 x half> @fmul_pow2_ldexp_8xhal - ; CHECK-AVX512F-NEXT: # xmm0 = xmm0[0],mem[0],xmm0[1],mem[1],xmm0[2],mem[2],xmm0[3],mem[3] - ; CHECK-AVX512F-NEXT: vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill - ; CHECK-AVX512F-NEXT: vmovdqa (%rsp), %xmm0 # 16-byte Reload --; CHECK-AVX512F-NEXT: vpextrw $5, %xmm0, %edi -+; CHECK-AVX512F-NEXT: vpextrw $5, %xmm0, %eax -+; CHECK-AVX512F-NEXT: movswl %ax, %edi - ; CHECK-AVX512F-NEXT: vmovss {{.*#+}} xmm0 = [8.192E+3,0.0E+0,0.0E+0,0.0E+0] - ; CHECK-AVX512F-NEXT: callq ldexpf@PLT - ; CHECK-AVX512F-NEXT: vcvtps2ph $4, %xmm0, %xmm0 -@@ -572,7 +589,8 @@ define <8 x half> @fmul_pow2_ldexp_8xhal - ; CHECK-AVX512F-NEXT: vpinsrw $0, %eax, %xmm0, %xmm0 - ; CHECK-AVX512F-NEXT: vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill - ; CHECK-AVX512F-NEXT: vmovdqa (%rsp), %xmm0 # 16-byte Reload --; CHECK-AVX512F-NEXT: vpextrw $4, %xmm0, %edi -+; CHECK-AVX512F-NEXT: vpextrw $4, %xmm0, %eax -+; CHECK-AVX512F-NEXT: movswl %ax, %edi - ; CHECK-AVX512F-NEXT: vmovss {{.*#+}} xmm0 = [8.192E+3,0.0E+0,0.0E+0,0.0E+0] - ; CHECK-AVX512F-NEXT: callq ldexpf@PLT - ; CHECK-AVX512F-NEXT: vcvtps2ph $4, %xmm0, %xmm0 -@@ -584,7 +602,8 @@ define <8 x half> @fmul_pow2_ldexp_8xhal - ; CHECK-AVX512F-NEXT: # xmm0 = xmm0[0],mem[0],xmm0[1],mem[1] - ; CHECK-AVX512F-NEXT: vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill - ; CHECK-AVX512F-NEXT: vmovdqa (%rsp), %xmm0 # 16-byte Reload --; CHECK-AVX512F-NEXT: vpextrw $3, %xmm0, %edi -+; CHECK-AVX512F-NEXT: vpextrw $3, %xmm0, %eax -+; CHECK-AVX512F-NEXT: movswl %ax, %edi - ; CHECK-AVX512F-NEXT: vmovss {{.*#+}} xmm0 = [8.192E+3,0.0E+0,0.0E+0,0.0E+0] - ; CHECK-AVX512F-NEXT: callq ldexpf@PLT - ; CHECK-AVX512F-NEXT: vcvtps2ph $4, %xmm0, %xmm0 -@@ -592,7 +611,8 @@ define <8 x half> @fmul_pow2_ldexp_8xhal - ; CHECK-AVX512F-NEXT: vpinsrw $0, %eax, %xmm0, %xmm0 - ; CHECK-AVX512F-NEXT: vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill - ; CHECK-AVX512F-NEXT: vmovdqa (%rsp), %xmm0 # 16-byte Reload --; CHECK-AVX512F-NEXT: vpextrw $2, %xmm0, %edi -+; CHECK-AVX512F-NEXT: vpextrw $2, %xmm0, %eax -+; CHECK-AVX512F-NEXT: movswl %ax, %edi - ; CHECK-AVX512F-NEXT: vmovss {{.*#+}} xmm0 = [8.192E+3,0.0E+0,0.0E+0,0.0E+0] - ; CHECK-AVX512F-NEXT: callq ldexpf@PLT - ; CHECK-AVX512F-NEXT: vcvtps2ph $4, %xmm0, %xmm0 -@@ -602,7 +622,8 @@ define <8 x half> @fmul_pow2_ldexp_8xhal - ; CHECK-AVX512F-NEXT: # xmm0 = xmm0[0],mem[0],xmm0[1],mem[1],xmm0[2],mem[2],xmm0[3],mem[3] - ; CHECK-AVX512F-NEXT: vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill - ; CHECK-AVX512F-NEXT: vmovdqa (%rsp), %xmm0 # 16-byte Reload --; CHECK-AVX512F-NEXT: vpextrw $1, %xmm0, %edi -+; CHECK-AVX512F-NEXT: vpextrw $1, %xmm0, %eax -+; CHECK-AVX512F-NEXT: movswl %ax, %edi - ; CHECK-AVX512F-NEXT: vmovss {{.*#+}} xmm0 = [8.192E+3,0.0E+0,0.0E+0,0.0E+0] - ; CHECK-AVX512F-NEXT: callq ldexpf@PLT - ; CHECK-AVX512F-NEXT: vcvtps2ph $4, %xmm0, %xmm0 -@@ -611,7 +632,7 @@ define <8 x half> @fmul_pow2_ldexp_8xhal - ; CHECK-AVX512F-NEXT: vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill - ; CHECK-AVX512F-NEXT: vmovdqa (%rsp), %xmm0 # 16-byte Reload - ; CHECK-AVX512F-NEXT: vmovd %xmm0, %eax --; CHECK-AVX512F-NEXT: movzwl %ax, %edi -+; CHECK-AVX512F-NEXT: movswl %ax, %edi - ; CHECK-AVX512F-NEXT: vmovss {{.*#+}} xmm0 = [8.192E+3,0.0E+0,0.0E+0,0.0E+0] - ; CHECK-AVX512F-NEXT: callq ldexpf@PLT - ; CHECK-AVX512F-NEXT: vcvtps2ph $4, %xmm0, %xmm0 diff --git a/debian/patches/bootstrap-fix-include-next.diff b/debian/patches/bootstrap-fix-include-next.diff index 4a638e61..8f2fd783 100644 --- a/debian/patches/bootstrap-fix-include-next.diff +++ b/debian/patches/bootstrap-fix-include-next.diff @@ -13,10 +13,10 @@ include search path, clang's header will call itself without any effect. Therefore, it will do include_next until the define from the libc is existing (ex: _INTTYPES_H) -Index: llvm-toolchain-snapshot_15~++20220407011631+46f0e2ceb487/clang/lib/Headers/inttypes.h +Index: llvm-toolchain-snapshot_19~++20240502082504+e3f42b02a412/clang/lib/Headers/inttypes.h =================================================================== ---- llvm-toolchain-snapshot_15~++20220407011631+46f0e2ceb487.orig/clang/lib/Headers/inttypes.h -+++ llvm-toolchain-snapshot_15~++20220407011631+46f0e2ceb487/clang/lib/Headers/inttypes.h +--- llvm-toolchain-snapshot_19~++20240502082504+e3f42b02a412.orig/clang/lib/Headers/inttypes.h ++++ llvm-toolchain-snapshot_19~++20240502082504+e3f42b02a412/clang/lib/Headers/inttypes.h @@ -6,7 +6,7 @@ * \*===----------------------------------------------------------------------===*/ @@ -26,10 +26,10 @@ Index: llvm-toolchain-snapshot_15~++20220407011631+46f0e2ceb487/clang/lib/Header // AIX system headers need inttypes.h to be re-enterable while _STD_TYPES_T // is defined until an inclusion of it without _STD_TYPES_T occurs, in which // case the header guard macro is defined. -Index: llvm-toolchain-snapshot_15~++20220407011631+46f0e2ceb487/clang/lib/Headers/limits.h +Index: llvm-toolchain-snapshot_19~++20240502082504+e3f42b02a412/clang/lib/Headers/limits.h =================================================================== ---- llvm-toolchain-snapshot_15~++20220407011631+46f0e2ceb487.orig/clang/lib/Headers/limits.h -+++ llvm-toolchain-snapshot_15~++20220407011631+46f0e2ceb487/clang/lib/Headers/limits.h +--- llvm-toolchain-snapshot_19~++20240502082504+e3f42b02a412.orig/clang/lib/Headers/limits.h ++++ llvm-toolchain-snapshot_19~++20240502082504+e3f42b02a412/clang/lib/Headers/limits.h @@ -6,7 +6,7 @@ * \*===----------------------------------------------------------------------===*/ @@ -38,4 +38,4 @@ Index: llvm-toolchain-snapshot_15~++20220407011631+46f0e2ceb487/clang/lib/Header +#if !defined(__CLANG_LIMITS_H) || !defined(_LIBC_LIMITS_H_) #define __CLANG_LIMITS_H - /* The system's limits.h may, in turn, try to #include_next GCC's limits.h. + #if defined(__MVS__) && __has_include_next() diff --git a/debian/patches/bring-reporter-back.patch b/debian/patches/bring-reporter-back.patch deleted file mode 100644 index 4baff59a..00000000 --- a/debian/patches/bring-reporter-back.patch +++ /dev/null @@ -1,223 +0,0 @@ -From e3cd3a3c91524c957e06bb0170343548f02b6842 Mon Sep 17 00:00:00 2001 -From: Tom Stellard -Date: Thu, 11 Feb 2021 22:28:19 +0000 -Subject: [PATCH] Partially Revert "scan-view: Remove Reporter.py and - associated AppleScript files" - -This reverts some of commit dbb01536f6f49fa428f170e34466072ef439b3e9. - -The Reporter module was still being used by the ScanView.py module and deleting -it caused scan-view to fail. This commit adds back Reporter.py but removes the -code the references the AppleScript files which were removed in -dbb01536f6f49fa428f170e34466072ef439b3e9. - -Reviewed By: NoQ - -Differential Revision: https://reviews.llvm.org/D96367 ---- - clang/tools/scan-view/CMakeLists.txt | 1 + - clang/tools/scan-view/share/Reporter.py | 183 ++++++++++++++++++++++++ - 2 files changed, 184 insertions(+) - create mode 100644 clang/tools/scan-view/share/Reporter.py - -diff --git a/clang/tools/scan-view/CMakeLists.txt b/clang/tools/scan-view/CMakeLists.txt -index dd3d33439299..eccc6b83195b 100644 ---- a/clang/tools/scan-view/CMakeLists.txt -+++ b/clang/tools/scan-view/CMakeLists.txt -@@ -5,6 +5,7 @@ set(BinFiles - - set(ShareFiles - ScanView.py -+ Reporter.py - startfile.py - bugcatcher.ico) - -diff --git a/clang/tools/scan-view/share/Reporter.py b/clang/tools/scan-view/share/Reporter.py -new file mode 100644 -index 000000000000..31a14fb0cf74 ---- /dev/null -+++ b/clang/tools/scan-view/share/Reporter.py -@@ -0,0 +1,183 @@ -+#!/usr/bin/env python -+# -*- coding: utf-8 -*- -+ -+"""Methods for reporting bugs.""" -+ -+import subprocess, sys, os -+ -+__all__ = ['ReportFailure', 'BugReport', 'getReporters'] -+ -+# -+ -+class ReportFailure(Exception): -+ """Generic exception for failures in bug reporting.""" -+ def __init__(self, value): -+ self.value = value -+ -+# Collect information about a bug. -+ -+class BugReport(object): -+ def __init__(self, title, description, files): -+ self.title = title -+ self.description = description -+ self.files = files -+ -+# Reporter interfaces. -+ -+import os -+ -+import email, mimetypes, smtplib -+from email import encoders -+from email.message import Message -+from email.mime.base import MIMEBase -+from email.mime.multipart import MIMEMultipart -+from email.mime.text import MIMEText -+ -+#===------------------------------------------------------------------------===# -+# ReporterParameter -+#===------------------------------------------------------------------------===# -+ -+class ReporterParameter(object): -+ def __init__(self, n): -+ self.name = n -+ def getName(self): -+ return self.name -+ def getValue(self,r,bugtype,getConfigOption): -+ return getConfigOption(r.getName(),self.getName()) -+ def saveConfigValue(self): -+ return True -+ -+class TextParameter (ReporterParameter): -+ def getHTML(self,r,bugtype,getConfigOption): -+ return """\ -+ -+%s: -+ -+"""%(self.getName(),r.getName(),self.getName(),self.getValue(r,bugtype,getConfigOption)) -+ -+class SelectionParameter (ReporterParameter): -+ def __init__(self, n, values): -+ ReporterParameter.__init__(self,n) -+ self.values = values -+ -+ def getHTML(self,r,bugtype,getConfigOption): -+ default = self.getValue(r,bugtype,getConfigOption) -+ return """\ -+ -+%s:"""%(self.getName(),r.getName(),self.getName(),'\n'.join(["""\ -+"""%(o[0], -+ o[0] == default and ' selected="selected"' or '', -+ o[1]) for o in self.values])) -+ -+#===------------------------------------------------------------------------===# -+# Reporters -+#===------------------------------------------------------------------------===# -+ -+class EmailReporter(object): -+ def getName(self): -+ return 'Email' -+ -+ def getParameters(self): -+ return [TextParameter(x) for x in ['To', 'From', 'SMTP Server', 'SMTP Port']] -+ -+ # Lifted from python email module examples. -+ def attachFile(self, outer, path): -+ # Guess the content type based on the file's extension. Encoding -+ # will be ignored, although we should check for simple things like -+ # gzip'd or compressed files. -+ ctype, encoding = mimetypes.guess_type(path) -+ if ctype is None or encoding is not None: -+ # No guess could be made, or the file is encoded (compressed), so -+ # use a generic bag-of-bits type. -+ ctype = 'application/octet-stream' -+ maintype, subtype = ctype.split('/', 1) -+ if maintype == 'text': -+ fp = open(path) -+ # Note: we should handle calculating the charset -+ msg = MIMEText(fp.read(), _subtype=subtype) -+ fp.close() -+ else: -+ fp = open(path, 'rb') -+ msg = MIMEBase(maintype, subtype) -+ msg.set_payload(fp.read()) -+ fp.close() -+ # Encode the payload using Base64 -+ encoders.encode_base64(msg) -+ # Set the filename parameter -+ msg.add_header('Content-Disposition', 'attachment', filename=os.path.basename(path)) -+ outer.attach(msg) -+ -+ def fileReport(self, report, parameters): -+ mainMsg = """\ -+BUG REPORT -+--- -+Title: %s -+Description: %s -+"""%(report.title, report.description) -+ -+ if not parameters.get('To'): -+ raise ReportFailure('No "To" address specified.') -+ if not parameters.get('From'): -+ raise ReportFailure('No "From" address specified.') -+ -+ msg = MIMEMultipart() -+ msg['Subject'] = 'BUG REPORT: %s'%(report.title) -+ # FIXME: Get config parameters -+ msg['To'] = parameters.get('To') -+ msg['From'] = parameters.get('From') -+ msg.preamble = mainMsg -+ -+ msg.attach(MIMEText(mainMsg, _subtype='text/plain')) -+ for file in report.files: -+ self.attachFile(msg, file) -+ -+ try: -+ s = smtplib.SMTP(host=parameters.get('SMTP Server'), -+ port=parameters.get('SMTP Port')) -+ s.sendmail(msg['From'], msg['To'], msg.as_string()) -+ s.close() -+ except: -+ raise ReportFailure('Unable to send message via SMTP.') -+ -+ return "Message sent!" -+ -+class BugzillaReporter(object): -+ def getName(self): -+ return 'Bugzilla' -+ -+ def getParameters(self): -+ return [TextParameter(x) for x in ['URL','Product']] -+ -+ def fileReport(self, report, parameters): -+ raise NotImplementedError -+ -+ -+class RadarClassificationParameter(SelectionParameter): -+ def __init__(self): -+ SelectionParameter.__init__(self,"Classification", -+ [['1', 'Security'], ['2', 'Crash/Hang/Data Loss'], -+ ['3', 'Performance'], ['4', 'UI/Usability'], -+ ['6', 'Serious Bug'], ['7', 'Other']]) -+ -+ def saveConfigValue(self): -+ return False -+ -+ def getValue(self,r,bugtype,getConfigOption): -+ if bugtype.find("leak") != -1: -+ return '3' -+ elif bugtype.find("dereference") != -1: -+ return '2' -+ elif bugtype.find("missing ivar release") != -1: -+ return '3' -+ else: -+ return '7' -+ -+### -+ -+def getReporters(): -+ reporters = [] -+ reporters.append(EmailReporter()) -+ return reporters -+ diff --git a/debian/patches/clang-analyzer-force-version.diff b/debian/patches/clang-analyzer-force-version.diff index 72b34451..94e3cd20 100644 --- a/debian/patches/clang-analyzer-force-version.diff +++ b/debian/patches/clang-analyzer-force-version.diff @@ -10,7 +10,7 @@ Index: llvm-toolchain-snapshot_17~++20211117120952+5b4bfd8c2417/clang/tools/scan $Clang = $ENV{'CLANG_CXX'}; - if (!defined $Clang || ! -x $Clang) { $Clang = 'clang++'; } -+ if (!defined $Clang || ! -x $Clang) { $Clang = 'clang++-18'; } ++ if (!defined $Clang || ! -x $Clang) { $Clang = 'clang++-19'; } $IsCXX = 1 } @@ -19,7 +19,7 @@ Index: llvm-toolchain-snapshot_17~++20211117120952+5b4bfd8c2417/clang/tools/scan $Clang = $ENV{'CLANG'}; - if (!defined $Clang || ! -x $Clang) { $Clang = 'clang'; } -+ if (!defined $Clang || ! -x $Clang) { $Clang = 'clang-18'; } ++ if (!defined $Clang || ! -x $Clang) { $Clang = 'clang-19'; } $IsCXX = 0 } diff --git a/debian/patches/clang-arm-default-vfp3-on-armv7a.patch b/debian/patches/clang-arm-default-vfp3-on-armv7a.patch index 21a0a955..ec5a1211 100644 --- a/debian/patches/clang-arm-default-vfp3-on-armv7a.patch +++ b/debian/patches/clang-arm-default-vfp3-on-armv7a.patch @@ -1,8 +1,23 @@ -Index: llvm-toolchain-snapshot_16~++20221220013513+bb7940e25f6c/llvm/lib/Target/ARM/ARM.td +Index: llvm-toolchain-snapshot_19~++20240424094944+78ebaa2d798f/llvm/include/llvm/TargetParser/ARMTargetParser.def =================================================================== ---- llvm-toolchain-snapshot_16~++20221220013513+bb7940e25f6c.orig/llvm/lib/Target/ARM/ARM.td -+++ llvm-toolchain-snapshot_16~++20221220013513+bb7940e25f6c/llvm/lib/Target/ARM/ARM.td -@@ -905,7 +905,8 @@ def ARMv6sm : Architecture<"armv6s-m", +--- llvm-toolchain-snapshot_19~++20240424094944+78ebaa2d798f.orig/llvm/include/llvm/TargetParser/ARMTargetParser.def ++++ llvm-toolchain-snapshot_19~++20240424094944+78ebaa2d798f/llvm/include/llvm/TargetParser/ARMTargetParser.def +@@ -92,8 +92,8 @@ ARM_ARCH("armv6kz", ARMV6KZ, "6KZ", "+v6 + FK_VFPV2, (ARM::AEK_SEC | ARM::AEK_DSP)) + ARM_ARCH("armv6-m", ARMV6M, "6-M", "+v6m", ARMBuildAttrs::CPUArch::v6_M, + FK_NONE, ARM::AEK_NONE) +-ARM_ARCH("armv7-a", ARMV7A, "7-A", "+v7", ARMBuildAttrs::CPUArch::v7, FK_NEON, +- ARM::AEK_DSP) ++ARM_ARCH("armv7-a", ARMV7A, "7-A", "+v7", ARMBuildAttrs::CPUArch::v7, ++ FK_VFPV3_D16 /* Hard float */, ARM::AEK_DSP) + ARM_ARCH("armv7ve", ARMV7VE, "7VE", "+v7ve", ARMBuildAttrs::CPUArch::v7, + FK_NEON, + (ARM::AEK_SEC | ARM::AEK_MP | ARM::AEK_VIRT | ARM::AEK_HWDIVARM | +Index: llvm-toolchain-snapshot_19~++20240424094944+78ebaa2d798f/llvm/lib/Target/ARM/ARMArchitectures.td +=================================================================== +--- llvm-toolchain-snapshot_19~++20240424094944+78ebaa2d798f.orig/llvm/lib/Target/ARM/ARMArchitectures.td ++++ llvm-toolchain-snapshot_19~++20240424094944+78ebaa2d798f/llvm/lib/Target/ARM/ARMArchitectures.td +@@ -42,7 +42,8 @@ def ARMv6sm : Architecture<"armv6s-m", FeatureStrictAlign]>; def ARMv7a : Architecture<"armv7-a", "ARMv7a", [HasV7Ops, @@ -12,16 +27,3 @@ Index: llvm-toolchain-snapshot_16~++20221220013513+bb7940e25f6c/llvm/lib/Target/ FeatureDB, FeatureDSP, FeatureAClass, -Index: llvm-toolchain-snapshot_16~++20221220013513+bb7940e25f6c/llvm/include/llvm/TargetParser/ARMTargetParser.def -=================================================================== ---- llvm-toolchain-snapshot_16~++20221220013513+bb7940e25f6c.orig/llvm/include/llvm/TargetParser/ARMTargetParser.def -+++ llvm-toolchain-snapshot_16~++20221220013513+bb7940e25f6c/llvm/include/llvm/TargetParser/ARMTargetParser.def -@@ -68,7 +68,7 @@ ARM_ARCH("armv6kz", ARMV6KZ, "6KZ", "+v6 - ARM_ARCH("armv6-m", ARMV6M, "6-M", "+v6m", ARMBuildAttrs::CPUArch::v6_M, - FK_NONE, ARM::AEK_NONE) - ARM_ARCH("armv7-a", ARMV7A, "7-A", "+v7", ARMBuildAttrs::CPUArch::v7, -- FK_NEON, ARM::AEK_DSP) -+ FK_VFPV3_D16 /* Hard float */, ARM::AEK_DSP) - ARM_ARCH("armv7ve", ARMV7VE, "7VE", "+v7ve", ARMBuildAttrs::CPUArch::v7, - FK_NEON, (ARM::AEK_SEC | ARM::AEK_MP | ARM::AEK_VIRT | - ARM::AEK_HWDIVARM | ARM::AEK_HWDIVTHUMB | ARM::AEK_DSP)) diff --git a/debian/patches/clang-format-version.diff b/debian/patches/clang-format-version.diff index 5e00d38c..22231969 100644 --- a/debian/patches/clang-format-version.diff +++ b/debian/patches/clang-format-version.diff @@ -4,42 +4,42 @@ clang/tools/clang-format/clang-format.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) -Index: llvm-toolchain-snapshot_17~++20230523093327+96a003b9bf79/clang/tools/clang-format/clang-format-diff.py +Index: llvm-toolchain-snapshot_19~++20240220124703+f122268c0441/clang/tools/clang-format/clang-format-diff.py =================================================================== ---- llvm-toolchain-snapshot_17~++20230523093327+96a003b9bf79.orig/clang/tools/clang-format/clang-format-diff.py -+++ llvm-toolchain-snapshot_17~++20230523093327+96a003b9bf79/clang/tools/clang-format/clang-format-diff.py -@@ -92,7 +92,7 @@ def main(): +--- llvm-toolchain-snapshot_19~++20240220124703+f122268c0441.orig/clang/tools/clang-format/clang-format-diff.py ++++ llvm-toolchain-snapshot_19~++20240220124703+f122268c0441/clang/tools/clang-format/clang-format-diff.py +@@ -93,7 +93,7 @@ def main(): ) parser.add_argument( "-binary", - default="clang-format", -+ default="clang-format-18", ++ default="clang-format-19", help="location of binary to use for clang-format", ) args = parser.parse_args() -Index: llvm-toolchain-snapshot_17~++20230523093327+96a003b9bf79/clang/tools/clang-format/clang-format.el +Index: llvm-toolchain-snapshot_19~++20240220124703+f122268c0441/clang/tools/clang-format/clang-format.el =================================================================== ---- llvm-toolchain-snapshot_17~++20230523093327+96a003b9bf79.orig/clang/tools/clang-format/clang-format.el -+++ llvm-toolchain-snapshot_17~++20230523093327+96a003b9bf79/clang/tools/clang-format/clang-format.el -@@ -37,7 +37,7 @@ +--- llvm-toolchain-snapshot_19~++20240220124703+f122268c0441.orig/clang/tools/clang-format/clang-format.el ++++ llvm-toolchain-snapshot_19~++20240220124703+f122268c0441/clang/tools/clang-format/clang-format.el +@@ -38,7 +38,7 @@ :group 'tools) (defcustom clang-format-executable - (or (executable-find "clang-format") -+ (or (executable-find "clang-format-18") ++ (or (executable-find "clang-format-19") "clang-format") "Location of the clang-format executable. -Index: llvm-toolchain-snapshot_17~++20230523093327+96a003b9bf79/clang/tools/clang-format/clang-format.py +Index: llvm-toolchain-snapshot_19~++20240220124703+f122268c0441/clang/tools/clang-format/clang-format.py =================================================================== ---- llvm-toolchain-snapshot_17~++20230523093327+96a003b9bf79.orig/clang/tools/clang-format/clang-format.py -+++ llvm-toolchain-snapshot_17~++20230523093327+96a003b9bf79/clang/tools/clang-format/clang-format.py +--- llvm-toolchain-snapshot_19~++20240220124703+f122268c0441.orig/clang/tools/clang-format/clang-format.py ++++ llvm-toolchain-snapshot_19~++20240220124703+f122268c0441/clang/tools/clang-format/clang-format.py @@ -49,7 +49,7 @@ import vim # set g:clang_format_path to the path to clang-format if it is not on the path # Change this to the full path if clang-format is not on the path. -binary = "clang-format" -+binary = "clang-format-18" ++binary = "clang-format-19" if vim.eval('exists("g:clang_format_path")') == "1": binary = vim.eval("g:clang_format_path") diff --git a/debian/patches/clang-record-gcc-switches-by-default.patch b/debian/patches/clang-record-gcc-switches-by-default.patch deleted file mode 100644 index 84715c4d..00000000 --- a/debian/patches/clang-record-gcc-switches-by-default.patch +++ /dev/null @@ -1,22 +0,0 @@ -Description: Record GCC-style command-line switches by default - This makes Clang default behaviour more like GCC where if debug - symbol generation is enabled, the command-line switches data - will be stored inside the debug symbols. -Author: Zixing Liu -Forwarded: https://github.com/llvm/llvm-project/issues/94690 -Last-Update: 2024-06-04 ---- -This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ -Index: llvm-toolchain-18-18.1.6/clang/lib/Driver/ToolChains/Clang.cpp -=================================================================== ---- llvm-toolchain-18-18.1.6.orig/clang/lib/Driver/ToolChains/Clang.cpp -+++ llvm-toolchain-18-18.1.6/clang/lib/Driver/ToolChains/Clang.cpp -@@ -7390,7 +7390,7 @@ void Clang::ConstructJob(Compilation &C, - // By default, -gno-record-gcc-switches is set on and no recording. - auto GRecordSwitches = - Args.hasFlag(options::OPT_grecord_command_line, -- options::OPT_gno_record_command_line, false); -+ options::OPT_gno_record_command_line, true); - auto FRecordSwitches = - Args.hasFlag(options::OPT_frecord_command_line, - options::OPT_fno_record_command_line, false); diff --git a/debian/patches/clang-tidy-run-bin.diff b/debian/patches/clang-tidy-run-bin.diff index 4f61f44f..dc1d5442 100644 --- a/debian/patches/clang-tidy-run-bin.diff +++ b/debian/patches/clang-tidy-run-bin.diff @@ -1,19 +1,18 @@ -Index: llvm-toolchain-snapshot_18~++20231101090856+e144ae54dcb9/clang-tools-extra/clang-tidy/tool/run-clang-tidy.py +Index: llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e/clang-tools-extra/clang-tidy/tool/run-clang-tidy.py =================================================================== ---- llvm-toolchain-snapshot_18~++20231101090856+e144ae54dcb9.orig/clang-tools-extra/clang-tidy/tool/run-clang-tidy.py -+++ llvm-toolchain-snapshot_18~++20231101090856+e144ae54dcb9/clang-tools-extra/clang-tidy/tool/run-clang-tidy.py -@@ -260,10 +260,13 @@ def main(): - help="allow alpha checkers from clang-analyzer.", +--- llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e.orig/clang-tools-extra/clang-tidy/tool/run-clang-tidy.py ++++ llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e/clang-tools-extra/clang-tidy/tool/run-clang-tidy.py +@@ -300,10 +300,12 @@ async def main() -> None: + help="Allow alpha checkers from clang-analyzer.", ) parser.add_argument( -- "-clang-tidy-binary", metavar="PATH", help="path to clang-tidy binary" -+ "-clang-tidy-binary", metavar="PATH", -+ default='clang-tidy-18', -+ help="path to clang-tidy binary" +- "-clang-tidy-binary", metavar="PATH", help="Path to clang-tidy binary." ++ "-clang-tidy-binary", metavar="PATH", help="Path to clang-tidy binary.", ++ default='clang-tidy-19' ) parser.add_argument( "-clang-apply-replacements-binary", -+ default='clang-apply-replacements-18', ++ default='clang-apply-replacements-19', metavar="PATH", - help="path to clang-apply-replacements binary", + help="Path to clang-apply-replacements binary.", ) diff --git a/debian/patches/clang_vendor_pass_stage2.diff b/debian/patches/clang_vendor_pass_stage2.diff deleted file mode 100644 index 80b8cb0b..00000000 --- a/debian/patches/clang_vendor_pass_stage2.diff +++ /dev/null @@ -1,20 +0,0 @@ -commit ca467542eecfc621eea7fefb3c7e3849c6b43ac7 -Author: Sylvestre Ledru -Date: Fri May 29 09:13:08 2020 +0200 - - [CMake] Pass CLANG_VENDOR variables into later stages - - We are already passing CLANG_VERSION_* & PACKAGE_VENDOR - -diff --git a/clang/CMakeLists.txt b/clang/CMakeLists.txt -index 7dadc5f6e91..5a5e34aacbe 100644 ---- a/clang/CMakeLists.txt -+++ b/clang/CMakeLists.txt -@@ -711,6 +711,7 @@ if (CLANG_ENABLE_BOOTSTRAP) - CLANG_VERSION_MAJOR - CLANG_VERSION_MINOR - CLANG_VERSION_PATCHLEVEL -+ CLANG_VENDOR - LLVM_VERSION_SUFFIX - LLVM_BINUTILS_INCDIR - CLANG_REPOSITORY_STRING diff --git a/debian/patches/clangd-atomic-cmake.patch b/debian/patches/clangd-atomic-cmake.patch index 51860c8e..e4184b50 100644 --- a/debian/patches/clangd-atomic-cmake.patch +++ b/debian/patches/clangd-atomic-cmake.patch @@ -1,7 +1,7 @@ -Index: llvm-toolchain-snapshot_17~++20230517015648+0b6264738f3d/clang-tools-extra/clangd/CMakeLists.txt +Index: llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e/clang-tools-extra/clangd/CMakeLists.txt =================================================================== ---- llvm-toolchain-snapshot_17~++20230517015648+0b6264738f3d.orig/clang-tools-extra/clangd/CMakeLists.txt -+++ llvm-toolchain-snapshot_17~++20230517015648+0b6264738f3d/clang-tools-extra/clangd/CMakeLists.txt +--- llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e.orig/clang-tools-extra/clangd/CMakeLists.txt ++++ llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e/clang-tools-extra/clangd/CMakeLists.txt @@ -61,6 +61,11 @@ endif() include_directories(BEFORE "${CMAKE_CURRENT_BINARY_DIR}/../clang-tidy") include_directories(BEFORE "${CMAKE_CURRENT_SOURCE_DIR}/../include-cleaner/include") @@ -14,7 +14,7 @@ Index: llvm-toolchain-snapshot_17~++20230517015648+0b6264738f3d/clang-tools-extr add_clang_library(clangDaemon AST.cpp ASTSignals.cpp -@@ -178,6 +183,7 @@ clang_target_link_libraries(clangDaemon +@@ -181,6 +186,7 @@ clang_target_link_libraries(clangDaemon target_link_libraries(clangDaemon PRIVATE ${LLVM_PTHREAD_LIB} diff --git a/debian/patches/compiler-rt/compilerrt-build-scudo-standalone-option.diff b/debian/patches/compiler-rt/compilerrt-build-scudo-standalone-option.diff index 4430c91c..f20132ab 100644 --- a/debian/patches/compiler-rt/compilerrt-build-scudo-standalone-option.diff +++ b/debian/patches/compiler-rt/compilerrt-build-scudo-standalone-option.diff @@ -1,10 +1,10 @@ add option to disable compiler-rt scudo standalone allocator as it is not always supported by all arch profiles such as arm5vt of ARM32 arch -Index: llvm-toolchain-snapshot_17~++20230523093327+96a003b9bf79/compiler-rt/CMakeLists.txt +Index: llvm-toolchain-snapshot_19~++20240711013116+0ff13f72c974/compiler-rt/CMakeLists.txt =================================================================== ---- llvm-toolchain-snapshot_17~++20230523093327+96a003b9bf79.orig/compiler-rt/CMakeLists.txt -+++ llvm-toolchain-snapshot_17~++20230523093327+96a003b9bf79/compiler-rt/CMakeLists.txt -@@ -303,6 +303,12 @@ option(COMPILER_RT_USE_BUILTINS_LIBRARY +--- llvm-toolchain-snapshot_19~++20240711013116+0ff13f72c974.orig/compiler-rt/CMakeLists.txt ++++ llvm-toolchain-snapshot_19~++20240711013116+0ff13f72c974/compiler-rt/CMakeLists.txt +@@ -286,6 +286,12 @@ option(COMPILER_RT_USE_BUILTINS_LIBRARY include(config-ix) diff --git a/debian/patches/compiler-rt/compilerrt-builtins-arch-fix-armhf.diff b/debian/patches/compiler-rt/compilerrt-builtins-arch-fix-armhf.diff index 319053db..727f7d3f 100644 --- a/debian/patches/compiler-rt/compilerrt-builtins-arch-fix-armhf.diff +++ b/debian/patches/compiler-rt/compilerrt-builtins-arch-fix-armhf.diff @@ -1,10 +1,10 @@ fix builtins armhf default arch detection by adding the same armhf triple handling use for compiler-rt -Index: llvm-toolchain-snapshot_17~++20230523093327+96a003b9bf79/compiler-rt/lib/builtins/CMakeLists.txt +Index: llvm-toolchain-snapshot_19~++20240220124703+f122268c0441/compiler-rt/lib/builtins/CMakeLists.txt =================================================================== ---- llvm-toolchain-snapshot_17~++20230523093327+96a003b9bf79.orig/compiler-rt/lib/builtins/CMakeLists.txt -+++ llvm-toolchain-snapshot_17~++20230523093327+96a003b9bf79/compiler-rt/lib/builtins/CMakeLists.txt -@@ -36,6 +36,11 @@ if (CMAKE_SOURCE_DIR STREQUAL CMAKE_CURR +--- llvm-toolchain-snapshot_19~++20240220124703+f122268c0441.orig/compiler-rt/lib/builtins/CMakeLists.txt ++++ llvm-toolchain-snapshot_19~++20240220124703+f122268c0441/compiler-rt/lib/builtins/CMakeLists.txt +@@ -29,6 +29,11 @@ if (CMAKE_SOURCE_DIR STREQUAL CMAKE_CURR load_llvm_config() endif() construct_compiler_rt_default_triple() diff --git a/debian/patches/declare_clear_cache.diff b/debian/patches/declare_clear_cache.diff index 2869ad60..3b1462d1 100644 --- a/debian/patches/declare_clear_cache.diff +++ b/debian/patches/declare_clear_cache.diff @@ -2,11 +2,11 @@ lib/Support/Unix/Memory.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -Index: llvm-toolchain-snapshot_16~++20221126040739+502c246519ec/llvm/lib/Support/Unix/Memory.inc +Index: llvm-toolchain-snapshot_19~++20240220124703+f122268c0441/llvm/lib/Support/Unix/Memory.inc =================================================================== ---- llvm-toolchain-snapshot_16~++20221126040739+502c246519ec.orig/llvm/lib/Support/Unix/Memory.inc -+++ llvm-toolchain-snapshot_16~++20221126040739+502c246519ec/llvm/lib/Support/Unix/Memory.inc -@@ -242,7 +242,7 @@ void Memory::InvalidateInstructionCache( +--- llvm-toolchain-snapshot_19~++20240220124703+f122268c0441.orig/llvm/lib/Support/Unix/Memory.inc ++++ llvm-toolchain-snapshot_19~++20240220124703+f122268c0441/llvm/lib/Support/Unix/Memory.inc +@@ -243,7 +243,7 @@ void Memory::InvalidateInstructionCache( // FIXME: Can we safely always call this for __GNUC__ everywhere? const char *Start = static_cast(Addr); const char *End = Start + Len; diff --git a/debian/patches/disable-display-PASS-UNSUPPORTED-XFAIL.diff b/debian/patches/disable-display-PASS-UNSUPPORTED-XFAIL.diff deleted file mode 100644 index 71669df2..00000000 --- a/debian/patches/disable-display-PASS-UNSUPPORTED-XFAIL.diff +++ /dev/null @@ -1,17 +0,0 @@ -Index: llvm-toolchain-snapshot_11~++20200326111000+4673699a470/lldb/third_party/Python/module/unittest2/unittest2/runner.py -=================================================================== ---- llvm-toolchain-snapshot_11~++20200326111000+4673699a470.orig/lldb/third_party/Python/module/unittest2/unittest2/runner.py -+++ llvm-toolchain-snapshot_11~++20200326111000+4673699a470/lldb/third_party/Python/module/unittest2/unittest2/runner.py -@@ -174,9 +174,9 @@ class TextTestRunner(unittest.TextTestRu - if hasattr(result, 'separator2'): - self.stream.writeln(result.separator2) - run = result.testsRun -- self.stream.writeln("Ran %d test%s in %.3fs" % -- (run, run != 1 and "s" or "", timeTaken)) -- self.stream.writeln() -+# self.stream.writeln("Ran %d test%s in %.3fs" % -+# (run, run != 1 and "s" or "", timeTaken)) -+# self.stream.writeln() - - expectedFails = unexpectedSuccesses = skipped = passed = failed = errored = 0 - try: diff --git a/debian/patches/disable-lit-cpuid-install.diff b/debian/patches/disable-lit-cpuid-install.diff deleted file mode 100644 index 9a4f7312..00000000 --- a/debian/patches/disable-lit-cpuid-install.diff +++ /dev/null @@ -1,10 +0,0 @@ -Index: llvm-toolchain-9-9/lldb/utils/lit-cpuid/CMakeLists.txt -=================================================================== ---- llvm-toolchain-9-9.orig/lldb/utils/lit-cpuid/CMakeLists.txt -+++ llvm-toolchain-9-9/lldb/utils/lit-cpuid/CMakeLists.txt -@@ -1,4 +1,4 @@ --add_llvm_utility(lit-cpuid -+add_lldb_executable(lit-cpuid - lit-cpuid.cpp - ) - diff --git a/debian/patches/disable-openmp-per-target.diff b/debian/patches/disable-openmp-per-target.diff new file mode 100644 index 00000000..845e21cc --- /dev/null +++ b/debian/patches/disable-openmp-per-target.diff @@ -0,0 +1,23 @@ +Index: llvm-toolchain-snapshot_19~++20240711013116+0ff13f72c974/openmp/CMakeLists.txt +=================================================================== +--- llvm-toolchain-snapshot_19~++20240711013116+0ff13f72c974.orig/openmp/CMakeLists.txt ++++ llvm-toolchain-snapshot_19~++20240711013116+0ff13f72c974/openmp/CMakeLists.txt +@@ -51,13 +51,13 @@ else() + set(OPENMP_ENABLE_WERROR ${LLVM_ENABLE_WERROR}) + + # When building in tree we install the runtime according to the LLVM settings. +- if(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR AND NOT APPLE) +- set(OPENMP_INSTALL_LIBDIR lib${LLVM_LIBDIR_SUFFIX}/${LLVM_DEFAULT_TARGET_TRIPLE} CACHE STRING +- "Path where built openmp libraries should be installed.") +- else() ++# if(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR AND NOT APPLE) ++# set(OPENMP_INSTALL_LIBDIR lib${LLVM_LIBDIR_SUFFIX}/${LLVM_DEFAULT_TARGET_TRIPLE} CACHE STRING ++# "Path where built openmp libraries should be installed.") ++# else() + set(OPENMP_INSTALL_LIBDIR "lib${LLVM_LIBDIR_SUFFIX}" CACHE STRING + "Path where built OpenMP libraries should be installed.") +- endif() ++# endif() + + if (NOT MSVC) + set(OPENMP_TEST_C_COMPILER ${LLVM_RUNTIME_OUTPUT_INTDIR}/clang) diff --git a/debian/patches/disable-path-test-failing.diff b/debian/patches/disable-path-test-failing.diff index 62c6e0b8..79c707a0 100644 --- a/debian/patches/disable-path-test-failing.diff +++ b/debian/patches/disable-path-test-failing.diff @@ -1,8 +1,8 @@ -Index: llvm-toolchain-snapshot_17~++20230523093327+96a003b9bf79/llvm/unittests/Support/Path.cpp +Index: llvm-toolchain-snapshot_19~++20240220124703+f122268c0441/llvm/unittests/Support/Path.cpp =================================================================== ---- llvm-toolchain-snapshot_17~++20230523093327+96a003b9bf79.orig/llvm/unittests/Support/Path.cpp -+++ llvm-toolchain-snapshot_17~++20230523093327+96a003b9bf79/llvm/unittests/Support/Path.cpp -@@ -679,7 +679,7 @@ protected: +--- llvm-toolchain-snapshot_19~++20240220124703+f122268c0441.orig/llvm/unittests/Support/Path.cpp ++++ llvm-toolchain-snapshot_19~++20240220124703+f122268c0441/llvm/unittests/Support/Path.cpp +@@ -680,7 +680,7 @@ protected: sys::path::append(NonExistantFile, "1B28B495C16344CB9822E588CD4C3EF0"); } @@ -11,7 +11,7 @@ Index: llvm-toolchain-snapshot_17~++20230523093327+96a003b9bf79/llvm/unittests/S }; TEST_F(FileSystemTest, Unique) { -@@ -763,7 +763,8 @@ TEST_F(FileSystemTest, RealPath) { +@@ -768,7 +768,8 @@ TEST_F(FileSystemTest, RealPath) { // This can fail if $HOME is not set and getpwuid fails. bool Result = llvm::sys::path::home_directory(HomeDir); @@ -21,7 +21,7 @@ Index: llvm-toolchain-snapshot_17~++20230523093327+96a003b9bf79/llvm/unittests/S checkSeparators(HomeDir); ASSERT_NO_ERROR(fs::real_path(HomeDir, Expected)); checkSeparators(Expected); -@@ -772,6 +773,7 @@ TEST_F(FileSystemTest, RealPath) { +@@ -777,6 +778,7 @@ TEST_F(FileSystemTest, RealPath) { ASSERT_NO_ERROR(fs::real_path("~/", Actual, true)); EXPECT_EQ(Expected, Actual); } diff --git a/debian/patches/disable-sse2-old-x86.diff b/debian/patches/disable-sse2-old-x86.diff index 4f5d242a..836ddd10 100644 --- a/debian/patches/disable-sse2-old-x86.diff +++ b/debian/patches/disable-sse2-old-x86.diff @@ -1,8 +1,8 @@ -Index: llvm-toolchain-snapshot_17~++20230705085103+4ef04876ef17/llvm/lib/TargetParser/X86TargetParser.cpp +Index: llvm-toolchain-snapshot_19~++20240220124703+f122268c0441/llvm/lib/TargetParser/X86TargetParser.cpp =================================================================== ---- llvm-toolchain-snapshot_17~++20230705085103+4ef04876ef17.orig/llvm/lib/TargetParser/X86TargetParser.cpp -+++ llvm-toolchain-snapshot_17~++20230705085103+4ef04876ef17/llvm/lib/TargetParser/X86TargetParser.cpp -@@ -132,7 +132,7 @@ constexpr FeatureBitset FeaturesPentium2 +--- llvm-toolchain-snapshot_19~++20240220124703+f122268c0441.orig/llvm/lib/TargetParser/X86TargetParser.cpp ++++ llvm-toolchain-snapshot_19~++20240220124703+f122268c0441/llvm/lib/TargetParser/X86TargetParser.cpp +@@ -59,7 +59,7 @@ constexpr FeatureBitset FeaturesPentium2 constexpr FeatureBitset FeaturesPentium3 = FeaturesPentium2 | FeatureSSE; // Pentium 4 CPUs diff --git a/debian/patches/fix-clang-path-and-build.diff b/debian/patches/fix-clang-path-and-build.diff index 09394fb4..252aa5c5 100644 --- a/debian/patches/fix-clang-path-and-build.diff +++ b/debian/patches/fix-clang-path-and-build.diff @@ -1,8 +1,8 @@ -Index: llvm-toolchain-snapshot_15~++20220407011631+46f0e2ceb487/clang/lib/Driver/ToolChains/Linux.cpp +Index: llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e/clang/lib/Driver/ToolChains/Linux.cpp =================================================================== ---- llvm-toolchain-snapshot_15~++20220407011631+46f0e2ceb487.orig/clang/lib/Driver/ToolChains/Linux.cpp -+++ llvm-toolchain-snapshot_15~++20220407011631+46f0e2ceb487/clang/lib/Driver/ToolChains/Linux.cpp -@@ -12,6 +12,7 @@ +--- llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e.orig/clang/lib/Driver/ToolChains/Linux.cpp ++++ llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e/clang/lib/Driver/ToolChains/Linux.cpp +@@ -13,6 +13,7 @@ #include "Arch/PPC.h" #include "Arch/RISCV.h" #include "CommonArgs.h" @@ -10,7 +10,7 @@ Index: llvm-toolchain-snapshot_15~++20220407011631+46f0e2ceb487/clang/lib/Driver #include "clang/Config/config.h" #include "clang/Driver/Distro.h" #include "clang/Driver/Driver.h" -@@ -579,8 +580,18 @@ void Linux::AddClangSystemIncludeArgs(co +@@ -634,8 +635,18 @@ void Linux::AddClangSystemIncludeArgs(co SmallString<128> ResourceDirInclude(D.ResourceDir); llvm::sys::path::append(ResourceDirInclude, "include"); if (!DriverArgs.hasArg(options::OPT_nobuiltininc) && diff --git a/debian/patches/fix-scan-view-path.diff b/debian/patches/fix-scan-view-path.diff index c371314d..60c52bdd 100644 --- a/debian/patches/fix-scan-view-path.diff +++ b/debian/patches/fix-scan-view-path.diff @@ -1,16 +1,16 @@ -Index: llvm-toolchain-snapshot_17~++20200326172000+4673699a470/clang/tools/scan-view/bin/scan-view +Index: llvm-toolchain-snapshot_19~++20240220124703+f122268c0441/clang/tools/scan-view/bin/scan-view =================================================================== ---- llvm-toolchain-snapshot_17~++20200326172000+4673699a470.orig/clang/tools/scan-view/bin/scan-view -+++ llvm-toolchain-snapshot_17~++20200326172000+4673699a470/clang/tools/scan-view/bin/scan-view -@@ -28,6 +28,7 @@ kDefaultPort = 8181 +--- llvm-toolchain-snapshot_19~++20240220124703+f122268c0441.orig/clang/tools/scan-view/bin/scan-view ++++ llvm-toolchain-snapshot_19~++20240220124703+f122268c0441/clang/tools/scan-view/bin/scan-view +@@ -27,6 +27,7 @@ kDefaultPort = 8181 kMaxPortsToTry = 100 ### -+BASE_DIR = '/usr/share/clang/scan-view-18' ++BASE_DIR = '/usr/share/clang/scan-view-19' def url_is_up(url): -@@ -65,7 +66,7 @@ def start_browser(port, options): +@@ -64,7 +65,7 @@ def start_browser(port, options): def run(port, options, root): # Prefer to look relative to the installed binary diff --git a/debian/patches/fix-typo.diff b/debian/patches/fix-typo.diff deleted file mode 100644 index 4692f8b3..00000000 --- a/debian/patches/fix-typo.diff +++ /dev/null @@ -1,35 +0,0 @@ -Index: llvm-toolchain-14-14.0.6/llvm/include/llvm/ADT/IntrusiveRefCntPtr.h -=================================================================== ---- llvm-toolchain-14-14.0.6.orig/llvm/include/llvm/ADT/IntrusiveRefCntPtr.h -+++ llvm-toolchain-14-14.0.6/llvm/include/llvm/ADT/IntrusiveRefCntPtr.h -@@ -84,7 +84,7 @@ protected: - #ifndef NDEBUG - ~RefCountedBase() { - assert(RefCount == 0 && -- "Destruction occured when there are still references to this."); -+ "Destruction occurred when there are still references to this."); - } - #else - // Default the destructor in release builds, A trivial destructor may enable -@@ -115,7 +115,7 @@ protected: - #ifndef NDEBUG - ~ThreadSafeRefCountedBase() { - assert(RefCount == 0 && -- "Destruction occured when there are still references to this."); -+ "Destruction occurred when there are still references to this."); - } - #else - // Default the destructor in release builds, A trivial destructor may enable -Index: llvm-toolchain-14-14.0.6/llvm/include/llvm/Support/CommandLine.h -=================================================================== ---- llvm-toolchain-14-14.0.6.orig/llvm/include/llvm/Support/CommandLine.h -+++ llvm-toolchain-14-14.0.6/llvm/include/llvm/Support/CommandLine.h -@@ -1308,7 +1308,7 @@ template <> struct applicator struct applicator { - static void opt(MiscFlags MF, Option &O) { - assert((MF != Grouping || O.ArgStr.size() == 1) && -- "cl::Grouping can only apply to single charater Options."); -+ "cl::Grouping can only apply to single character Options."); - O.setMiscFlag(MF); - } - }; diff --git a/debian/patches/force-sse2-compiler-rt.diff b/debian/patches/force-sse2-compiler-rt.diff index 31c54a7a..b79948c5 100644 --- a/debian/patches/force-sse2-compiler-rt.diff +++ b/debian/patches/force-sse2-compiler-rt.diff @@ -1,8 +1,8 @@ -Index: llvm-toolchain-18_18.1.2/compiler-rt/lib/builtins/CMakeLists.txt +Index: llvm-toolchain-snapshot_19~++20240711013116+0ff13f72c974/compiler-rt/lib/builtins/CMakeLists.txt =================================================================== ---- llvm-toolchain-18_18.1.2.orig/compiler-rt/lib/builtins/CMakeLists.txt -+++ llvm-toolchain-18_18.1.2/compiler-rt/lib/builtins/CMakeLists.txt -@@ -772,6 +772,12 @@ else () +--- llvm-toolchain-snapshot_19~++20240711013116+0ff13f72c974.orig/compiler-rt/lib/builtins/CMakeLists.txt ++++ llvm-toolchain-snapshot_19~++20240711013116+0ff13f72c974/compiler-rt/lib/builtins/CMakeLists.txt +@@ -796,6 +796,12 @@ else () append_list_if(COMPILER_RT_ENABLE_CET -fcf-protection=full BUILTIN_CFLAGS) endif() diff --git a/debian/patches/hurd/hurd-f_type.diff b/debian/patches/hurd/hurd-f_type.diff new file mode 100644 index 00000000..f73077af --- /dev/null +++ b/debian/patches/hurd/hurd-f_type.diff @@ -0,0 +1,27 @@ +https://github.com/llvm/llvm-project/pull/71851 + +commit 620b8d994b8abdcf31271d9f4db7e7422fc9bd65 +Author: Samuel Thibault +Date: Mon Sep 9 15:53:33 2024 +0200 + + [hurd] Fix accessing f_type field of statvfs (#71851) + + f4719c4d2cda ("Add support for GNU Hurd in Path.inc and other places") + made llvm use an internal __f_type name for the f_type field (which it + is not supposed to since accessing double-underscore names is explicitly + not supported by standards). In glibc 2.39 this field was renamed to + f_type so application can now access the field as the standard says. + +diff --git a/llvm/lib/Support/Unix/Path.inc b/llvm/lib/Support/Unix/Path.inc +index 8098392a7fd9..44097bad7b46 100644 +--- a/llvm/lib/Support/Unix/Path.inc ++++ b/llvm/lib/Support/Unix/Path.inc +@@ -487,7 +487,7 @@ static bool is_local_impl(struct STATVFS &Vfs) { + #ifndef CIFS_MAGIC_NUMBER + #define CIFS_MAGIC_NUMBER 0xFF534D42 + #endif +-#ifdef __GNU__ ++#if defined(__GNU__) && ((__GLIBC__ < 2) || ((__GLIBC__ == 2) && (__GLIBC_MINOR__ < 39))) + switch ((uint32_t)Vfs.__f_type) { + #else + switch ((uint32_t)Vfs.f_type) { diff --git a/debian/patches/hurd/hurd-pathmax.diff b/debian/patches/hurd/hurd-pathmax.diff index fcf3bde4..49f7fb53 100644 --- a/debian/patches/hurd/hurd-pathmax.diff +++ b/debian/patches/hurd/hurd-pathmax.diff @@ -1,8 +1,8 @@ -Index: llvm-toolchain-snapshot_18~++20230928085653+a7f962c00745/clang/lib/Basic/FileManager.cpp +Index: llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e/clang/lib/Basic/FileManager.cpp =================================================================== ---- llvm-toolchain-snapshot_18~++20230928085653+a7f962c00745.orig/clang/lib/Basic/FileManager.cpp -+++ llvm-toolchain-snapshot_18~++20230928085653+a7f962c00745/clang/lib/Basic/FileManager.cpp -@@ -611,6 +611,12 @@ FileManager::getNoncachedStatValue(Strin +--- llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e.orig/clang/lib/Basic/FileManager.cpp ++++ llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e/clang/lib/Basic/FileManager.cpp +@@ -609,6 +609,12 @@ FileManager::getNoncachedStatValue(Strin return std::error_code(); } @@ -15,10 +15,10 @@ Index: llvm-toolchain-snapshot_18~++20230928085653+a7f962c00745/clang/lib/Basic/ void FileManager::GetUniqueIDMapping( SmallVectorImpl &UIDToFiles) const { UIDToFiles.clear(); -Index: llvm-toolchain-snapshot_18~++20230928085653+a7f962c00745/lldb/include/lldb/lldb-defines.h +Index: llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e/lldb/include/lldb/lldb-defines.h =================================================================== ---- llvm-toolchain-snapshot_18~++20230928085653+a7f962c00745.orig/lldb/include/lldb/lldb-defines.h -+++ llvm-toolchain-snapshot_18~++20230928085653+a7f962c00745/lldb/include/lldb/lldb-defines.h +--- llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e.orig/lldb/include/lldb/lldb-defines.h ++++ llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e/lldb/include/lldb/lldb-defines.h @@ -15,6 +15,11 @@ #define INT32_MAX 2147483647 #endif diff --git a/debian/patches/issue-54242.diff b/debian/patches/issue-54242.diff index e32cc735..73bc5b67 100644 --- a/debian/patches/issue-54242.diff +++ b/debian/patches/issue-54242.diff @@ -1,8 +1,8 @@ -Index: llvm-toolchain-snapshot_17~++20230517015648+0b6264738f3d/mlir/lib/ExecutionEngine/CMakeLists.txt +Index: llvm-toolchain-snapshot_19~++20240220124703+f122268c0441/mlir/lib/ExecutionEngine/CMakeLists.txt =================================================================== ---- llvm-toolchain-snapshot_17~++20230517015648+0b6264738f3d.orig/mlir/lib/ExecutionEngine/CMakeLists.txt -+++ llvm-toolchain-snapshot_17~++20230517015648+0b6264738f3d/mlir/lib/ExecutionEngine/CMakeLists.txt -@@ -57,7 +57,7 @@ endif(LLVM_USE_PERF) +--- llvm-toolchain-snapshot_19~++20240220124703+f122268c0441.orig/mlir/lib/ExecutionEngine/CMakeLists.txt ++++ llvm-toolchain-snapshot_19~++20240220124703+f122268c0441/mlir/lib/ExecutionEngine/CMakeLists.txt +@@ -60,7 +60,7 @@ endif(LLVM_USE_PERF) add_mlir_library(MLIRExecutionEngine ExecutionEngine.cpp diff --git a/debian/patches/kfreebsd/CMakeLists.txt.diff b/debian/patches/kfreebsd/CMakeLists.txt.diff deleted file mode 100644 index 5f739bd1..00000000 --- a/debian/patches/kfreebsd/CMakeLists.txt.diff +++ /dev/null @@ -1,13 +0,0 @@ -Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/CMakeLists.txt -=================================================================== ---- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/llvm/CMakeLists.txt -+++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/CMakeLists.txt -@@ -867,7 +867,7 @@ if(LLVM_TARGET_IS_CROSSCOMPILE_HOST) - # (this is a variable that CrossCompile sets on recursive invocations) - endif() - --if(${CMAKE_SYSTEM_NAME} MATCHES "(FreeBSD|DragonFly)") -+if( ${CMAKE_SYSTEM_NAME} MATCHES "(FreeBSD|DragonFly)" AND NOT "kFreeBSD" ) - # On FreeBSD, /usr/local/* is not used by default. In order to build LLVM - # with libxml2, iconv.h, etc., we must add /usr/local paths. - include_directories(SYSTEM "/usr/local/include") diff --git a/debian/patches/kfreebsd/clang_lib_Basic_Targets.diff b/debian/patches/kfreebsd/clang_lib_Basic_Targets.diff deleted file mode 100644 index 1acf81d8..00000000 --- a/debian/patches/kfreebsd/clang_lib_Basic_Targets.diff +++ /dev/null @@ -1,48 +0,0 @@ -Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/lib/Basic/Targets.cpp -=================================================================== ---- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/clang/lib/Basic/Targets.cpp -+++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/lib/Basic/Targets.cpp -@@ -470,8 +470,8 @@ TargetInfo *AllocateTarget(const llvm::T - return new OpenBSDI386TargetInfo(Triple, Opts); - case llvm::Triple::FreeBSD: - return new FreeBSDTargetInfo(Triple, Opts); -- case llvm::Triple::KFreeBSD: -- return new KFreeBSDTargetInfo(Triple, Opts); -+ case llvm::Triple::kFreeBSD: -+ return new kFreeBSDTargetInfo(Triple, Opts); - case llvm::Triple::Minix: - return new MinixTargetInfo(Triple, Opts); - case llvm::Triple::Solaris: -@@ -529,8 +529,8 @@ TargetInfo *AllocateTarget(const llvm::T - return new FreeBSDTargetInfo(Triple, Opts); - case llvm::Triple::Fuchsia: - return new FuchsiaTargetInfo(Triple, Opts); -- case llvm::Triple::KFreeBSD: -- return new KFreeBSDTargetInfo(Triple, Opts); -+ case llvm::Triple::kFreeBSD: -+ return new kFreeBSDTargetInfo(Triple, Opts); - case llvm::Triple::Solaris: - return new SolarisTargetInfo(Triple, Opts); - case llvm::Triple::Win32: { -Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/lib/Basic/Targets/OSTargets.h -=================================================================== ---- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/clang/lib/Basic/Targets/OSTargets.h -+++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/lib/Basic/Targets/OSTargets.h -@@ -265,7 +265,7 @@ public: - - // GNU/kFreeBSD Target - template --class LLVM_LIBRARY_VISIBILITY KFreeBSDTargetInfo : public OSTargetInfo { -+class LLVM_LIBRARY_VISIBILITY kFreeBSDTargetInfo : public OSTargetInfo { - protected: - void getOSDefines(const LangOptions &Opts, const llvm::Triple &Triple, - MacroBuilder &Builder) const override { -@@ -282,7 +282,7 @@ protected: - } - - public: -- KFreeBSDTargetInfo(const llvm::Triple &Triple, const TargetOptions &Opts) -+ kFreeBSDTargetInfo(const llvm::Triple &Triple, const TargetOptions &Opts) - : OSTargetInfo(Triple, Opts) {} - }; - diff --git a/debian/patches/kfreebsd/compiler-rt_lib.diff b/debian/patches/kfreebsd/compiler-rt_lib.diff deleted file mode 100644 index 4f376484..00000000 --- a/debian/patches/kfreebsd/compiler-rt_lib.diff +++ /dev/null @@ -1,374 +0,0 @@ -Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp -=================================================================== ---- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp -+++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp -@@ -83,9 +83,14 @@ - extern "C" { - // must be included after and on - // FreeBSD 9.2 and 10.0. -+#if SANITIZER_KFREEBSD -+#include -+#endif - #include - } -+#if !SANITIZER_KFREEBSD - #include -+#endif - #endif // SANITIZER_FREEBSD - - #if SANITIZER_NETBSD -@@ -461,10 +466,12 @@ bool FileExists(const char *filename) { - - #if !SANITIZER_NETBSD - tid_t GetTid() { --#if SANITIZER_FREEBSD -+#if SANITIZER_FREEBSD && !SANITIZER_KFREEBSD - long Tid; - thr_self(&Tid); - return Tid; -+#elif SANITIZER_KFREEBSD -+ return (uptr)pthread_self(); - #elif SANITIZER_OPENBSD - return internal_syscall(SYSCALL(getthrid)); - #elif SANITIZER_SOLARIS -@@ -1148,10 +1155,10 @@ bool LibraryNameIs(const char *full_name - // Call cb for each region mapped by map. - void ForEachMappedRegion(link_map *map, void (*cb)(const void *, uptr)) { - CHECK_NE(map, nullptr); --#if !SANITIZER_FREEBSD && !SANITIZER_OPENBSD -+#if !SANITIZER_FREEBSD && !SANITIZER_OPENBSD || SANITIZER_KFREEBSD - typedef ElfW(Phdr) Elf_Phdr; - typedef ElfW(Ehdr) Elf_Ehdr; --#endif // !SANITIZER_FREEBSD && !SANITIZER_OPENBSD -+#endif // !SANITIZER_FREEBSD && !SANITIZER_OPENBSD || SANITIZER_KFREEBSD - char *base = (char *)map->l_addr; - Elf_Ehdr *ehdr = (Elf_Ehdr *)base; - char *phdrs = base + ehdr->e_phoff; -Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp -=================================================================== ---- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp -+++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp -@@ -36,10 +36,12 @@ - #include - - #if SANITIZER_FREEBSD --#include -+# if !SANITIZER_KFREEBSD -+# include -+# define pthread_getattr_np pthread_attr_get_np -+# endif - #include - #include --#define pthread_getattr_np pthread_attr_get_np - #endif - - #if SANITIZER_OPENBSD -@@ -525,9 +527,9 @@ void GetThreadStackAndTls(bool main, upt - #endif - } - --#if !SANITIZER_FREEBSD && !SANITIZER_OPENBSD -+#if !SANITIZER_FREEBSD && !SANITIZER_OPENBSD || SANITIZER_KFREEBSD - typedef ElfW(Phdr) Elf_Phdr; --#elif SANITIZER_WORDSIZE == 32 && __FreeBSD_version <= 902001 // v9.2 -+#elif SANITIZER_WORDSIZE == 32 && !SANITIZER_KFREEBSD && __FreeBSD_version <= 902001 // v9.2 - #define Elf_Phdr XElf32_Phdr - #define dl_phdr_info xdl_phdr_info - #define dl_iterate_phdr(c, b) xdl_iterate_phdr((c), (b)) -Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/compiler-rt/lib/sanitizer_common/sanitizer_platform.h -=================================================================== ---- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/compiler-rt/lib/sanitizer_common/sanitizer_platform.h -+++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/compiler-rt/lib/sanitizer_common/sanitizer_platform.h -@@ -15,7 +15,7 @@ - #if !defined(__linux__) && !defined(__FreeBSD__) && !defined(__NetBSD__) && \ - !defined(__OpenBSD__) && !defined(__APPLE__) && !defined(_WIN32) && \ - !defined(__Fuchsia__) && !defined(__rtems__) && \ -- !(defined(__sun__) && defined(__svr4__)) -+ !(defined(__sun__) && defined(__svr4__)) && !defined(__FreeBSD_kernel__) - # error "This operating system is not supported" - #endif - -@@ -25,12 +25,18 @@ - # define SANITIZER_LINUX 0 - #endif - --#if defined(__FreeBSD__) -+#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) - # define SANITIZER_FREEBSD 1 - #else - # define SANITIZER_FREEBSD 0 - #endif - -+#if defined(__FreeBSD_kernel__) -+# define SANITIZER_KFREEBSD 1 -+#else -+# define SANITIZER_KFREEBSD 0 -+#endif -+ - #if defined(__NetBSD__) - # define SANITIZER_NETBSD 1 - #else -@@ -112,7 +118,8 @@ - - #define SANITIZER_POSIX \ - (SANITIZER_FREEBSD || SANITIZER_LINUX || SANITIZER_MAC || \ -- SANITIZER_NETBSD || SANITIZER_OPENBSD || SANITIZER_SOLARIS) -+ SANITIZER_NETBSD || SANITIZER_OPENBSD || SANITIZER_SOLARIS || \ -+ SANITIZER_KFREEBSD) - - #if __LP64__ || defined(_WIN64) - # define SANITIZER_WORDSIZE 64 -Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/compiler-rt/lib/asan/asan_linux.cpp -=================================================================== ---- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/compiler-rt/lib/asan/asan_linux.cpp -+++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/compiler-rt/lib/asan/asan_linux.cpp -@@ -37,7 +37,7 @@ - #include - #include - --#if SANITIZER_FREEBSD -+#if SANITIZER_FREEBSD && !SANITIZER_KFREEBSD - #include - #endif - -@@ -47,7 +47,11 @@ - - #if SANITIZER_ANDROID || SANITIZER_FREEBSD || SANITIZER_SOLARIS - #include -+#if SANITIZER_KFREEBSD -+#include -+#else - extern "C" void* _DYNAMIC; -+#endif - #elif SANITIZER_NETBSD - #include - #include -@@ -60,7 +64,7 @@ extern Elf_Dyn _DYNAMIC; - // x86-64 FreeBSD 9.2 and older define 'ucontext_t' incorrectly in - // 32-bit mode. - #if SANITIZER_FREEBSD && (SANITIZER_WORDSIZE == 32) && \ -- __FreeBSD_version <= 902001 // v9.2 -+ !SANITIZER_KFREEBSD && __FreeBSD_version <= 902001 // v9.2 - #define ucontext_t xucontext_t - #endif - -Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/compiler-rt/lib/ubsan/ubsan_platform.h -=================================================================== ---- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/compiler-rt/lib/ubsan/ubsan_platform.h -+++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/compiler-rt/lib/ubsan/ubsan_platform.h -@@ -14,7 +14,7 @@ - - // Other platforms should be easy to add, and probably work as-is. - #if defined(__linux__) || defined(__FreeBSD__) || defined(__APPLE__) || \ -- defined(__NetBSD__) || defined(__OpenBSD__) || \ -+ defined(__NetBSD__) || defined(__OpenBSD__) || defined(__FreeBSD_kernel__) || \ - (defined(__sun__) && defined(__svr4__)) || \ - defined(_WIN32) || defined(__Fuchsia__) || defined(__rtems__) - # define CAN_SANITIZE_UB 1 -Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/compiler-rt/lib/tsan/rtl/tsan_rtl_amd64.S -=================================================================== ---- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/compiler-rt/lib/tsan/rtl/tsan_rtl_amd64.S -+++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/compiler-rt/lib/tsan/rtl/tsan_rtl_amd64.S -@@ -192,7 +192,7 @@ ASM_SYMBOL_INTERCEPTOR(setjmp): - // obtain SP, store in %rdi, first argument to `void __tsan_setjmp(uptr sp)` - #if defined(__FreeBSD__) || defined(__NetBSD__) - lea 8(%rsp), %rdi --#elif defined(__linux__) || defined(__APPLE__) -+#elif defined(__linux__) || defined(__FreeBSD_kernel__) || defined(__APPLE__) - lea 16(%rsp), %rdi - #else - # error "Unknown platform" -@@ -233,7 +233,7 @@ ASM_SYMBOL_INTERCEPTOR(_setjmp): - // obtain SP, store in %rdi, first argument to `void __tsan_setjmp(uptr sp)` - #if defined(__FreeBSD__) || defined(__NetBSD__) - lea 8(%rsp), %rdi --#elif defined(__linux__) || defined(__APPLE__) -+#elif defined(__linux__) || defined(__FreeBSD_kernel__) || defined(__APPLE__) - lea 16(%rsp), %rdi - #else - # error "Unknown platform" -@@ -281,7 +281,7 @@ ASM_SYMBOL_INTERCEPTOR(sigsetjmp): - // obtain SP, store in %rdi, first argument to `void __tsan_setjmp(uptr sp)` - #if defined(__FreeBSD__) || defined(__NetBSD__) - lea 24(%rsp), %rdi --#elif defined(__linux__) || defined(__APPLE__) -+#elif defined(__linux__) || defined(__FreeBSD_kernel__) || defined(__APPLE__) - lea 32(%rsp), %rdi - #else - # error "Unknown platform" -Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/compiler-rt/lib/fuzzer/FuzzerDefs.h -=================================================================== ---- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/compiler-rt/lib/fuzzer/FuzzerDefs.h -+++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/compiler-rt/lib/fuzzer/FuzzerDefs.h -@@ -28,6 +28,7 @@ - #define LIBFUZZER_LINUX 1 - #define LIBFUZZER_NETBSD 0 - #define LIBFUZZER_FREEBSD 0 -+#define LIBFUZZER_KFREEBSD 1 - #define LIBFUZZER_OPENBSD 0 - #define LIBFUZZER_WINDOWS 0 - #elif __APPLE__ -@@ -54,6 +55,15 @@ - #define LIBFUZZER_FREEBSD 1 - #define LIBFUZZER_OPENBSD 0 - #define LIBFUZZER_WINDOWS 0 -+#elif __FreeBSD_kernel__ -+#define LIBFUZZER_APPLE 0 -+#define LIBFUZZER_FUCHSIA 0 -+#define LIBFUZZER_LINUX 0 -+#define LIBFUZZER_NETBSD 0 -+#define LIBFUZZER_FREEBSD 0 -+#define LIBFUZZER_KFREEBSD 1 -+#define LIBFUZZER_OPENBSD 0 -+#define LIBFUZZER_WINDOWS 0 - #elif __OpenBSD__ - #define LIBFUZZER_APPLE 0 - #define LIBFUZZER_FUCHSIA 0 -@@ -95,7 +105,7 @@ - - #define LIBFUZZER_POSIX \ - (LIBFUZZER_APPLE || LIBFUZZER_LINUX || LIBFUZZER_NETBSD || \ -- LIBFUZZER_FREEBSD || LIBFUZZER_OPENBSD) -+ LIBFUZZER_FREEBSD || LIBFUZZER_OPENBSD || LIBFUZZER_KFREEBSD) - - #ifdef __x86_64 - # if __has_attribute(target) -Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/compiler-rt/lib/fuzzer/FuzzerUtilPosix.cpp -=================================================================== ---- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/compiler-rt/lib/fuzzer/FuzzerUtilPosix.cpp -+++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/compiler-rt/lib/fuzzer/FuzzerUtilPosix.cpp -@@ -133,7 +133,7 @@ size_t GetPeakRSSMb() { - if (getrusage(RUSAGE_SELF, &usage)) - return 0; - if (LIBFUZZER_LINUX || LIBFUZZER_FREEBSD || LIBFUZZER_NETBSD || -- LIBFUZZER_OPENBSD) { -+ LIBFUZZER_OPENBSD || LIBFUZZER_KFREEBSD) { - // ru_maxrss is in KiB - return usage.ru_maxrss >> 10; - } else if (LIBFUZZER_APPLE) { -Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/compiler-rt/lib/fuzzer/FuzzerExtraCounters.cpp -=================================================================== ---- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/compiler-rt/lib/fuzzer/FuzzerExtraCounters.cpp -+++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/compiler-rt/lib/fuzzer/FuzzerExtraCounters.cpp -@@ -11,7 +11,7 @@ - #include "FuzzerDefs.h" - - #if LIBFUZZER_LINUX || LIBFUZZER_NETBSD || LIBFUZZER_FREEBSD || \ -- LIBFUZZER_OPENBSD -+ LIBFUZZER_OPENBSD || LIBFUZZER_KFREEBSD - __attribute__((weak)) extern uint8_t __start___libfuzzer_extra_counters; - __attribute__((weak)) extern uint8_t __stop___libfuzzer_extra_counters; - -Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/compiler-rt/lib/fuzzer/FuzzerExtFunctionsWeak.cpp -=================================================================== ---- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/compiler-rt/lib/fuzzer/FuzzerExtFunctionsWeak.cpp -+++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/compiler-rt/lib/fuzzer/FuzzerExtFunctionsWeak.cpp -@@ -13,7 +13,7 @@ - //===----------------------------------------------------------------------===// - #include "FuzzerDefs.h" - #if LIBFUZZER_LINUX || LIBFUZZER_NETBSD || LIBFUZZER_FUCHSIA || \ -- LIBFUZZER_FREEBSD || LIBFUZZER_OPENBSD -+ LIBFUZZER_FREEBSD || LIBFUZZER_OPENBSD || LIBFUZZER_KFREEBSD - - #include "FuzzerExtFunctions.h" - #include "FuzzerIO.h" -Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/compiler-rt/lib/fuzzer/FuzzerUtilLinux.cpp -=================================================================== ---- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/compiler-rt/lib/fuzzer/FuzzerUtilLinux.cpp -+++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/compiler-rt/lib/fuzzer/FuzzerUtilLinux.cpp -@@ -9,7 +9,7 @@ - //===----------------------------------------------------------------------===// - #include "FuzzerDefs.h" - #if LIBFUZZER_LINUX || LIBFUZZER_NETBSD || LIBFUZZER_FREEBSD || \ -- LIBFUZZER_OPENBSD -+ LIBFUZZER_OPENBSD || LIBFUZZER_KFREEBSD - #include "FuzzerCommand.h" - - #include -Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/compiler-rt/lib/sanitizer_common/sanitizer_freebsd.h -=================================================================== ---- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/compiler-rt/lib/sanitizer_common/sanitizer_freebsd.h -+++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/compiler-rt/lib/sanitizer_common/sanitizer_freebsd.h -@@ -20,7 +20,7 @@ - // 32-bit mode. - #if SANITIZER_FREEBSD && (SANITIZER_WORDSIZE == 32) - # include --# if __FreeBSD_version <= 902001 // v9.2 -+# if !SANITIZER_KFREEBSD && __FreeBSD_version <= 902001 // v9.2 - # include - # include - # include -Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/compiler-rt/lib/sanitizer_common/sanitizer_procmaps_bsd.cpp -=================================================================== ---- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/compiler-rt/lib/sanitizer_common/sanitizer_procmaps_bsd.cpp -+++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/compiler-rt/lib/sanitizer_common/sanitizer_procmaps_bsd.cpp -@@ -37,7 +37,7 @@ - // Fix 'kinfo_vmentry' definition on FreeBSD prior v9.2 in 32-bit mode. - #if SANITIZER_FREEBSD && (SANITIZER_WORDSIZE == 32) - #include --#if __FreeBSD_version <= 902001 // v9.2 -+#if !SANITIZER_KFREEBSD && __FreeBSD_version <= 902001 // v9.2 - #define kinfo_vmentry xkinfo_vmentry - #endif - #endif -Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h -=================================================================== ---- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h -+++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h -@@ -24,7 +24,9 @@ - #include "sanitizer_glibc_version.h" - #endif - -+#if !SANITIZER_KFREEBSD - # define GET_LINK_MAP_BY_DLOPEN_HANDLE(handle) ((link_map*)(handle)) -+#endif - - namespace __sanitizer { - extern unsigned struct_utsname_sz; -Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/compiler-rt/lib/sanitizer_common/sanitizer_syscall_generic.inc -=================================================================== ---- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/compiler-rt/lib/sanitizer_common/sanitizer_syscall_generic.inc -+++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/compiler-rt/lib/sanitizer_common/sanitizer_syscall_generic.inc -@@ -19,7 +19,7 @@ - # define SYSCALL(name) __NR_ ## name - #endif - --#if defined(__x86_64__) && (SANITIZER_FREEBSD || SANITIZER_MAC) -+#if defined(__x86_64__) && ((SANITIZER_FREEBSD && !SANITIZER_KFREEBSD) || SANITIZER_MAC) - # define internal_syscall __syscall - # else - # define internal_syscall syscall -Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp -=================================================================== ---- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp -+++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp -@@ -109,10 +109,14 @@ typedef struct user_fpregs elf_fpregset_ - #include - #endif - --#if SANITIZER_LINUX && !SANITIZER_ANDROID -+#if (SANITIZER_LINUX && !SANITIZER_ANDROID) || SANITIZER_KFREEBSD - #include - #include -+#if SANITIZER_KFREEBSD -+#include -+#else - #include -+#endif - #include - #include - #include -@@ -150,8 +154,12 @@ typedef struct user_fpregs elf_fpregset_ - #include - #endif - --#if SANITIZER_LINUX -+#if SANITIZER_LINUX || SANITIZER_KFREEBSD -+#if SANITIZER_KFREEBSD -+#include -+#else - #include -+#endif - #include - #include - #include diff --git a/debian/patches/kfreebsd/include_llvm_ADT_Triple.h.diff b/debian/patches/kfreebsd/include_llvm_ADT_Triple.h.diff deleted file mode 100644 index 7fa4a854..00000000 --- a/debian/patches/kfreebsd/include_llvm_ADT_Triple.h.diff +++ /dev/null @@ -1,33 +0,0 @@ -Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/include/llvm/ADT/Triple.h -=================================================================== ---- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/llvm/include/llvm/ADT/Triple.h -+++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/include/llvm/ADT/Triple.h -@@ -161,7 +161,7 @@ public: - FreeBSD, - Fuchsia, - IOS, -- KFreeBSD, -+ kFreeBSD, - Linux, - Lv2, // PS3 - MacOSX, -@@ -588,8 +588,8 @@ public: - } - - /// Tests whether the OS is kFreeBSD. -- bool isOSKFreeBSD() const { -- return getOS() == Triple::KFreeBSD; -+ bool isOSkFreeBSD() const { -+ return getOS() == Triple::kFreeBSD; - } - - /// Tests whether the OS is Hurd. -@@ -609,7 +609,7 @@ public: - - /// Tests whether the OS uses glibc. - bool isOSGlibc() const { -- return (getOS() == Triple::Linux || getOS() == Triple::KFreeBSD || -+ return (getOS() == Triple::Linux || getOS() == Triple::kFreeBSD || - getOS() == Triple::Hurd) && - !isAndroid(); - } diff --git a/debian/patches/kfreebsd/kfreebsd-libcxx-threads-detection.diff b/debian/patches/kfreebsd/kfreebsd-libcxx-threads-detection.diff deleted file mode 100644 index 54c92e15..00000000 --- a/debian/patches/kfreebsd/kfreebsd-libcxx-threads-detection.diff +++ /dev/null @@ -1,12 +0,0 @@ -Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/libcxx/include/__config -=================================================================== ---- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/libcxx/include/__config -+++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/libcxx/include/__config -@@ -1085,6 +1085,7 @@ _LIBCPP_FUNC_VIS extern "C" void __sanit - !defined(_LIBCPP_HAS_THREAD_API_WIN32) && \ - !defined(_LIBCPP_HAS_THREAD_API_EXTERNAL) - # if defined(__FreeBSD__) || \ -+ defined(__FreeBSD_kernel__) || \ - defined(__Fuchsia__) || \ - defined(__wasi__) || \ - defined(__NetBSD__) || \ diff --git a/debian/patches/kfreebsd/kfreebsd-openmp.diff b/debian/patches/kfreebsd/kfreebsd-openmp.diff deleted file mode 100644 index ba53484d..00000000 --- a/debian/patches/kfreebsd/kfreebsd-openmp.diff +++ /dev/null @@ -1,129 +0,0 @@ -Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/openmp/runtime/src/kmp.h -=================================================================== ---- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/openmp/runtime/src/kmp.h -+++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/openmp/runtime/src/kmp.h -@@ -1142,6 +1142,10 @@ extern kmp_uint64 __kmp_now_nsec(); - /* TODO: tune for KMP_OS_OPENBSD */ - #define KMP_INIT_WAIT 1024U /* initial number of spin-tests */ - #define KMP_NEXT_WAIT 512U /* susequent number of spin-tests */ -+#elif KMP_OS_KFREEBSD -+/* TODO: tune for KMP_OS_KFREEBSD */ -+#define KMP_INIT_WAIT 1024U /* initial number of spin-tests */ -+#define KMP_NEXT_WAIT 512U /* susequent number of spin-tests */ - #endif - - #if KMP_ARCH_X86 || KMP_ARCH_X86_64 -Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/openmp/runtime/src/kmp_ftn_entry.h -=================================================================== ---- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/openmp/runtime/src/kmp_ftn_entry.h -+++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/openmp/runtime/src/kmp_ftn_entry.h -@@ -531,7 +531,7 @@ int FTN_STDCALL KMP_EXPAND_NAME(FTN_GET_ - int gtid; - - #if KMP_OS_DARWIN || KMP_OS_DRAGONFLY || KMP_OS_FREEBSD || KMP_OS_NETBSD || \ -- KMP_OS_HURD -+ KMP_OS_HURD || KMP_OS_KFREEBSD - gtid = __kmp_entry_gtid(); - #elif KMP_OS_WINDOWS - if (!__kmp_init_parallel || -Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/openmp/runtime/src/kmp_platform.h -=================================================================== ---- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/openmp/runtime/src/kmp_platform.h -+++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/openmp/runtime/src/kmp_platform.h -@@ -18,6 +18,7 @@ - #define KMP_OS_LINUX 0 - #define KMP_OS_DRAGONFLY 0 - #define KMP_OS_FREEBSD 0 -+#define KMP_OS_KFREEBSD 0 - #define KMP_OS_NETBSD 0 - #define KMP_OS_OPENBSD 0 - #define KMP_OS_DARWIN 0 -@@ -56,6 +57,11 @@ - #define KMP_OS_FREEBSD 1 - #endif - -+#if (defined __FreeBSD_kernel__) -+#undef KMP_OS_KFREEBSD -+#define KMP_OS_KFREEBSD 1 -+#endif -+ - #if (defined __NetBSD__) - #undef KMP_OS_NETBSD - #define KMP_OS_NETBSD 1 -@@ -78,12 +84,12 @@ - - #if (1 != \ - KMP_OS_LINUX + KMP_OS_DRAGONFLY + KMP_OS_FREEBSD + KMP_OS_NETBSD + \ -- KMP_OS_OPENBSD + KMP_OS_DARWIN + KMP_OS_WINDOWS + KMP_OS_HURD) -+ KMP_OS_OPENBSD + KMP_OS_DARWIN + KMP_OS_WINDOWS + KMP_OS_HURD + KMP_OS_KFREEBSD) - #error Unknown OS - #endif - - #if KMP_OS_LINUX || KMP_OS_DRAGONFLY || KMP_OS_FREEBSD || KMP_OS_NETBSD || \ -- KMP_OS_OPENBSD || KMP_OS_DARWIN || KMP_OS_HURD -+ KMP_OS_OPENBSD || KMP_OS_DARWIN || KMP_OS_HURD || KMP_OS_KFREEBSD - #undef KMP_OS_UNIX - #define KMP_OS_UNIX 1 - #endif -Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/openmp/runtime/src/kmp_runtime.cpp -=================================================================== ---- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/openmp/runtime/src/kmp_runtime.cpp -+++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/openmp/runtime/src/kmp_runtime.cpp -@@ -8114,7 +8114,7 @@ __kmp_determine_reduction_method( - KMP_ARCH_MIPS64 || KMP_ARCH_RISCV64 - - #if KMP_OS_LINUX || KMP_OS_DRAGONFLY || KMP_OS_FREEBSD || KMP_OS_NETBSD || \ -- KMP_OS_OPENBSD || KMP_OS_WINDOWS || KMP_OS_DARWIN || KMP_OS_HURD -+ KMP_OS_OPENBSD || KMP_OS_WINDOWS || KMP_OS_DARWIN || KMP_OS_HURD || KMP_OS_KFREEBSD - - int teamsize_cutoff = 4; - -@@ -8142,7 +8142,7 @@ __kmp_determine_reduction_method( - - #elif KMP_ARCH_X86 || KMP_ARCH_ARM || KMP_ARCH_AARCH || KMP_ARCH_MIPS - --#if KMP_OS_LINUX || KMP_OS_FREEBSD || KMP_OS_WINDOWS || KMP_OS_HURD -+#if KMP_OS_LINUX || KMP_OS_FREEBSD || KMP_OS_WINDOWS || KMP_OS_HURD || KMP_OS_KFREEBSD - - // basic tuning - -Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/openmp/runtime/src/z_Linux_util.cpp -=================================================================== ---- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/openmp/runtime/src/z_Linux_util.cpp -+++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/openmp/runtime/src/z_Linux_util.cpp -@@ -472,7 +472,7 @@ void __kmp_terminate_thread(int gtid) { - static kmp_int32 __kmp_set_stack_info(int gtid, kmp_info_t *th) { - int stack_data; - #if KMP_OS_LINUX || KMP_OS_DRAGONFLY || KMP_OS_FREEBSD || KMP_OS_NETBSD || \ -- KMP_OS_HURD -+ KMP_OS_HURD || KMP_OS_KFREEBSD - pthread_attr_t attr; - int status; - size_t size = 0; -@@ -526,7 +526,7 @@ static void *__kmp_launch_worker(void *t - #endif /* KMP_BLOCK_SIGNALS */ - void *exit_val; - #if KMP_OS_LINUX || KMP_OS_DRAGONFLY || KMP_OS_FREEBSD || KMP_OS_NETBSD || \ -- KMP_OS_OPENBSD || KMP_OS_HURD -+ KMP_OS_OPENBSD || KMP_OS_HURD || KMP_OS_KFREEBSD - void *volatile padding = 0; - #endif - int gtid; -@@ -1798,7 +1798,7 @@ static int __kmp_get_xproc(void) { - int r = 0; - - #if KMP_OS_LINUX || KMP_OS_DRAGONFLY || KMP_OS_FREEBSD || KMP_OS_NETBSD || \ -- KMP_OS_OPENBSD || KMP_OS_HURD -+ KMP_OS_OPENBSD || KMP_OS_HURD || KMP_OS_KFREEBSD - - r = sysconf(_SC_NPROCESSORS_ONLN); - -@@ -2042,7 +2042,7 @@ int __kmp_is_address_mapped(void *addr) - // Free resources. - fclose(file); - KMP_INTERNAL_FREE(name); --#elif KMP_OS_FREEBSD -+#elif KMP_OS_FREEBSD || KMP_OS_KFREEBSD - char *buf; - size_t lstsz; - int mib[] = {CTL_KERN, KERN_PROC, KERN_PROC_VMMAP, getpid()}; diff --git a/debian/patches/kfreebsd/kfreebsd-threads-build.diff b/debian/patches/kfreebsd/kfreebsd-threads-build.diff deleted file mode 100644 index 4601629b..00000000 --- a/debian/patches/kfreebsd/kfreebsd-threads-build.diff +++ /dev/null @@ -1,13 +0,0 @@ -Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/libcxx/src/thread.cpp -=================================================================== ---- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/libcxx/src/thread.cpp -+++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/libcxx/src/thread.cpp -@@ -18,7 +18,7 @@ - - #if defined(__unix__) || (defined(__APPLE__) && defined(__MACH__)) - # include --# if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__DragonFly__) || defined(__APPLE__) -+# if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__DragonFly__) || defined(__APPLE__) || defined(__FreeBSD_kernel__) - # include - # endif - #endif // defined(__unix__) || (defined(__APPLE__) && defined(__MACH__)) diff --git a/debian/patches/kfreebsd/kfreebsd-triple-clang.diff b/debian/patches/kfreebsd/kfreebsd-triple-clang.diff deleted file mode 100644 index 56657daf..00000000 --- a/debian/patches/kfreebsd/kfreebsd-triple-clang.diff +++ /dev/null @@ -1,615 +0,0 @@ -Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/lib/Driver/CMakeLists.txt -=================================================================== ---- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/clang/lib/Driver/CMakeLists.txt -+++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/lib/Driver/CMakeLists.txt -@@ -49,6 +49,7 @@ add_clang_library(clangDriver - ToolChains/HIP.cpp - ToolChains/Hexagon.cpp - ToolChains/Hurd.cpp -+ ToolChains/KFreeBSD.cpp - ToolChains/Linux.cpp - ToolChains/MipsLinux.cpp - ToolChains/MinGW.cpp -Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/lib/Driver/Driver.cpp -=================================================================== ---- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/clang/lib/Driver/Driver.cpp -+++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/lib/Driver/Driver.cpp -@@ -26,6 +26,7 @@ - #include "ToolChains/Haiku.h" - #include "ToolChains/Hexagon.h" - #include "ToolChains/Hurd.h" -+#include "ToolChains/KFreeBSD.h" - #include "ToolChains/Lanai.h" - #include "ToolChains/Linux.h" - #include "ToolChains/MSP430.h" -@@ -4727,6 +4728,9 @@ const ToolChain &Driver::getToolChain(co - case llvm::Triple::FreeBSD: - TC = std::make_unique(*this, Target, Args); - break; -+ case llvm::Triple::kFreeBSD: -+ TC = std::make_unique(*this, Target, Args); -+ break; - case llvm::Triple::Minix: - TC = std::make_unique(*this, Target, Args); - break; -Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/lib/Driver/ToolChains/Clang.cpp -=================================================================== ---- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/clang/lib/Driver/ToolChains/Clang.cpp -+++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/lib/Driver/ToolChains/Clang.cpp -@@ -453,7 +453,7 @@ static bool useFramePointerForTargetByDe - } - - if (Triple.isOSLinux() || Triple.getOS() == llvm::Triple::CloudABI || -- Triple.isOSHurd()) { -+ Triple.isOSHurd() || Triple.isOSkFreeBSD()) { - switch (Triple.getArch()) { - // Don't use a frame pointer on linux if optimizing for certain targets. - case llvm::Triple::mips64: -Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/lib/Driver/ToolChains/Gnu.cpp -=================================================================== ---- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/clang/lib/Driver/ToolChains/Gnu.cpp -+++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/lib/Driver/ToolChains/Gnu.cpp -@@ -578,6 +578,20 @@ void tools::gnutools::Linker::ConstructJ - - if (!Args.hasArg(options::OPT_nolibc)) - CmdArgs.push_back("-lc"); -+ CmdArgs.push_back("-lc"); -+ -+ if (getToolChain().getTriple().isOSkFreeBSD()) { -+ switch (getToolChain().getArch()) { -+ case llvm::Triple::x86_64: -+ CmdArgs.push_back("-rpath-link=/lib/x86_64-kfreebsd-gnu"); -+ break; -+ case llvm::Triple::x86: -+ CmdArgs.push_back("-rpath-link=/lib/i386-kfreebsd-gnu"); -+ break; -+ default: -+ break; -+ } -+ } - - // Add IAMCU specific libs, if needed. - if (IsIAMCU) -@@ -1957,7 +1971,8 @@ void Generic_GCC::GCCInstallationDetecto - "x86_64-redhat-linux", "x86_64-suse-linux", - "x86_64-manbo-linux-gnu", "x86_64-linux-gnu", - "x86_64-slackware-linux", "x86_64-unknown-linux", -- "x86_64-amazon-linux", "x86_64-linux-android"}; -+ "x86_64-amazon-linux", "x86_64-linux-android", -+ "x86_64-kfreebsd-gnu", "x86_64-pc-kfreebsd-gnu"}; - static const char *const X32LibDirs[] = {"/libx32"}; - static const char *const X86LibDirs[] = {"/lib32", "/lib"}; - static const char *const X86Triples[] = { -@@ -1966,7 +1981,9 @@ void Generic_GCC::GCCInstallationDetecto - "i586-redhat-linux", "i386-redhat-linux", "i586-suse-linux", - "i486-slackware-linux", "i686-montavista-linux", "i586-linux-gnu", - "i686-linux-android", "i386-gnu", "i486-gnu", -- "i586-gnu", "i686-gnu"}; -+ "i586-gnu", "i686-gnu", -+ "i686-kfreebsd-gnu", "i686-pc-kfreebsd-gnu", "i486-kfreebsd-gnu", -+ "i386-kfreebsd-gnu" }; - - static const char *const MIPSLibDirs[] = {"/lib"}; - static const char *const MIPSTriples[] = { -Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/lib/Driver/ToolChains/KFreeBSD.cpp -=================================================================== ---- /dev/null -+++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/lib/Driver/ToolChains/KFreeBSD.cpp -@@ -0,0 +1,458 @@ -+//===--- KFreeBSD.cpp - kFreeBSD ToolChain Implementations --------*- C++ -*-===// -+// -+// The LLVM Compiler Infrastructure -+// -+// This file is distributed under the University of Illinois Open Source -+// License. See LICENSE.TXT for details. -+// -+//===----------------------------------------------------------------------===// -+ -+#include "KFreeBSD.h" -+#include "CommonArgs.h" -+#include "llvm/Support/VirtualFileSystem.h" -+#include "clang/Config/config.h" -+#include "clang/Driver/Driver.h" -+#include "clang/Driver/Options.h" -+#include "clang/Driver/SanitizerArgs.h" -+#include "llvm/Option/ArgList.h" -+#include "llvm/ProfileData/InstrProf.h" -+#include "llvm/Support/Path.h" -+ -+using namespace clang::driver; -+using namespace clang::driver::toolchains; -+using namespace clang; -+using namespace llvm::opt; -+ -+using tools::addPathIfExists; -+ -+/// Get our best guess at the multiarch triple for a target. -+/// -+/// Debian-based systems are starting to use a multiarch setup where they use -+/// a target-triple directory in the library and header search paths. -+/// Unfortunately, this triple does not align with the vanilla target triple, -+/// so we provide a rough mapping here. -+static std::string getMultiarchTriple(const Driver &D, -+ const llvm::Triple &TargetTriple, -+ StringRef SysRoot) { -+ // For most architectures, just use whatever we have rather than trying to be -+ // clever. -+ switch (TargetTriple.getArch()) { -+ default: -+ break; -+ -+ // We use the existence of '/lib/' as a directory to detect -+ // some common kfreebsd triples that don't quite match the Clang -+ // triple for both 32-bit and 64-bit targets. Multiarch fixes its -+ // install triples to these regardless of what the actual target -+ // triple is. -+ case llvm::Triple::x86_64: -+ if (D.getVFS().exists(SysRoot + "/lib/x86_64-kfreebsd-gnu")) -+ return "x86_64-kfreebsd-gnu"; -+ break; -+ case llvm::Triple::x86: -+ if (D.getVFS().exists(SysRoot + "/lib/i386-kfreebsd-gnu")) -+ return "i386-kfreebsd-gnu"; -+ break; -+ } -+ -+ return TargetTriple.str(); -+} -+ -+static StringRef getOSLibDir(const llvm::Triple &Triple, const ArgList &Args) { -+ // It happens that only x86 and PPC use the 'lib32' variant of oslibdir, and -+ // using that variant while targeting other architectures causes problems -+ // because the libraries are laid out in shared system roots that can't cope -+ // with a 'lib32' library search path being considered. So we only enable -+ // them when we know we may need it. -+ // -+ // FIXME: This is a bit of a hack. We should really unify this code for -+ // reasoning about oslibdir spellings with the lib dir spellings in the -+ // GCCInstallationDetector, but that is a more significant refactoring. -+ -+ if (Triple.getArch() == llvm::Triple::x86) -+ return "lib"; -+ -+ if (Triple.getArch() == llvm::Triple::x86_64) -+ return "lib"; -+ -+ return Triple.isArch32Bit() ? "lib" : "lib64"; -+} -+ -+static void addMultilibsFilePaths(const Driver &D, const MultilibSet &Multilibs, -+ const Multilib &Multilib, -+ StringRef InstallPath, -+ ToolChain::path_list &Paths) { -+ if (const auto &PathsCallback = Multilibs.filePathsCallback()) -+ for (const auto &Path : PathsCallback(Multilib)) -+ addPathIfExists(D, InstallPath + Path, Paths); -+} -+ -+kFreeBSD::kFreeBSD(const Driver &D, const llvm::Triple &Triple, -+ const ArgList &Args) -+ : Generic_ELF(D, Triple, Args) { -+ GCCInstallation.init(Triple, Args); -+ Multilibs = GCCInstallation.getMultilibs(); -+ std::string SysRoot = computeSysRoot(); -+ -+ // Cross-compiling binutils and GCC installations (vanilla and openSUSE at -+ // least) put various tools in a triple-prefixed directory off of the parent -+ // of the GCC installation. We use the GCC triple here to ensure that we end -+ // up with tools that support the same amount of cross compiling as the -+ // detected GCC installation. For example, if we find a GCC installation -+ // targeting x86_64, but it is a bi-arch GCC installation, it can also be -+ // used to target i386. -+ // FIXME: This seems unlikely to be Linux-, kFreeBSD- or Hurd-specific. -+ ToolChain::path_list &PPaths = getProgramPaths(); -+ PPaths.push_back(Twine(GCCInstallation.getParentLibPath() + "/../" + -+ GCCInstallation.getTriple().str() + "/bin") -+ .str()); -+ -+#ifdef ENABLE_LINKER_BUILD_ID -+ ExtraOpts.push_back("--build-id"); -+#endif -+ -+ // The selection of paths to try here is designed to match the patterns which -+ // the GCC driver itself uses, as this is part of the GCC-compatible driver. -+ // This was determined by running GCC in a fake filesystem, creating all -+ // possible permutations of these directories, and seeing which ones it added -+ // to the link paths. -+ path_list &Paths = getFilePaths(); -+ -+ const std::string OSLibDir = getOSLibDir(Triple, Args); -+ const std::string MultiarchTriple = getMultiarchTriple(D, Triple, SysRoot); -+ -+ // Add the multilib suffixed paths where they are available. -+ if (GCCInstallation.isValid()) { -+ const llvm::Triple &GCCTriple = GCCInstallation.getTriple(); -+ const std::string &LibPath = GCCInstallation.getParentLibPath(); -+ const Multilib &Multilib = GCCInstallation.getMultilib(); -+ const MultilibSet &Multilibs = GCCInstallation.getMultilibs(); -+ -+ // Add toolchain / multilib specific file paths. -+ addMultilibsFilePaths(D, Multilibs, Multilib, -+ GCCInstallation.getInstallPath(), Paths); -+ -+ // Sourcery CodeBench MIPS toolchain holds some libraries under -+ // a biarch-like suffix of the GCC installation. -+ addPathIfExists(D, GCCInstallation.getInstallPath() + Multilib.gccSuffix(), -+ Paths); -+ -+ // GCC cross compiling toolchains will install target libraries which ship -+ // as part of the toolchain under // rather than as -+ // any part of the GCC installation in -+ // //gcc//. This decision is somewhat -+ // debatable, but is the reality today. We need to search this tree even -+ // when we have a sysroot somewhere else. It is the responsibility of -+ // whomever is doing the cross build targeting a sysroot using a GCC -+ // installation that is *not* within the system root to ensure two things: -+ // -+ // 1) Any DSOs that are linked in from this tree or from the install path -+ // above must be present on the system root and found via an -+ // appropriate rpath. -+ // 2) There must not be libraries installed into -+ // // unless they should be preferred over -+ // those within the system root. -+ // -+ // Note that this matches the GCC behavior. See the below comment for where -+ // Clang diverges from GCC's behavior. -+ addPathIfExists(D, LibPath + "/../" + GCCTriple.str() + "/lib/../" + -+ OSLibDir + Multilib.osSuffix(), -+ Paths); -+ -+ // If the GCC installation we found is inside of the sysroot, we want to -+ // prefer libraries installed in the parent prefix of the GCC installation. -+ // It is important to *not* use these paths when the GCC installation is -+ // outside of the system root as that can pick up unintended libraries. -+ // This usually happens when there is an external cross compiler on the -+ // host system, and a more minimal sysroot available that is the target of -+ // the cross. Note that GCC does include some of these directories in some -+ // configurations but this seems somewhere between questionable and simply -+ // a bug. -+ if (StringRef(LibPath).startswith(SysRoot)) { -+ addPathIfExists(D, LibPath + "/" + MultiarchTriple, Paths); -+ addPathIfExists(D, LibPath + "/../" + OSLibDir, Paths); -+ } -+ } -+ -+ // Similar to the logic for GCC above, if we currently running Clang inside -+ // of the requested system root, add its parent library paths to -+ // those searched. -+ // FIXME: It's not clear whether we should use the driver's installed -+ // directory ('Dir' below) or the ResourceDir. -+ if (StringRef(D.Dir).startswith(SysRoot)) { -+ addPathIfExists(D, D.Dir + "/../lib/" + MultiarchTriple, Paths); -+ addPathIfExists(D, D.Dir + "/../" + OSLibDir, Paths); -+ } -+ -+ addPathIfExists(D, SysRoot + "/lib/" + MultiarchTriple, Paths); -+ addPathIfExists(D, SysRoot + "/lib/../" + OSLibDir, Paths); -+ -+ addPathIfExists(D, SysRoot + "/usr/lib/" + MultiarchTriple, Paths); -+ addPathIfExists(D, SysRoot + "/usr/lib/../" + OSLibDir, Paths); -+ -+ // Try walking via the GCC triple path in case of biarch or multiarch GCC -+ // installations with strange symlinks. -+ if (GCCInstallation.isValid()) { -+ addPathIfExists(D, -+ SysRoot + "/usr/lib/" + GCCInstallation.getTriple().str() + -+ "/../../" + OSLibDir, -+ Paths); -+ -+ // Add the 'other' biarch variant path -+ Multilib BiarchSibling; -+ if (GCCInstallation.getBiarchSibling(BiarchSibling)) { -+ addPathIfExists(D, GCCInstallation.getInstallPath() + -+ BiarchSibling.gccSuffix(), -+ Paths); -+ } -+ -+ // See comments above on the multilib variant for details of why this is -+ // included even from outside the sysroot. -+ const std::string &LibPath = GCCInstallation.getParentLibPath(); -+ const llvm::Triple &GCCTriple = GCCInstallation.getTriple(); -+ const Multilib &Multilib = GCCInstallation.getMultilib(); -+ addPathIfExists(D, LibPath + "/../" + GCCTriple.str() + "/lib" + -+ Multilib.osSuffix(), -+ Paths); -+ -+ // See comments above on the multilib variant for details of why this is -+ // only included from within the sysroot. -+ if (StringRef(LibPath).startswith(SysRoot)) -+ addPathIfExists(D, LibPath, Paths); -+ } -+ -+ // Similar to the logic for GCC above, if we are currently running Clang -+ // inside of the requested system root, add its parent library path to those -+ // searched. -+ // FIXME: It's not clear whether we should use the driver's installed -+ // directory ('Dir' below) or the ResourceDir. -+ if (StringRef(D.Dir).startswith(SysRoot)) -+ addPathIfExists(D, D.Dir + "/../lib", Paths); -+ -+ addPathIfExists(D, SysRoot + "/lib", Paths); -+ addPathIfExists(D, SysRoot + "/usr/lib", Paths); -+} -+ -+bool kFreeBSD::HasNativeLLVMSupport() const { return true; } -+ -+Tool *kFreeBSD::buildLinker() const { return new tools::gnutools::Linker(*this); } -+ -+Tool *kFreeBSD::buildAssembler() const { -+ return new tools::gnutools::Assembler(*this); -+} -+ -+std::string kFreeBSD::computeSysRoot() const { -+ if (!getDriver().SysRoot.empty()) -+ return getDriver().SysRoot; -+ -+ return std::string(); -+} -+ -+std::string kFreeBSD::getDynamicLinker(const ArgList &Args) const { -+ const llvm::Triple::ArchType Arch = getArch(); -+ -+ if (Arch == llvm::Triple::x86_64) -+ return "/lib/ld-kfreebsd-x86-64.so.1"; -+ -+ if (Arch == llvm::Triple::x86) -+ return "/lib/ld.so.1"; -+ -+ llvm_unreachable("unsupported architecture"); -+} -+ -+void kFreeBSD::AddClangSystemIncludeArgs(const ArgList &DriverArgs, -+ ArgStringList &CC1Args) const { -+ const Driver &D = getDriver(); -+ std::string SysRoot = computeSysRoot(); -+ -+ if (DriverArgs.hasArg(clang::driver::options::OPT_nostdinc)) -+ return; -+ -+ if (!DriverArgs.hasArg(options::OPT_nostdlibinc)) -+ addSystemInclude(DriverArgs, CC1Args, SysRoot + "/usr/local/include"); -+ -+ if (!DriverArgs.hasArg(options::OPT_nobuiltininc)) { -+ SmallString<128> P(D.ResourceDir); -+ llvm::sys::path::append(P, "include"); -+ addSystemInclude(DriverArgs, CC1Args, P); -+ } -+ -+ if (DriverArgs.hasArg(options::OPT_nostdlibinc)) -+ return; -+ -+ // Check for configure-time C include directories. -+ StringRef CIncludeDirs(C_INCLUDE_DIRS); -+ if (CIncludeDirs != "") { -+ SmallVector dirs; -+ CIncludeDirs.split(dirs, ":"); -+ for (StringRef dir : dirs) { -+ StringRef Prefix = -+ llvm::sys::path::is_absolute(dir) ? StringRef(SysRoot) : ""; -+ addExternCSystemInclude(DriverArgs, CC1Args, Prefix + dir); -+ } -+ // addExternCSystemInclude(DriverArgs, CC1Args, SysRoot + "/usr/include"); -+ return; -+ } -+ -+ // Lacking those, try to detect the correct set of system includes for the -+ // target triple. -+ -+ // Add include directories specific to the selected multilib set and multilib. -+ if (GCCInstallation.isValid()) { -+ const auto &Callback = Multilibs.includeDirsCallback(); -+ if (Callback) { -+ for (const auto &Path : Callback(GCCInstallation.getMultilib())) -+ addExternCSystemIncludeIfExists( -+ DriverArgs, CC1Args, GCCInstallation.getInstallPath() + Path); -+ } -+ } -+ -+ // Implement generic Debian multiarch support. -+ const StringRef X86_64MultiarchIncludeDirs[] = { -+ "/usr/include/x86_64-kfreebsd-gnu"}; -+ -+ // CHECK -+ const StringRef X86MultiarchIncludeDirs[] = { -+ "/usr/include/i386-kfreebsd-gnu"}; -+ -+ ArrayRef MultiarchIncludeDirs; -+ switch (getTriple().getArch()) { -+ case llvm::Triple::x86: -+ MultiarchIncludeDirs = X86MultiarchIncludeDirs; -+ break; -+ case llvm::Triple::x86_64: -+ MultiarchIncludeDirs = X86_64MultiarchIncludeDirs; -+ break; -+ default: -+ break; -+ } -+ -+ for (StringRef Dir : MultiarchIncludeDirs) { -+ if (D.getVFS().exists(SysRoot + Dir)) { -+ addExternCSystemInclude(DriverArgs, CC1Args, SysRoot + Dir); -+ break; -+ } -+ } -+ -+ // Add an include of '/include' directly. This isn't provided by default by -+ // system GCCs, but is often used with cross-compiling GCCs, and harmless to -+ // add even when Clang is acting as-if it were a system compiler. -+ addExternCSystemInclude(DriverArgs, CC1Args, SysRoot + "/include"); -+ -+ addExternCSystemInclude(DriverArgs, CC1Args, SysRoot + "/usr/include"); -+} -+ -+static std::string DetectLibcxxIncludePath(StringRef base) { -+ std::error_code EC; -+ int MaxVersion = 0; -+ std::string MaxVersionString = ""; -+ for (llvm::sys::fs::directory_iterator LI(base, EC), LE; !EC && LI != LE; -+ LI = LI.increment(EC)) { -+ StringRef VersionText = llvm::sys::path::filename(LI->path()); -+ int Version; -+ if (VersionText[0] == 'v' && -+ !VersionText.slice(1, StringRef::npos).getAsInteger(10, Version)) { -+ if (Version > MaxVersion) { -+ MaxVersion = Version; -+ MaxVersionString = VersionText; -+ } -+ } -+ } -+ return MaxVersion ? (base + "/" + MaxVersionString).str() : ""; -+} -+ -+void kFreeBSD::addLibCxxIncludePaths(const llvm::opt::ArgList &DriverArgs, -+ llvm::opt::ArgStringList &CC1Args) const { -+ const std::string& SysRoot = computeSysRoot(); -+ const std::string LibCXXIncludePathCandidates[] = { -+ DetectLibcxxIncludePath(getDriver().ResourceDir + "/include/c++"), -+ DetectLibcxxIncludePath(getDriver().Dir + "/../include/c++"), -+ // If this is a development, non-installed, clang, libcxx will -+ // not be found at ../include/c++ but it likely to be found at -+ // one of the following two locations: -+ DetectLibcxxIncludePath(SysRoot + "/usr/local/include/c++"), -+ DetectLibcxxIncludePath(SysRoot + "/usr/include/c++") }; -+ for (const auto &IncludePath : LibCXXIncludePathCandidates) { -+ if (IncludePath.empty() || !getVFS().exists(IncludePath)) -+ continue; -+ // Use the first candidate that exists. -+ addSystemInclude(DriverArgs, CC1Args, IncludePath); -+ return; -+ } -+} -+ -+void kFreeBSD::addLibStdCxxIncludePaths(const llvm::opt::ArgList &DriverArgs, -+ llvm::opt::ArgStringList &CC1Args) const { -+ // We need a detected GCC installation on kFreeBSD to provide libstdc++'s -+ // headers. -+ if (!GCCInstallation.isValid()) -+ return; -+ -+ // By default, look for the C++ headers in an include directory adjacent to -+ // the lib directory of the GCC installation. Note that this is expect to be -+ // equivalent to '/usr/include/c++/X.Y' in almost all cases. -+ StringRef LibDir = GCCInstallation.getParentLibPath(); -+ StringRef InstallDir = GCCInstallation.getInstallPath(); -+ StringRef TripleStr = GCCInstallation.getTriple().str(); -+ const Multilib &Multilib = GCCInstallation.getMultilib(); -+ const std::string GCCMultiarchTriple = getMultiarchTriple( -+ getDriver(), GCCInstallation.getTriple(), getDriver().SysRoot); -+ const std::string TargetMultiarchTriple = -+ getMultiarchTriple(getDriver(), getTriple(), getDriver().SysRoot); -+ const GCCVersion &Version = GCCInstallation.getVersion(); -+ -+ // The primary search for libstdc++ supports multiarch variants. -+ if (addLibStdCXXIncludePaths(LibDir.str() + "/../include", -+ "/c++/" + Version.Text, TripleStr, -+ GCCMultiarchTriple, TargetMultiarchTriple, -+ Multilib.includeSuffix(), DriverArgs, CC1Args)) -+ return; -+ -+ // Otherwise, fall back on a bunch of options which don't use multiarch -+ // layouts for simplicity. -+ const std::string LibStdCXXIncludePathCandidates[] = { -+ // Gentoo is weird and places its headers inside the GCC install, -+ // so if the first attempt to find the headers fails, try these patterns. -+ InstallDir.str() + "/include/g++-v" + Version.Text, -+ InstallDir.str() + "/include/g++-v" + Version.MajorStr + "." + -+ Version.MinorStr, -+ InstallDir.str() + "/include/g++-v" + Version.MajorStr, -+ // Android standalone toolchain has C++ headers in yet another place. -+ LibDir.str() + "/../" + TripleStr.str() + "/include/c++/" + Version.Text, -+ // Freescale SDK C++ headers are directly in /usr/include/c++, -+ // without a subdirectory corresponding to the gcc version. -+ LibDir.str() + "/../include/c++", -+ }; -+ -+ for (const auto &IncludePath : LibStdCXXIncludePathCandidates) { -+ if (addLibStdCXXIncludePaths(IncludePath, /*Suffix*/ "", TripleStr, -+ /*GCCMultiarchTriple*/ "", -+ /*TargetMultiarchTriple*/ "", -+ Multilib.includeSuffix(), DriverArgs, CC1Args)) -+ break; -+ } -+} -+ -+/* FIXME: -+/home/srs/DEBs/llvm-toolchain-7/llvm-toolchain-7-7.0.1~+rc2-7/clang/lib/Driver/ToolChains/KFreeBSD.cpp:431:15: error: no declaration matches ‘clang::SanitizerMask clang::driver::toolchains::kFreeBSD::getSupportedSanitizers() const’ -+ SanitizerMask kFreeBSD::getSupportedSanitizers() const { -+*/ -+SanitizerMask kFreeBSD::getSupportedSanitizers() const { -+ const bool IsX86 = getTriple().getArch() == llvm::Triple::x86; -+ const bool IsX86_64 = getTriple().getArch() == llvm::Triple::x86_64; -+ SanitizerMask Res = ToolChain::getSupportedSanitizers(); -+ // FIXME: Add here!! -+ if (IsX86_64) { -+ Res |= SanitizerKind::DataFlow; -+ Res |= SanitizerKind::Leak; -+ Res |= SanitizerKind::Thread; -+ Res |= SanitizerKind::Scudo; -+ Res |= SanitizerKind::HWAddress; -+ Res |= SanitizerKind::KernelHWAddress; -+ } -+ if (IsX86 || IsX86_64) -+ Res |= SanitizerKind::Function; -+ -+ return Res; -+} -+ -Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/lib/Driver/ToolChains/KFreeBSD.h -=================================================================== ---- /dev/null -+++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/lib/Driver/ToolChains/KFreeBSD.h -@@ -0,0 +1,54 @@ -+//===--- KFreeBSD.h - kFreeBSD ToolChain Implementations ----------*- C++ -*-===// -+// -+// The LLVM Compiler Infrastructure -+// -+// This file is distributed under the University of Illinois Open Source -+// License. See LICENSE.TXT for details. -+// -+//===----------------------------------------------------------------------===// -+ -+#ifndef LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_KFreeBSD_H -+#define LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_KFreeBSD_H -+ -+#include "Gnu.h" -+#include "clang/Driver/ToolChain.h" -+ -+namespace clang { -+namespace driver { -+namespace toolchains { -+ -+class LLVM_LIBRARY_VISIBILITY kFreeBSD : public Generic_ELF { -+public: -+ kFreeBSD(const Driver &D, const llvm::Triple &Triple, -+ const llvm::opt::ArgList &Args); -+ -+ bool HasNativeLLVMSupport() const override; -+ -+ void -+ AddClangSystemIncludeArgs(const llvm::opt::ArgList &DriverArgs, -+ llvm::opt::ArgStringList &CC1Args) const override; -+ void addLibCxxIncludePaths( -+ const llvm::opt::ArgList &DriverArgs, -+ llvm::opt::ArgStringList &CC1Args) const override; -+ void addLibStdCxxIncludePaths( -+ const llvm::opt::ArgList &DriverArgs, -+ llvm::opt::ArgStringList &CC1Args) const override; -+ -+ SanitizerMask getSupportedSanitizers() const override; -+ -+ virtual std::string computeSysRoot() const; -+ -+ virtual std::string getDynamicLinker(const llvm::opt::ArgList &Args) const; -+ -+ std::vector ExtraOpts; -+ -+protected: -+ Tool *buildAssembler() const override; -+ Tool *buildLinker() const override; -+}; -+ -+} // end namespace toolchains -+} // end namespace driver -+} // end namespace clang -+ -+#endif // LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_KFreeBSD_H diff --git a/debian/patches/kfreebsd/kfreebsd-triple.diff b/debian/patches/kfreebsd/kfreebsd-triple.diff deleted file mode 100644 index 50dd3f8a..00000000 --- a/debian/patches/kfreebsd/kfreebsd-triple.diff +++ /dev/null @@ -1,23 +0,0 @@ -Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/unittests/ADT/TripleTest.cpp -=================================================================== ---- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/llvm/unittests/ADT/TripleTest.cpp -+++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/unittests/ADT/TripleTest.cpp -@@ -98,6 +98,18 @@ TEST(TripleTest, ParsedIDs) { - EXPECT_EQ(Triple::Hurd, T.getOS()); - EXPECT_EQ(Triple::GNU, T.getEnvironment()); - -+ T = Triple("i386-pc-kfreebsd-gnu"); -+ EXPECT_EQ(Triple::x86, T.getArch()); -+ EXPECT_EQ(Triple::PC, T.getVendor()); -+ EXPECT_EQ(Triple::kFreeBSD, T.getOS()); -+ EXPECT_EQ(Triple::GNU, T.getEnvironment()); -+ -+ T = Triple("x86_64-pc-kfreebsd-gnu"); -+ EXPECT_EQ(Triple::x86_64, T.getArch()); -+ EXPECT_EQ(Triple::PC, T.getVendor()); -+ EXPECT_EQ(Triple::kFreeBSD, T.getOS()); -+ EXPECT_EQ(Triple::GNU, T.getEnvironment()); -+ - T = Triple("x86_64-pc-linux-gnu"); - EXPECT_EQ(Triple::x86_64, T.getArch()); - EXPECT_EQ(Triple::PC, T.getVendor()); diff --git a/debian/patches/kfreebsd/lib_Support.diff b/debian/patches/kfreebsd/lib_Support.diff deleted file mode 100644 index c27fb302..00000000 --- a/debian/patches/kfreebsd/lib_Support.diff +++ /dev/null @@ -1,35 +0,0 @@ -Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/lib/Support/Triple.cpp -=================================================================== ---- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/llvm/lib/Support/Triple.cpp -+++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/lib/Support/Triple.cpp -@@ -183,7 +183,7 @@ StringRef Triple::getOSTypeName(OSType K - case FreeBSD: return "freebsd"; - case Fuchsia: return "fuchsia"; - case IOS: return "ios"; -- case KFreeBSD: return "kfreebsd"; -+ case kFreeBSD: return "kfreebsd"; - case Linux: return "linux"; - case Lv2: return "lv2"; - case MacOSX: return "macosx"; -@@ -488,7 +488,7 @@ static Triple::OSType parseOS(StringRef - .StartsWith("freebsd", Triple::FreeBSD) - .StartsWith("fuchsia", Triple::Fuchsia) - .StartsWith("ios", Triple::IOS) -- .StartsWith("kfreebsd", Triple::KFreeBSD) -+ .StartsWith("kfreebsd", Triple::kFreeBSD) - .StartsWith("linux", Triple::Linux) - .StartsWith("lv2", Triple::Lv2) - .StartsWith("macos", Triple::MacOSX) -Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/lib/Support/Unix/Path.inc -=================================================================== ---- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/llvm/lib/Support/Unix/Path.inc -+++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/lib/Support/Unix/Path.inc -@@ -62,7 +62,7 @@ - #define FSTATVFS fstatvfs - #define STATVFS_F_FRSIZE(vfs) vfs.f_frsize - #else --#if defined(__OpenBSD__) || defined(__FreeBSD__) -+#if defined(__OpenBSD__) || defined(__FreeBSD__) || defined(__FreeBSD_kernel__) - #include - #include - #elif defined(__linux__) diff --git a/debian/patches/kfreebsd/lib_Target_X86.diff b/debian/patches/kfreebsd/lib_Target_X86.diff deleted file mode 100644 index 636ab783..00000000 --- a/debian/patches/kfreebsd/lib_Target_X86.diff +++ /dev/null @@ -1,26 +0,0 @@ -Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/lib/Target/X86/X86Subtarget.cpp -=================================================================== ---- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/llvm/lib/Target/X86/X86Subtarget.cpp -+++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/lib/Target/X86/X86Subtarget.cpp -@@ -290,7 +290,7 @@ void X86Subtarget::initSubtargetFeatures - if (StackAlignOverride) - stackAlignment = *StackAlignOverride; - else if (isTargetDarwin() || isTargetLinux() || isTargetSolaris() || -- isTargetKFreeBSD() || In64BitMode) -+ isTargetkFreeBSD() || In64BitMode) - stackAlignment = Align(16); - - // Some CPUs have more overhead for gather. The specified overhead is relative -Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/lib/Target/X86/X86Subtarget.h -=================================================================== ---- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/llvm/lib/Target/X86/X86Subtarget.h -+++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/lib/Target/X86/X86Subtarget.h -@@ -764,7 +764,7 @@ public: - bool isTargetMachO() const { return TargetTriple.isOSBinFormatMachO(); } - - bool isTargetLinux() const { return TargetTriple.isOSLinux(); } -- bool isTargetKFreeBSD() const { return TargetTriple.isOSKFreeBSD(); } -+ bool isTargetkFreeBSD() const { return TargetTriple.isOSkFreeBSD(); } - bool isTargetGlibc() const { return TargetTriple.isOSGlibc(); } - bool isTargetAndroid() const { return TargetTriple.isAndroid(); } - bool isTargetNaCl() const { return TargetTriple.isOSNaCl(); } diff --git a/debian/patches/kfreebsd/lldb_source_Host_freebsd_Host.cpp.diff b/debian/patches/kfreebsd/lldb_source_Host_freebsd_Host.cpp.diff deleted file mode 100644 index e99a83ce..00000000 --- a/debian/patches/kfreebsd/lldb_source_Host_freebsd_Host.cpp.diff +++ /dev/null @@ -1,18 +0,0 @@ -Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/lldb/source/Host/freebsd/Host.cpp -=================================================================== ---- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/lldb/source/Host/freebsd/Host.cpp -+++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/lldb/source/Host/freebsd/Host.cpp -@@ -10,6 +10,13 @@ - #include - - #include -+#ifdef __FreeBSD_kernel__ -+# ifdef __amd64__ -+# include -+# else -+# include -+# endif -+#endif - #include - #include - #include diff --git a/debian/patches/kfreebsd/lldb_source_Plugins_Process_FreeBSD.diff b/debian/patches/kfreebsd/lldb_source_Plugins_Process_FreeBSD.diff deleted file mode 100644 index 7bc11c8f..00000000 --- a/debian/patches/kfreebsd/lldb_source_Plugins_Process_FreeBSD.diff +++ /dev/null @@ -1,28 +0,0 @@ -Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/lldb/source/Plugins/Process/FreeBSD/FreeBSDThread.cpp -=================================================================== ---- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/lldb/source/Plugins/Process/FreeBSD/FreeBSDThread.cpp -+++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/lldb/source/Plugins/Process/FreeBSD/FreeBSDThread.cpp -@@ -8,7 +8,9 @@ - - #include - #include -+#ifndef __FreeBSD_kernel__ - #include -+#endif - #include - #include - #include -Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/lldb/source/Plugins/Process/FreeBSD/ProcessFreeBSD.cpp -=================================================================== ---- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/lldb/source/Plugins/Process/FreeBSD/ProcessFreeBSD.cpp -+++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/lldb/source/Plugins/Process/FreeBSD/ProcessFreeBSD.cpp -@@ -9,7 +9,9 @@ - - #include - #include -+#ifndef __FreeBSD_kernel__ - #include -+#endif - #include - #include - #include diff --git a/debian/patches/kfreebsd/tools_llvm-shlib_CMakeLists.txt.diff b/debian/patches/kfreebsd/tools_llvm-shlib_CMakeLists.txt.diff deleted file mode 100644 index eeb84798..00000000 --- a/debian/patches/kfreebsd/tools_llvm-shlib_CMakeLists.txt.diff +++ /dev/null @@ -1,12 +0,0 @@ -Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/tools/llvm-shlib/CMakeLists.txt -=================================================================== ---- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/llvm/tools/llvm-shlib/CMakeLists.txt -+++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/llvm/tools/llvm-shlib/CMakeLists.txt -@@ -49,6 +49,7 @@ if(LLVM_BUILD_LLVM_DYLIB) - list(REMOVE_DUPLICATES LIB_NAMES) - if(("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux") OR (MINGW) OR (HAIKU) - OR ("${CMAKE_SYSTEM_NAME}" STREQUAL "FreeBSD") -+ OR ("${CMAKE_SYSTEM_NAME}" STREQUAL "kFreeBSD") - OR ("${CMAKE_SYSTEM_NAME}" STREQUAL "GNU") - OR ("${CMAKE_SYSTEM_NAME}" STREQUAL "OpenBSD") - OR ("${CMAKE_SYSTEM_NAME}" STREQUAL "Fuchsia") diff --git a/debian/patches/libclang-major-version-only.diff b/debian/patches/libclang-major-version-only.diff index 64486cc3..aec0ff25 100644 --- a/debian/patches/libclang-major-version-only.diff +++ b/debian/patches/libclang-major-version-only.diff @@ -1,7 +1,7 @@ -Index: llvm-toolchain-18_18.1.2/clang/tools/libclang/CMakeLists.txt +Index: llvm-toolchain-snapshot_19~++20240220124703+f122268c0441/clang/tools/libclang/CMakeLists.txt =================================================================== ---- llvm-toolchain-18_18.1.2.orig/clang/tools/libclang/CMakeLists.txt -+++ llvm-toolchain-18_18.1.2/clang/tools/libclang/CMakeLists.txt +--- llvm-toolchain-snapshot_19~++20240220124703+f122268c0441.orig/clang/tools/libclang/CMakeLists.txt ++++ llvm-toolchain-snapshot_19~++20240220124703+f122268c0441/clang/tools/libclang/CMakeLists.txt @@ -208,7 +208,7 @@ if(ENABLE_SHARED) OBJECT_DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/libclang.map) diff --git a/debian/patches/libclc-fix-prepare_builtins-rpath.diff b/debian/patches/libclc-fix-prepare_builtins-rpath.diff index 8ee965f8..e5dc91ea 100644 --- a/debian/patches/libclc-fix-prepare_builtins-rpath.diff +++ b/debian/patches/libclc-fix-prepare_builtins-rpath.diff @@ -1,10 +1,10 @@ set rpath for prepare_builtins build utility to find correct stage2 libs at runtime when executed as part of a build -Index: llvm-toolchain-snapshot_17~++20230523093327+96a003b9bf79/libclc/CMakeLists.txt +Index: llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e/libclc/CMakeLists.txt =================================================================== ---- llvm-toolchain-snapshot_17~++20230523093327+96a003b9bf79.orig/libclc/CMakeLists.txt -+++ llvm-toolchain-snapshot_17~++20230523093327+96a003b9bf79/libclc/CMakeLists.txt -@@ -121,6 +121,9 @@ add_llvm_executable( prepare_builtins ut +--- llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e.orig/libclc/CMakeLists.txt ++++ llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e/libclc/CMakeLists.txt +@@ -177,6 +177,9 @@ endif() target_compile_definitions( prepare_builtins PRIVATE ${LLVM_VERSION_DEFINE} ) # These were not properly reported in early LLVM and we don't need them target_compile_options( prepare_builtins PRIVATE -fno-rtti -fno-exceptions ) diff --git a/debian/patches/libcxx-D124227-wasm.patch b/debian/patches/libcxx-D124227-wasm.patch deleted file mode 100644 index 9b1b59e2..00000000 --- a/debian/patches/libcxx-D124227-wasm.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 67b0b02ec9f2bbc57bf8f0550828d97f460ac11f Mon Sep 17 00:00:00 2001 -From: Brad Smith -Date: Sat, 7 May 2022 01:06:32 -0400 -Subject: [PATCH] [libcxx] Remove static inline and make use of - _LIBCPP_HIDE_FROM_ABI in __support headers - -After feedback from D122861, do the same thing with some of the other headers. Try to move the -headers so they have a similar style and way of doing things. - -+ also applies: -https://reviews.llvm.org/D141208 - -Reviewed By: ldionne, daltenty - -Differential Revision: https://reviews.llvm.org/D124227 ---- - libcxx/include/__support/ibm/gettod_zos.h | 3 +- - libcxx/include/__support/ibm/xlocale.h | 53 +++++++++------------ - libcxx/include/__support/musl/xlocale.h | 31 ++++++------ - libcxx/include/__support/solaris/xlocale.h | 55 +++++++++++----------- - 4 files changed, 67 insertions(+), 75 deletions(-) - -Index: llvm-toolchain-15_15.0.6~++20230102020141+088f33605d8a/libcxx/include/__support/musl/xlocale.h -=================================================================== ---- llvm-toolchain-15_15.0.6~++20230102020141+088f33605d8a.orig/libcxx/include/__support/musl/xlocale.h -+++ llvm-toolchain-15_15.0.6~++20230102020141+088f33605d8a/libcxx/include/__support/musl/xlocale.h -@@ -39,7 +39,7 @@ wcstoll_l(const wchar_t *__nptr, wchar_t - return ::wcstoll(__nptr, __endptr, __base); - } - --inline _LIBCPP_HIDE_FROM_ABI long long -+inline _LIBCPP_HIDE_FROM_ABI unsigned long long - wcstoull_l(const wchar_t *__nptr, wchar_t **__endptr, int __base, locale_t) { - return ::wcstoull(__nptr, __endptr, __base); - } diff --git a/debian/patches/libcxx/libcxx-armhf-ftbfs.diff b/debian/patches/libcxx/libcxx-armhf-ftbfs.diff index 8d2e078e..612394c5 100644 --- a/debian/patches/libcxx/libcxx-armhf-ftbfs.diff +++ b/debian/patches/libcxx/libcxx-armhf-ftbfs.diff @@ -1,8 +1,8 @@ -Index: llvm-toolchain-snapshot_18~++20231122103518+575c9bf940e5/libcxx/include/__atomic/aliases.h +Index: llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e/libcxx/include/__atomic/aliases.h =================================================================== ---- llvm-toolchain-snapshot_18~++20231122103518+575c9bf940e5.orig/libcxx/include/__atomic/aliases.h -+++ llvm-toolchain-snapshot_18~++20231122103518+575c9bf940e5/libcxx/include/__atomic/aliases.h -@@ -96,6 +96,7 @@ using __largest_lock_free_type = char; +--- llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e.orig/libcxx/include/__atomic/aliases.h ++++ llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e/libcxx/include/__atomic/aliases.h +@@ -95,6 +95,7 @@ using __largest_lock_free_type = char; # endif # ifndef _LIBCPP_NO_LOCK_FREE_TYPES @@ -10,7 +10,7 @@ Index: llvm-toolchain-snapshot_18~++20231122103518+575c9bf940e5/libcxx/include/_ using __contention_t_or_largest = __conditional_t<__libcpp_is_always_lock_free<__cxx_contention_t>::__value, __cxx_contention_t, -@@ -105,6 +106,8 @@ using atomic_signed_lock_free = atomic +@@ -104,6 +105,8 @@ using atomic_signed_lock_free = atomic using atomic_unsigned_lock_free = atomic>; # endif // !_LIBCPP_NO_LOCK_FREE_TYPES #endif // C++20 diff --git a/debian/patches/libcxx/libcxx-libatomic-only-with-gcc-rtlib.diff b/debian/patches/libcxx/libcxx-libatomic-only-with-gcc-rtlib.diff index b750c4f0..191ac033 100644 --- a/debian/patches/libcxx/libcxx-libatomic-only-with-gcc-rtlib.diff +++ b/debian/patches/libcxx/libcxx-libatomic-only-with-gcc-rtlib.diff @@ -1,9 +1,9 @@ if libatomic is found only link it if libgcc is the rtlib -Index: llvm-toolchain-snapshot_18~++20231213094656+c02d07fdf007/libcxx/CMakeLists.txt +Index: llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e/libcxx/CMakeLists.txt =================================================================== ---- llvm-toolchain-snapshot_18~++20231213094656+c02d07fdf007.orig/libcxx/CMakeLists.txt -+++ llvm-toolchain-snapshot_18~++20231213094656+c02d07fdf007/libcxx/CMakeLists.txt -@@ -685,13 +685,16 @@ function(cxx_link_system_libraries targe +--- llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e.orig/libcxx/CMakeLists.txt ++++ llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e/libcxx/CMakeLists.txt +@@ -693,13 +693,16 @@ function(cxx_link_system_libraries targe endif() elseif (LIBCXX_HAS_GCC_LIB) target_link_libraries(${target} PRIVATE gcc) 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/libcxx/libcxx-silent-failure-arm64.diff b/debian/patches/libcxx/libcxx-silent-failure-arm64.diff index 8095c353..a6fdf347 100644 --- a/debian/patches/libcxx/libcxx-silent-failure-arm64.diff +++ b/debian/patches/libcxx/libcxx-silent-failure-arm64.diff @@ -1,22 +1,22 @@ -Index: llvm-toolchain-snapshot_18~++20231102103655+18839aec4ed1/libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_for.pass.cpp +Index: llvm-toolchain-snapshot_19~++20240523103209+70d1844abebb/libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_for.pass.cpp =================================================================== ---- llvm-toolchain-snapshot_18~++20231102103655+18839aec4ed1.orig/libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_for.pass.cpp -+++ llvm-toolchain-snapshot_18~++20231102103655+18839aec4ed1/libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_for.pass.cpp -@@ -8,6 +8,7 @@ - // - // UNSUPPORTED: no-threads - // ALLOW_RETRIES: 2 +--- llvm-toolchain-snapshot_19~++20240523103209+70d1844abebb.orig/libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_for.pass.cpp ++++ llvm-toolchain-snapshot_19~++20240523103209+70d1844abebb/libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_for.pass.cpp +@@ -7,6 +7,7 @@ + //===----------------------------------------------------------------------===// + + // UNSUPPORTED: no-threads, c++03 +// XFAIL: * // -Index: llvm-toolchain-snapshot_18~++20231102103655+18839aec4ed1/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.locking/lock.pass.cpp +Index: llvm-toolchain-snapshot_19~++20240523103209+70d1844abebb/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.locking/lock.pass.cpp =================================================================== ---- llvm-toolchain-snapshot_18~++20231102103655+18839aec4ed1.orig/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.locking/lock.pass.cpp -+++ llvm-toolchain-snapshot_18~++20231102103655+18839aec4ed1/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.locking/lock.pass.cpp -@@ -10,6 +10,8 @@ +--- llvm-toolchain-snapshot_19~++20240523103209+70d1844abebb.orig/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.locking/lock.pass.cpp ++++ llvm-toolchain-snapshot_19~++20240523103209+70d1844abebb/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.locking/lock.pass.cpp +@@ -9,6 +9,8 @@ + // UNSUPPORTED: no-threads // UNSUPPORTED: c++03, c++11 - // ALLOW_RETRIES: 2 +// XFAIL: * + diff --git a/debian/patches/libcxx/libcxx-test-fix-lockfree-test-for-i386.patch b/debian/patches/libcxx/libcxx-test-fix-lockfree-test-for-i386.patch index c7b97eeb..ff676973 100644 --- a/debian/patches/libcxx/libcxx-test-fix-lockfree-test-for-i386.patch +++ b/debian/patches/libcxx/libcxx-test-fix-lockfree-test-for-i386.patch @@ -10,16 +10,16 @@ To set instruction support one can check __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 defi Bug: https://llvm.org/bugs/show_bug.cgi?id=19355 -Index: llvm-toolchain-snapshot_17~++20230517015648+0b6264738f3d/libcxx/test/std/atomics/atomics.lockfree/isalwayslockfree.pass.cpp +Index: llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e/libcxx/test/std/atomics/atomics.lockfree/is_always_lock_free.pass.cpp =================================================================== ---- llvm-toolchain-snapshot_17~++20230517015648+0b6264738f3d.orig/libcxx/test/std/atomics/atomics.lockfree/isalwayslockfree.pass.cpp -+++ llvm-toolchain-snapshot_17~++20230517015648+0b6264738f3d/libcxx/test/std/atomics/atomics.lockfree/isalwayslockfree.pass.cpp -@@ -18,6 +18,14 @@ - +--- llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e.orig/libcxx/test/std/atomics/atomics.lockfree/is_always_lock_free.pass.cpp ++++ llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e/libcxx/test/std/atomics/atomics.lockfree/is_always_lock_free.pass.cpp +@@ -27,6 +27,14 @@ #include "test_macros.h" + #include "atomic_helpers.h" +#if defined(__i386__) && defined(__GCC_HAVE_SYNC_COMPARE_AND_SWAP_8) -+/* Fix for clang setting __GCC_ATOMIC_LLONG_LOCK_FREE incorecctly for x86 ++/* Fix for clang setting __GCC_ATOMIC_LLONG_LOCK_FREE incorrectly for x86 + * https://llvm.org/bugs/show_bug.cgi?id=19355 + */ +#undef ATOMIC_LLONG_LOCK_FREE @@ -27,5 +27,5 @@ Index: llvm-toolchain-snapshot_17~++20230517015648+0b6264738f3d/libcxx/test/std/ +#endif + template - void checkAlwaysLockFree() { - if (std::atomic::is_always_lock_free) { + void check_always_lock_free(std::atomic const& a) { + using InfoT = LockFreeStatusInfo; diff --git a/debian/patches/libcxx/libcxxabi-arm-ehabi-fix.patch b/debian/patches/libcxx/libcxxabi-arm-ehabi-fix.patch index fa5d859c..f2e30bab 100644 --- a/debian/patches/libcxx/libcxxabi-arm-ehabi-fix.patch +++ b/debian/patches/libcxx/libcxxabi-arm-ehabi-fix.patch @@ -7,11 +7,11 @@ sure their ABI stays in sync. No known upstream bug about this. -Index: llvm-toolchain-snapshot_16~++20220920091612+a7d2409bac7f/libcxxabi/src/cxa_exception.cpp +Index: llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e/libcxxabi/src/cxa_exception.cpp =================================================================== ---- llvm-toolchain-snapshot_16~++20220920091612+a7d2409bac7f.orig/libcxxabi/src/cxa_exception.cpp -+++ llvm-toolchain-snapshot_16~++20220920091612+a7d2409bac7f/libcxxabi/src/cxa_exception.cpp -@@ -275,15 +275,16 @@ __cxa_throw(void *thrown_object, std::ty +--- llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e.orig/libcxxabi/src/cxa_exception.cpp ++++ llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e/libcxxabi/src/cxa_exception.cpp +@@ -291,15 +291,16 @@ __cxa_throw(void *thrown_object, std::ty #ifdef __USING_SJLJ_EXCEPTIONS__ _Unwind_SjLj_RaiseException(&exception_header->unwindHeader); @@ -30,7 +30,7 @@ Index: llvm-toolchain-snapshot_16~++20220920091612+a7d2409bac7f/libcxxabi/src/cx // 2.5.3 Exception Handlers /* The adjusted pointer is computed by the personality routine during phase 1 -@@ -567,7 +568,11 @@ void __cxa_end_catch() { +@@ -583,7 +584,11 @@ void __cxa_end_catch() { // to touch a foreign exception in any way, that is undefined // behavior. They likely can't since the only way to catch // a foreign exception is with catch (...)! @@ -42,7 +42,7 @@ Index: llvm-toolchain-snapshot_16~++20220920091612+a7d2409bac7f/libcxxabi/src/cx globals->caughtExceptions = 0; } } -@@ -624,8 +629,10 @@ void __cxa_rethrow() { +@@ -645,8 +650,10 @@ void __cxa_rethrow() { } #ifdef __USING_SJLJ_EXCEPTIONS__ _Unwind_SjLj_RaiseException(&exception_header->unwindHeader); @@ -54,7 +54,7 @@ Index: llvm-toolchain-snapshot_16~++20220920091612+a7d2409bac7f/libcxxabi/src/cx #endif // If we get here, some kind of unwinding error has occurred. -@@ -749,8 +756,10 @@ __cxa_rethrow_primary_exception(void* th +@@ -770,8 +777,10 @@ __cxa_rethrow_primary_exception(void* th dep_exception_header->unwindHeader.exception_cleanup = dependent_exception_cleanup; #ifdef __USING_SJLJ_EXCEPTIONS__ _Unwind_SjLj_RaiseException(&dep_exception_header->unwindHeader); @@ -66,10 +66,10 @@ Index: llvm-toolchain-snapshot_16~++20220920091612+a7d2409bac7f/libcxxabi/src/cx #endif // Some sort of unwinding error. Note that terminate is a handler. __cxa_begin_catch(&dep_exception_header->unwindHeader); -Index: llvm-toolchain-snapshot_16~++20220920091612+a7d2409bac7f/libcxxabi/src/cxa_exception.h +Index: llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e/libcxxabi/src/cxa_exception.h =================================================================== ---- llvm-toolchain-snapshot_16~++20220920091612+a7d2409bac7f.orig/libcxxabi/src/cxa_exception.h -+++ llvm-toolchain-snapshot_16~++20220920091612+a7d2409bac7f/libcxxabi/src/cxa_exception.h +--- llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e.orig/libcxxabi/src/cxa_exception.h ++++ llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e/libcxxabi/src/cxa_exception.h @@ -27,6 +27,45 @@ _LIBCXXABI_HIDDEN uint64_t __getExceptio _LIBCXXABI_HIDDEN void __setExceptionClass ( _Unwind_Exception*, uint64_t); _LIBCXXABI_HIDDEN bool __isOurExceptionClass(const _Unwind_Exception*); diff --git a/debian/patches/libcxx/libcxxabi-fix-link-builtins.diff b/debian/patches/libcxx/libcxxabi-fix-link-builtins.diff index 9c4f834d..9cf70c68 100644 --- a/debian/patches/libcxx/libcxxabi-fix-link-builtins.diff +++ b/debian/patches/libcxx/libcxxabi-fix-link-builtins.diff @@ -1,10 +1,10 @@ if LIBCXXABI_USE_COMPILER_RT=ON, add builtins to libcxxabi library flags, otherwise add libgcc following how libunwind does the same -Index: llvm-toolchain-snapshot_17~++20230222041723+465ee9bfb26d/libcxxabi/src/CMakeLists.txt +Index: llvm-toolchain-snapshot_19~++20240220124703+f122268c0441/libcxxabi/src/CMakeLists.txt =================================================================== ---- llvm-toolchain-snapshot_17~++20230222041723+465ee9bfb26d.orig/libcxxabi/src/CMakeLists.txt -+++ llvm-toolchain-snapshot_17~++20230222041723+465ee9bfb26d/libcxxabi/src/CMakeLists.txt -@@ -77,7 +77,9 @@ else() +--- llvm-toolchain-snapshot_19~++20240220124703+f122268c0441.orig/libcxxabi/src/CMakeLists.txt ++++ llvm-toolchain-snapshot_19~++20240220124703+f122268c0441/libcxxabi/src/CMakeLists.txt +@@ -75,7 +75,9 @@ if (NOT APPLE) # On Apple platforms, we add_library_flags_if(LIBCXXABI_HAS_C_LIB c) endif() diff --git a/debian/patches/libcxx/libcxxabi-test-don-t-fail-extended-long-double.patch b/debian/patches/libcxx/libcxxabi-test-don-t-fail-extended-long-double.patch index 7712e3a8..4a046e16 100644 --- a/debian/patches/libcxx/libcxxabi-test-don-t-fail-extended-long-double.patch +++ b/debian/patches/libcxx/libcxxabi-test-don-t-fail-extended-long-double.patch @@ -2,14 +2,14 @@ Powerpc has extended double that doesn't match x86 coding. Power format would need special tests to verify correctness but for now it is enough to prevent incorrect test from running. -Index: llvm-toolchain-snapshot_17~++20230517015648+0b6264738f3d/libcxxabi/test/test_demangle.pass.cpp +Index: llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e/libcxxabi/test/test_demangle.pass.cpp =================================================================== ---- llvm-toolchain-snapshot_17~++20230517015648+0b6264738f3d.orig/libcxxabi/test/test_demangle.pass.cpp -+++ llvm-toolchain-snapshot_17~++20230517015648+0b6264738f3d/libcxxabi/test/test_demangle.pass.cpp -@@ -30163,7 +30163,7 @@ const char* invalid_cases[] = - "NSoERj5E=Y1[uM:ga", - "Aon_PmKVPDk7?fg4XP5smMUL6;Vl<>IL8ayHpiVDDDXTY;^o9;i", +--- llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e.orig/libcxxabi/test/test_demangle.pass.cpp ++++ llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e/libcxxabi/test/test_demangle.pass.cpp +@@ -30235,7 +30235,7 @@ const char* invalid_cases[] = "_ZNSt16allocator_traitsISaIN4llvm3sys2fs18directory_iteratorEEE9constructIS3_IS3_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS4_PT_DpOS7_", + "3FooILdaaaaaaaaaaAAAAaaEE", + "3FooILdaaaaaaaaaaaaaaEE", -#if !LDBL_FP80 +#if !LDBL_FP80 && __LDBL_MANT_DIG__ < 64 "_ZN5test01hIfEEvRAcvjplstT_Le4001a000000000000000E_c", diff --git a/debian/patches/lldb/lldb-addversion-suffix-to-llvm-server-exec.patch b/debian/patches/lldb/lldb-addversion-suffix-to-llvm-server-exec.patch index cd822211..e8914201 100644 --- a/debian/patches/lldb/lldb-addversion-suffix-to-llvm-server-exec.patch +++ b/debian/patches/lldb/lldb-addversion-suffix-to-llvm-server-exec.patch @@ -12,11 +12,11 @@ which could then break something else. This probably should have upstream bug but I couldn't find any existing report. -Index: llvm-toolchain-snapshot_17~++20230517015648+0b6264738f3d/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp +Index: llvm-toolchain-snapshot_19~++20240220124703+f122268c0441/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp =================================================================== ---- llvm-toolchain-snapshot_17~++20230517015648+0b6264738f3d.orig/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp -+++ llvm-toolchain-snapshot_17~++20230517015648+0b6264738f3d/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp -@@ -33,6 +33,7 @@ +--- llvm-toolchain-snapshot_19~++20240220124703+f122268c0441.orig/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp ++++ llvm-toolchain-snapshot_19~++20240220124703+f122268c0441/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp +@@ -32,6 +32,7 @@ #include "lldb/Utility/StreamString.h" #include "llvm/ADT/SmallString.h" #include "llvm/Support/ScopedPrinter.h" @@ -24,7 +24,7 @@ Index: llvm-toolchain-snapshot_17~++20230517015648+0b6264738f3d/lldb/source/Plug #include "ProcessGDBRemoteLog.h" -@@ -41,7 +42,7 @@ +@@ -40,7 +41,7 @@ #elif defined(_WIN32) #define DEBUGSERVER_BASENAME "lldb-server.exe" #else diff --git a/debian/patches/lldb/lldb-libname.diff b/debian/patches/lldb/lldb-libname.diff deleted file mode 100644 index e022bed3..00000000 --- a/debian/patches/lldb/lldb-libname.diff +++ /dev/null @@ -1,17 +0,0 @@ ---- - lldb/scripts/Python/finishSwigPythonLLDB.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -Index: llvm-toolchain-snapshot_16~svn3316516/lldb/scripts/Python/finishSwigPythonLLDB.py -=================================================================== ---- llvm-toolchain-snapshot_16~svn3316516.orig/lldb/scripts/Python/finishSwigPythonLLDB.py -+++ llvm-toolchain-snapshot_16~svn3316516/lldb/scripts/Python/finishSwigPythonLLDB.py -@@ -443,7 +443,7 @@ def make_symlink_liblldb( - if eOSType == utilsOsType.EnumOsType.Darwin: - strLibFileExtn = ".dylib" - else: -- strLibFileExtn = ".so" -+ strLibFileExtn = "-16.so" - strSrc = os.path.join(vstrLldbLibDir, "liblldb" + strLibFileExtn) - - bOk, strErrMsg = make_symlink( diff --git a/debian/patches/lldb/lldb-missing-install.diff b/debian/patches/lldb/lldb-missing-install.diff index 78f96947..029f2d1d 100644 --- a/debian/patches/lldb/lldb-missing-install.diff +++ b/debian/patches/lldb/lldb-missing-install.diff @@ -1,7 +1,7 @@ -Index: llvm-toolchain-snapshot_17~++20230517015648+0b6264738f3d/lldb/tools/argdumper/CMakeLists.txt +Index: llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e/lldb/tools/argdumper/CMakeLists.txt =================================================================== ---- llvm-toolchain-snapshot_17~++20230517015648+0b6264738f3d.orig/lldb/tools/argdumper/CMakeLists.txt -+++ llvm-toolchain-snapshot_17~++20230517015648+0b6264738f3d/lldb/tools/argdumper/CMakeLists.txt +--- llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e.orig/lldb/tools/argdumper/CMakeLists.txt ++++ llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e/lldb/tools/argdumper/CMakeLists.txt @@ -6,3 +6,6 @@ add_lldb_tool(lldb-argdumper ADD_TO_FRAM ) @@ -9,11 +9,11 @@ Index: llvm-toolchain-snapshot_17~++20230517015648+0b6264738f3d/lldb/tools/argdu + +install(TARGETS lldb-argdumper + RUNTIME DESTINATION bin) -Index: llvm-toolchain-snapshot_17~++20230517015648+0b6264738f3d/lldb/tools/lldb-server/CMakeLists.txt +Index: llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e/lldb/tools/lldb-server/CMakeLists.txt =================================================================== ---- llvm-toolchain-snapshot_17~++20230517015648+0b6264738f3d.orig/lldb/tools/lldb-server/CMakeLists.txt -+++ llvm-toolchain-snapshot_17~++20230517015648+0b6264738f3d/lldb/tools/lldb-server/CMakeLists.txt -@@ -68,3 +68,7 @@ add_dependencies(lldb-server +--- llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e.orig/lldb/tools/lldb-server/CMakeLists.txt ++++ llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e/lldb/tools/lldb-server/CMakeLists.txt +@@ -67,3 +67,7 @@ add_dependencies(lldb-server ) target_include_directories(lldb-server PRIVATE "${LLDB_SOURCE_DIR}/source") target_link_libraries(lldb-server PRIVATE ${LLDB_SYSTEM_LIBS}) diff --git a/debian/patches/lldb/lldb-soname.diff b/debian/patches/lldb/lldb-soname.diff index 3989a52c..8a8cefa1 100644 --- a/debian/patches/lldb/lldb-soname.diff +++ b/debian/patches/lldb/lldb-soname.diff @@ -2,13 +2,13 @@ lldb/source/API/CMakeLists.txt | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) -Index: llvm-toolchain-snapshot_17~++20230523093327+96a003b9bf79/lldb/source/API/CMakeLists.txt +Index: llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e/lldb/source/API/CMakeLists.txt =================================================================== ---- llvm-toolchain-snapshot_17~++20230523093327+96a003b9bf79.orig/lldb/source/API/CMakeLists.txt -+++ llvm-toolchain-snapshot_17~++20230523093327+96a003b9bf79/lldb/source/API/CMakeLists.txt -@@ -20,7 +20,12 @@ if(LLDB_ENABLE_LUA) - set(lldb_lua_wrapper ${lua_bindings_dir}/LLDBWrapLua.cpp) - endif() +--- llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e.orig/lldb/source/API/CMakeLists.txt ++++ llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e/lldb/source/API/CMakeLists.txt +@@ -40,7 +40,12 @@ add_custom_target(lldb-sbapi-dwarf-enums + DEPENDS ${sb_languages_file}) + set_target_properties(lldb-sbapi-dwarf-enums PROPERTIES FOLDER "LLDB/Tablegenning") -add_lldb_library(liblldb SHARED ${option_framework} +set(output_name lldb) @@ -18,9 +18,9 @@ Index: llvm-toolchain-snapshot_17~++20230523093327+96a003b9bf79/lldb/source/API/ + +add_lldb_library(liblldb SHARED OUTPUT_NAME ${output_name} SONAME SBAddress.cpp - SBAttachInfo.cpp - SBBlock.cpp -@@ -164,7 +169,7 @@ endif() + SBAddressRange.cpp + SBAddressRangeList.cpp +@@ -195,7 +200,7 @@ endif() set_target_properties(liblldb PROPERTIES @@ -29,8 +29,8 @@ Index: llvm-toolchain-snapshot_17~++20230523093327+96a003b9bf79/lldb/source/API/ ) target_compile_definitions(liblldb PRIVATE LLDB_IN_LIBLLDB) -@@ -184,12 +189,12 @@ if (NOT CMAKE_SYSTEM_NAME MATCHES "Windo - set_target_properties(liblldb_exports PROPERTIES FOLDER "lldb misc") +@@ -259,12 +264,12 @@ elseif (LLDB_EXPORT_ALL_SYMBOLS) + add_llvm_symbol_exports(liblldb ${exported_symbol_file}) endif() -if (NOT MSVC) diff --git a/debian/patches/lldb/print-lldb-path.patch b/debian/patches/lldb/print-lldb-path.patch index f325acd4..70019803 100644 --- a/debian/patches/lldb/print-lldb-path.patch +++ b/debian/patches/lldb/print-lldb-path.patch @@ -1,10 +1,10 @@ Author: Gianfranco Costamagna Last-Update: 2023-01-19 -Index: llvm-toolchain-snapshot_18~++20230912011735+4793c2c3de79/lldb/bindings/python/get-python-config.py +Index: llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e/lldb/bindings/python/get-python-config.py =================================================================== ---- llvm-toolchain-snapshot_18~++20230912011735+4793c2c3de79.orig/lldb/bindings/python/get-python-config.py -+++ llvm-toolchain-snapshot_18~++20230912011735+4793c2c3de79/lldb/bindings/python/get-python-config.py +--- llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e.orig/lldb/bindings/python/get-python-config.py ++++ llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e/lldb/bindings/python/get-python-config.py @@ -16,6 +16,7 @@ def relpath_nodots(path, base): @@ -34,11 +34,11 @@ Index: llvm-toolchain-snapshot_18~++20230912011735+4793c2c3de79/lldb/bindings/py except ValueError: # Try to fall back to something reasonable if sysconfig's platlib # is outside of sys.prefix -Index: llvm-toolchain-snapshot_18~++20230912011735+4793c2c3de79/lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp +Index: llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e/lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp =================================================================== ---- llvm-toolchain-snapshot_18~++20230912011735+4793c2c3de79.orig/lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp -+++ llvm-toolchain-snapshot_18~++20230912011735+4793c2c3de79/lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp -@@ -240,6 +240,7 @@ void ScriptInterpreterPython::ComputePyt +--- llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e.orig/lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp ++++ llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e/lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp +@@ -261,6 +261,7 @@ void ScriptInterpreterPython::ComputePyt // the real python interpreter uses. (e.g. lib for most, lib64 on RHEL // x86_64, or bin on Windows). llvm::sys::path::remove_filename(path); diff --git a/debian/patches/llvm-fix-lld-linker-check.diff b/debian/patches/llvm-fix-lld-linker-check.diff index c96e02a6..91a24bf2 100644 --- a/debian/patches/llvm-fix-lld-linker-check.diff +++ b/debian/patches/llvm-fix-lld-linker-check.diff @@ -1,10 +1,10 @@ remove regex anchor in lld linker detection to account for vendor, if specified, being prepended to lld version string -Index: llvm-toolchain-snapshot_17~++20230523093327+96a003b9bf79/llvm/cmake/modules/AddLLVM.cmake +Index: llvm-toolchain-snapshot_19~++20240711013116+0ff13f72c974/llvm/cmake/modules/AddLLVM.cmake =================================================================== ---- llvm-toolchain-snapshot_17~++20230523093327+96a003b9bf79.orig/llvm/cmake/modules/AddLLVM.cmake -+++ llvm-toolchain-snapshot_17~++20230523093327+96a003b9bf79/llvm/cmake/modules/AddLLVM.cmake -@@ -233,7 +233,7 @@ if (NOT DEFINED LLVM_LINKER_DETECTED AND +--- llvm-toolchain-snapshot_19~++20240711013116+0ff13f72c974.orig/llvm/cmake/modules/AddLLVM.cmake ++++ llvm-toolchain-snapshot_19~++20240711013116+0ff13f72c974/llvm/cmake/modules/AddLLVM.cmake +@@ -249,7 +249,7 @@ if (NOT DEFINED LLVM_LINKER_DETECTED AND set(LLVM_LINKER_DETECTED YES CACHE INTERNAL "") set(LLVM_LINKER_IS_GOLD YES CACHE INTERNAL "") message(STATUS "Linker detection: GNU Gold") diff --git a/debian/patches/llvm-runtimes-builtins-build-check.diff b/debian/patches/llvm-runtimes-builtins-build-check.diff index eec769df..cc84b038 100644 --- a/debian/patches/llvm-runtimes-builtins-build-check.diff +++ b/debian/patches/llvm-runtimes-builtins-build-check.diff @@ -1,10 +1,10 @@ add a check and only set up and build compiler-rt builtins if they have not been disabled -Index: llvm-toolchain-snapshot_17~++20230517015648+0b6264738f3d/llvm/runtimes/CMakeLists.txt +Index: llvm-toolchain-snapshot_19~++20240714063407+a72eed7a238b/llvm/runtimes/CMakeLists.txt =================================================================== ---- llvm-toolchain-snapshot_17~++20230517015648+0b6264738f3d.orig/llvm/runtimes/CMakeLists.txt -+++ llvm-toolchain-snapshot_17~++20230517015648+0b6264738f3d/llvm/runtimes/CMakeLists.txt -@@ -129,7 +129,12 @@ endfunction() +--- llvm-toolchain-snapshot_19~++20240714063407+a72eed7a238b.orig/llvm/runtimes/CMakeLists.txt ++++ llvm-toolchain-snapshot_19~++20240714063407+a72eed7a238b/llvm/runtimes/CMakeLists.txt +@@ -142,10 +142,15 @@ endfunction() # is required because the other runtimes need the builtin libraries present # before the just-built compiler can pass the configuration tests. get_compiler_rt_path(compiler_rt_path) @@ -15,6 +15,10 @@ Index: llvm-toolchain-snapshot_17~++20230517015648+0b6264738f3d/llvm/runtimes/CM + set(RUNTIMES_BUILD_BUILTINS ${COMPILER_RT_BUILD_BUILTINS}) +endif() +if(compiler_rt_path AND RUNTIMES_BUILD_BUILTINS) - if(NOT LLVM_BUILTIN_TARGETS) - builtin_default_target(${compiler_rt_path} - DEPENDS clang-resource-headers) + # If the user did not specify the targets infer them from the runtimes. + set(builtin_targets ${LLVM_BUILTIN_TARGETS}) +- if(NOT builtin_targets) ++ if(NOT LLVM_BUILTIN_TARGETS) + if("compiler-rt" IN_LIST LLVM_ENABLE_RUNTIMES) + list(APPEND builtin_targets "default") + endif() diff --git a/debian/patches/llvm-toolchain-17-sve-types-aux-target.diff b/debian/patches/llvm-toolchain-17-sve-types-aux-target.diff deleted file mode 100644 index 64445558..00000000 --- a/debian/patches/llvm-toolchain-17-sve-types-aux-target.diff +++ /dev/null @@ -1,50 +0,0 @@ -From: Emanuele Rocca -Date: Fri, 19 Jul 2024 09:25:38 +0200 -Subject: [PATCH] [Clang] make SVE types known to device targets too (#99446) - -For the purpose of preprocessing and declarations in header files, -ensure clang accepts SVE types for both device and host targets. - -Co-authored-by: Sander De Smalen ---- - clang/lib/AST/ASTContext.cpp | 3 ++- - clang/lib/Sema/Sema.cpp | 4 +++- - clang/test/PCH/aarch64-sve-types.c | 2 ++ - 3 files changed, 7 insertions(+), 2 deletions(-) - ---- a/clang/lib/AST/ASTContext.cpp -+++ b/clang/lib/AST/ASTContext.cpp -@@ -1353,7 +1353,8 @@ - #include "clang/Basic/OpenCLExtensionTypes.def" - } - -- if (Target.hasAArch64SVETypes()) { -+ if (Target.hasAArch64SVETypes() || -+ (AuxTarget && AuxTarget->hasAArch64SVETypes())) { - #define SVE_TYPE(Name, Id, SingletonId) \ - InitBuiltinType(SingletonId, BuiltinType::Id); - #include "clang/Basic/AArch64SVEACLETypes.def" ---- a/clang/lib/Sema/Sema.cpp -+++ b/clang/lib/Sema/Sema.cpp -@@ -424,7 +424,9 @@ - #include "clang/Basic/OpenCLExtensionTypes.def" - } - -- if (Context.getTargetInfo().hasAArch64SVETypes()) { -+ if (Context.getTargetInfo().hasAArch64SVETypes() || -+ (Context.getAuxTargetInfo() && -+ Context.getAuxTargetInfo()->hasAArch64SVETypes())) { - #define SVE_TYPE(Name, Id, SingletonId) \ - addImplicitTypedef(Name, Context.SingletonId); - #include "clang/Basic/AArch64SVEACLETypes.def" ---- a/clang/test/PCH/aarch64-sve-types.c -+++ b/clang/test/PCH/aarch64-sve-types.c -@@ -1,6 +1,8 @@ - // RUN: %clang_cc1 -triple aarch64-linux-gnu -emit-pch -o %t %s - // RUN: %clang_cc1 -triple aarch64-linux-gnu -include-pch %t \ - // RUN: -fsyntax-only -verify %s -+// RUN: %clang_cc1 -triple amdgcn-amd-amdhsa -aux-triple aarch64-linux-gnu \ -+// RUN: -x hip-cpp-output -emit-pch -o %t %s - - // expected-no-diagnostics - diff --git a/debian/patches/lower-python-dep.diff b/debian/patches/lower-python-dep.diff index 1116fa9b..0e20b0f1 100644 --- a/debian/patches/lower-python-dep.diff +++ b/debian/patches/lower-python-dep.diff @@ -1,14 +1,12 @@ -Index: llvm-toolchain-snapshot_17~++20230523093327+96a003b9bf79/llvm/CMakeLists.txt +Index: llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e/llvm/CMakeLists.txt =================================================================== ---- llvm-toolchain-snapshot_17~++20230523093327+96a003b9bf79.orig/llvm/CMakeLists.txt -+++ llvm-toolchain-snapshot_17~++20230523093327+96a003b9bf79/llvm/CMakeLists.txt -@@ -843,8 +843,8 @@ set(LLVM_PROFDATA_FILE "" CACHE FILEPATH - "Profiling data file to use when compiling in order to improve runtime performance.") +--- llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e.orig/llvm/CMakeLists.txt ++++ llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e/llvm/CMakeLists.txt +@@ -932,7 +932,7 @@ set(LLVM_PROFDATA_FILE "" CACHE FILEPATH if(LLVM_INCLUDE_TESTS) -- # Lit test suite requires at least python 3.6 -- set(LLVM_MINIMUM_PYTHON_VERSION 3.6) -+ # Lit test suite requires at least python 3.5 + # All LLVM Python files should be compatible down to this minimum version. +- set(LLVM_MINIMUM_PYTHON_VERSION 3.8) + set(LLVM_MINIMUM_PYTHON_VERSION 3.5) else() # FIXME: it is unknown if this is the actual minimum bound diff --git a/debian/patches/mips-mlir-xgot.diff b/debian/patches/mips-mlir-xgot.diff new file mode 100644 index 00000000..a7c293df --- /dev/null +++ b/debian/patches/mips-mlir-xgot.diff @@ -0,0 +1,15 @@ +Index: llvm-toolchain-19-19.1.0~++rc4/mlir/CMakeLists.txt +=================================================================== +--- llvm-toolchain-19-19.1.0~++rc4.orig/mlir/CMakeLists.txt ++++ llvm-toolchain-19-19.1.0~++rc4/mlir/CMakeLists.txt +@@ -93,6 +93,10 @@ if(CMAKE_CXX_COMPILER_ID MATCHES "GNU" A + append_if(CXX_SUPPORTS_WNO_UNUSED_BUT_SET_PARAMETER "-Wno-unused-but-set-parameter" CMAKE_CXX_FLAGS) + endif() + ++check_symbol_exists(__mips "" __MIPS) ++append_if(__MIPS "-mxgot" CMAKE_C_FLAGS) ++append_if(__MIPS "-mxgot" CMAKE_CXX_FLAGS) ++ + # Installing the headers and docs needs to depend on generating any public + # tablegen'd targets. + # mlir-generic-headers are dialect-independent. diff --git a/debian/patches/mips/mips-D101773-reloc.patch b/debian/patches/mips/mips-D101773-reloc.patch index ae99d678..6403e632 100644 --- a/debian/patches/mips/mips-D101773-reloc.patch +++ b/debian/patches/mips/mips-D101773-reloc.patch @@ -24,11 +24,11 @@ Differential Revision: https://reviews.llvm.org/D101773 2 files changed, 33 insertions(+) create mode 100644 llvm/test/MC/Mips/mips_lo16.s -Index: llvm-toolchain-snapshot_17~++20230517015648+0b6264738f3d/llvm/lib/MC/ELFObjectWriter.cpp +Index: llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e/llvm/lib/MC/ELFObjectWriter.cpp =================================================================== ---- llvm-toolchain-snapshot_17~++20230517015648+0b6264738f3d.orig/llvm/lib/MC/ELFObjectWriter.cpp -+++ llvm-toolchain-snapshot_17~++20230517015648+0b6264738f3d/llvm/lib/MC/ELFObjectWriter.cpp -@@ -1401,6 +1401,17 @@ bool ELFObjectWriter::shouldRelocateWith +--- llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e.orig/llvm/lib/MC/ELFObjectWriter.cpp ++++ llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e/llvm/lib/MC/ELFObjectWriter.cpp +@@ -1293,6 +1293,17 @@ bool ELFObjectWriter::shouldRelocateWith if (TargetObjectWriter->getEMachine() == ELF::EM_MIPS && !hasRelocationAddend()) return true; diff --git a/debian/patches/mips/mips-assert-size.diff b/debian/patches/mips/mips-assert-size.diff deleted file mode 100644 index 1d21e29b..00000000 --- a/debian/patches/mips/mips-assert-size.diff +++ /dev/null @@ -1,19 +0,0 @@ -Index: llvm-toolchain-15_15.0.3~++20221019061539+4a2c05b05ed0/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_linux.cpp -=================================================================== ---- llvm-toolchain-15_15.0.3~++20221019061539+4a2c05b05ed0.orig/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_linux.cpp -+++ llvm-toolchain-15_15.0.3~++20221019061539+4a2c05b05ed0/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_linux.cpp -@@ -64,9 +64,12 @@ using namespace __sanitizer; - COMPILER_CHECK(struct___old_kernel_stat_sz == sizeof(struct __old_kernel_stat)); - #endif - --COMPILER_CHECK(struct_kernel_stat_sz == sizeof(struct stat)); -+# if defined(__LP64__) || \ -+ (!defined(_LARGEFILE_SOURCE) && _FILE_OFFSET_BITS != 64) -+ COMPILER_CHECK(struct_kernel_stat_sz == sizeof(struct stat)); -+# endif - --#if defined(__i386__) -+# if defined(__i386__) - COMPILER_CHECK(struct_kernel_stat64_sz == sizeof(struct stat64)); - #endif - diff --git a/debian/patches/mips/mips-force-nomadd4.patch b/debian/patches/mips/mips-force-nomadd4.patch index 208b226e..6ff12dee 100644 --- a/debian/patches/mips/mips-force-nomadd4.patch +++ b/debian/patches/mips/mips-force-nomadd4.patch @@ -6,16 +6,18 @@ support both, we have to disabled those instructions. For that, the patch below basically corresponds to the --with-madd4=no used on the GCC side. -Index: llvm-toolchain-snapshot_17~++20230517015648+0b6264738f3d/clang/lib/Basic/Targets/Mips.h +Index: llvm-toolchain-snapshot_19~++20240521052636+4ae896fe979b/clang/lib/Basic/Targets/Mips.h =================================================================== ---- llvm-toolchain-snapshot_17~++20230517015648+0b6264738f3d.orig/clang/lib/Basic/Targets/Mips.h -+++ llvm-toolchain-snapshot_17~++20230517015648+0b6264738f3d/clang/lib/Basic/Targets/Mips.h -@@ -331,6 +331,8 @@ public: +--- llvm-toolchain-snapshot_19~++20240521052636+4ae896fe979b.orig/clang/lib/Basic/Targets/Mips.h ++++ llvm-toolchain-snapshot_19~++20240521052636+4ae896fe979b/clang/lib/Basic/Targets/Mips.h +@@ -349,7 +349,9 @@ public: HasMSA = true; else if (Feature == "+nomadd4") DisableMadd4 = true; +- else if (Feature == "+fp64") { + else if (Feature == "-nomadd4") + DisableMadd4 = false; - else if (Feature == "+fp64") ++ else if (Feature == "+fp64") { FPMode = FP64; - else if (Feature == "-fp64") + FpGiven = true; + } else if (Feature == "-fp64") { diff --git a/debian/patches/mips/mips-fpxx-enable.diff b/debian/patches/mips/mips-fpxx-enable.diff index 86c6b1d0..d6bef44e 100644 --- a/debian/patches/mips/mips-fpxx-enable.diff +++ b/debian/patches/mips/mips-fpxx-enable.diff @@ -1,14 +1,14 @@ -Index: llvm-toolchain-snapshot_17~++20230517015648+0b6264738f3d/llvm/lib/Target/Mips/MipsSubtarget.cpp +Index: llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e/llvm/lib/Target/Mips/MipsSubtarget.cpp =================================================================== ---- llvm-toolchain-snapshot_17~++20230517015648+0b6264738f3d.orig/llvm/lib/Target/Mips/MipsSubtarget.cpp -+++ llvm-toolchain-snapshot_17~++20230517015648+0b6264738f3d/llvm/lib/Target/Mips/MipsSubtarget.cpp +--- llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e.orig/llvm/lib/Target/Mips/MipsSubtarget.cpp ++++ llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e/llvm/lib/Target/Mips/MipsSubtarget.cpp @@ -81,7 +81,7 @@ MipsSubtarget::MipsSubtarget(const Tripl InMips16HardFloat(Mips16HardFloat), InMicroMipsMode(false), HasDSP(false), HasDSPR2(false), HasDSPR3(false), AllowMixed16_32(Mixed16_32 || Mips_Os16), Os16(Mips_Os16), HasMSA(false), UseTCCInDIV(false), HasSym32(false), - HasEVA(false), DisableMadd4(false), HasMT(false), HasCRC(false), + HasEVA(false), DisableMadd4(true), HasMT(false), HasCRC(false), - HasVirt(false), HasGINV(false), UseIndirectJumpsHazard(false), + HasVirt(false), HasGINV(false), UseIndirectJumpsHazard(false), StrictAlign(false), StackAlignOverride(StackAlignOverride), TM(TM), TargetTriple(TT), TSInfo(), InstrInfo(MipsInstrInfo::create( @@ -92,6 +92,9 @@ MipsSubtarget::MipsSubtarget(const Tripl @@ -21,7 +21,7 @@ Index: llvm-toolchain-snapshot_17~++20230517015648+0b6264738f3d/llvm/lib/Target/ // MIPS-I has not been tested. if (MipsArchVersion == Mips1 && !MIPS1WarningPrinted) { errs() << "warning: MIPS-I support is experimental\n"; -@@ -242,6 +245,7 @@ MipsSubtarget & +@@ -241,6 +244,7 @@ MipsSubtarget & MipsSubtarget::initializeSubtargetDependencies(StringRef CPU, StringRef FS, const TargetMachine &TM) { StringRef CPUName = MIPS_MC::selectMipsCPU(TM.getTargetTriple(), CPU); @@ -29,7 +29,7 @@ Index: llvm-toolchain-snapshot_17~++20230517015648+0b6264738f3d/llvm/lib/Target/ // Parse features string. ParseSubtargetFeatures(CPUName, /*TuneCPU*/ CPUName, FS); -@@ -264,6 +268,13 @@ MipsSubtarget::initializeSubtargetDepend +@@ -263,6 +267,13 @@ MipsSubtarget::initializeSubtargetDepend report_fatal_error("64-bit code requested on a subtarget that doesn't " "support it!"); diff --git a/debian/patches/offload-disable-static-assert.diff b/debian/patches/offload-disable-static-assert.diff new file mode 100644 index 00000000..22c2f958 --- /dev/null +++ b/debian/patches/offload-disable-static-assert.diff @@ -0,0 +1,17 @@ +Index: llvm-toolchain-snapshot_19~++20240614043023+43e6f46936e1/offload/include/Shared/APITypes.h +=================================================================== +--- llvm-toolchain-snapshot_19~++20240614043023+43e6f46936e1.orig/offload/include/Shared/APITypes.h ++++ llvm-toolchain-snapshot_19~++20240614043023+43e6f46936e1/offload/include/Shared/APITypes.h +@@ -112,10 +112,10 @@ struct KernelArgsTy { + }; + static_assert(sizeof(KernelArgsTy().Flags) == sizeof(uint64_t), + "Invalid struct size"); +-static_assert(sizeof(KernelArgsTy) == ++/*static_assert(sizeof(KernelArgsTy) == + (8 * sizeof(int32_t) + 3 * sizeof(int64_t) + + 4 * sizeof(void **) + 2 * sizeof(int64_t *)), +- "Invalid struct size"); ++ "Invalid struct size");*/ + + /// Flat array of kernel launch parameters and their total size. + struct KernelLaunchParamsTy { diff --git a/debian/patches/omp-riscv64.patch b/debian/patches/omp-riscv64.patch index 760aedfd..bbdf8668 100644 --- a/debian/patches/omp-riscv64.patch +++ b/debian/patches/omp-riscv64.patch @@ -1,11 +1,11 @@ Description: Define the affinity for riscv64 Last-Update: 2021-08-27 -Index: llvm-toolchain-snapshot_17~++20230517015648+0b6264738f3d/openmp/runtime/src/kmp_affinity.h +Index: llvm-toolchain-snapshot_19~++20240424094944+78ebaa2d798f/openmp/runtime/src/kmp_affinity.h =================================================================== ---- llvm-toolchain-snapshot_17~++20230517015648+0b6264738f3d.orig/openmp/runtime/src/kmp_affinity.h -+++ llvm-toolchain-snapshot_17~++20230517015648+0b6264738f3d/openmp/runtime/src/kmp_affinity.h -@@ -212,6 +212,17 @@ public: +--- llvm-toolchain-snapshot_19~++20240424094944+78ebaa2d798f.orig/openmp/runtime/src/kmp_affinity.h ++++ llvm-toolchain-snapshot_19~++20240424094944+78ebaa2d798f/openmp/runtime/src/kmp_affinity.h +@@ -221,6 +221,17 @@ public: #elif __NR_sched_getaffinity != 123 #error Wrong code for getaffinity system call. #endif /* __NR_sched_getaffinity */ diff --git a/debian/patches/on-the-fly/use-scan-build-runtimes.diff b/debian/patches/on-the-fly/use-scan-build-runtimes.diff deleted file mode 100644 index de54eab5..00000000 --- a/debian/patches/on-the-fly/use-scan-build-runtimes.diff +++ /dev/null @@ -1,17 +0,0 @@ -Index: llvm-toolchain-snapshot_14~++20220105111900+cdbad62c526c/clang/CMakeLists.txt -=================================================================== ---- llvm-toolchain-snapshot_14~++20220105111900+cdbad62c526c.orig/clang/CMakeLists.txt -+++ llvm-toolchain-snapshot_14~++20220105111900+cdbad62c526c/clang/CMakeLists.txt -@@ -726,9 +726,9 @@ if (CLANG_ENABLE_BOOTSTRAP) - endif() - - set(COMPILER_OPTIONS -- -DCMAKE_CXX_COMPILER=${LLVM_RUNTIME_OUTPUT_INTDIR}/${CXX_COMPILER} -- -DCMAKE_C_COMPILER=${LLVM_RUNTIME_OUTPUT_INTDIR}/${C_COMPILER} -- -DCMAKE_ASM_COMPILER=${LLVM_RUNTIME_OUTPUT_INTDIR}/${C_COMPILER} -+ -DCMAKE_CXX_COMPILER=/usr/share/clang/scan-build-${CLANG_VERSION_MAJOR}/libexec/c++-analyzer -+ -DCMAKE_C_COMPILER=/usr/share/clang/scan-build-${CLANG_VERSION_MAJOR}/libexec/ccc-analyzer -+ -DCMAKE_ASM_COMPILER=/usr/share/clang/scan-build-${CLANG_VERSION_MAJOR}/libexec/ccc-analyzer - -DCMAKE_ASM_COMPILER_ID=Clang) - - # cmake requires CMAKE_LINKER to be specified if the compiler is MSVC-like, diff --git a/debian/patches/openmp-fix-runtimes-build.diff b/debian/patches/openmp-fix-runtimes-build.diff index 1c44298e..f803169c 100644 --- a/debian/patches/openmp-fix-runtimes-build.diff +++ b/debian/patches/openmp-fix-runtimes-build.diff @@ -1,12 +1,11 @@ include required runtimes as dependencies to openmp targets to make sure they are built first when included as part of a runtimes build since openmp can depend on them -<<<<<<< Updated upstream -Index: llvm-toolchain-snapshot_18~++20240109113757+a7262d2d9bee/llvm/runtimes/CMakeLists.txt +Index: llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e/llvm/runtimes/CMakeLists.txt =================================================================== ---- llvm-toolchain-snapshot_18~++20240109113757+a7262d2d9bee.orig/llvm/runtimes/CMakeLists.txt -+++ llvm-toolchain-snapshot_18~++20240109113757+a7262d2d9bee/llvm/runtimes/CMakeLists.txt -@@ -247,6 +247,7 @@ function(runtime_default_target) +--- llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e.orig/llvm/runtimes/CMakeLists.txt ++++ llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e/llvm/runtimes/CMakeLists.txt +@@ -261,6 +261,7 @@ function(runtime_default_target) -DLLVM_ENABLE_PROJECTS_USED=${LLVM_ENABLE_PROJECTS_USED} -DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=${LLVM_ENABLE_PER_TARGET_RUNTIME_DIR} -DLLVM_BUILD_TOOLS=${LLVM_BUILD_TOOLS} @@ -14,7 +13,7 @@ Index: llvm-toolchain-snapshot_18~++20240109113757+a7262d2d9bee/llvm/runtimes/CM -DCMAKE_C_COMPILER_WORKS=ON -DCMAKE_CXX_COMPILER_WORKS=ON -DCMAKE_ASM_COMPILER_WORKS=ON -@@ -513,7 +514,7 @@ if(runtimes) +@@ -637,7 +638,7 @@ if(build_runtimes) # build directory cannot find the C++ headers in certain configurations. # I need to build a mechanism for runtime projects to provide CMake code # that executes at LLVM configuration time to handle this case. @@ -23,11 +22,11 @@ Index: llvm-toolchain-snapshot_18~++20240109113757+a7262d2d9bee/llvm/runtimes/CM # We need to add the runtimes as a dependency because compiler-rt can be # built as part of runtimes and we need the profile runtime for PGO add_dependencies(clang-bootstrap-deps runtimes) -Index: llvm-toolchain-snapshot_18~++20240109113757+a7262d2d9bee/openmp/CMakeLists.txt +Index: llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e/openmp/CMakeLists.txt =================================================================== ---- llvm-toolchain-snapshot_18~++20240109113757+a7262d2d9bee.orig/openmp/CMakeLists.txt -+++ llvm-toolchain-snapshot_18~++20240109113757+a7262d2d9bee/openmp/CMakeLists.txt -@@ -111,6 +111,28 @@ else() +--- llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e.orig/openmp/CMakeLists.txt ++++ llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e/openmp/CMakeLists.txt +@@ -122,6 +122,28 @@ else() get_clang_resource_dir(LIBOMP_HEADERS_INSTALL_PATH SUBDIR include) endif() @@ -56,52 +55,35 @@ Index: llvm-toolchain-snapshot_18~++20240109113757+a7262d2d9bee/openmp/CMakeList # Build host runtime library, after LIBOMPTARGET variables are set since they are needed # to enable time profiling support in the OpenMP runtime. add_subdirectory(runtime) -Index: llvm-toolchain-snapshot_18~++20240109113757+a7262d2d9bee/openmp/libomptarget/plugins-nextgen/CMakeLists.txt +Index: llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e/offload/plugins-nextgen/cuda/CMakeLists.txt =================================================================== ---- llvm-toolchain-snapshot_18~++20240109113757+a7262d2d9bee.orig/openmp/libomptarget/plugins-nextgen/CMakeLists.txt -+++ llvm-toolchain-snapshot_18~++20240109113757+a7262d2d9bee/openmp/libomptarget/plugins-nextgen/CMakeLists.txt -@@ -71,6 +71,8 @@ if(CMAKE_SYSTEM_PROCESSOR MATCHES "${tma - "-Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR}/../exports") - endif() - -+ add_runtimes_build_depends_if_needed("omptarget.rtl.${tmachine_libname}") -+ - # Install plugin under the lib destination folder. - install(TARGETS "omptarget.rtl.${tmachine_libname}" - LIBRARY DESTINATION "${OPENMP_INSTALL_LIBDIR}") -Index: llvm-toolchain-snapshot_18~++20240109113757+a7262d2d9bee/openmp/libomptarget/plugins-nextgen/cuda/CMakeLists.txt -=================================================================== ---- llvm-toolchain-snapshot_18~++20240109113757+a7262d2d9bee.orig/openmp/libomptarget/plugins-nextgen/cuda/CMakeLists.txt -+++ llvm-toolchain-snapshot_18~++20240109113757+a7262d2d9bee/openmp/libomptarget/plugins-nextgen/cuda/CMakeLists.txt -@@ -80,6 +80,8 @@ else() +--- llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e.orig/offload/plugins-nextgen/cuda/CMakeLists.txt ++++ llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e/offload/plugins-nextgen/cuda/CMakeLists.txt +@@ -26,3 +26,5 @@ else() + message(STATUS "Not generating NVIDIA tests, no supported devices detected." " Use 'LIBOMPTARGET_FORCE_NVIDIA_TESTS' to override.") endif() - -+add_runtimes_build_depends_if_needed(omptarget.rtl.cuda) + - # Install plugin under the lib destination folder. - install(TARGETS omptarget.rtl.cuda LIBRARY DESTINATION "${OPENMP_INSTALL_LIBDIR}") - set_target_properties(omptarget.rtl.cuda PROPERTIES -Index: llvm-toolchain-snapshot_18~++20240109113757+a7262d2d9bee/openmp/libomptarget/src/CMakeLists.txt ++add_runtimes_build_depends_if_needed(omptarget.rtl.cuda) +Index: llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e/offload/src/CMakeLists.txt =================================================================== ---- llvm-toolchain-snapshot_18~++20240109113757+a7262d2d9bee.orig/openmp/libomptarget/src/CMakeLists.txt -+++ llvm-toolchain-snapshot_18~++20240109113757+a7262d2d9bee/openmp/libomptarget/src/CMakeLists.txt -@@ -41,7 +41,9 @@ add_llvm_library(omptarget - omp - +--- llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e.orig/offload/src/CMakeLists.txt ++++ llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e/offload/src/CMakeLists.txt +@@ -38,6 +38,9 @@ add_llvm_library(omptarget NO_INSTALL_RPATH --) -+ ) + BUILDTREE_ONLY + ) ++ +add_runtimes_build_depends_if_needed(omptarget) + - target_include_directories(omptarget PRIVATE ${LIBOMPTARGET_INCLUDE_DIR}) - - if (LIBOMP_HAVE_VERSION_SCRIPT_FLAG) -Index: llvm-toolchain-snapshot_18~++20240109113757+a7262d2d9bee/openmp/runtime/CMakeLists.txt + target_include_directories(omptarget PRIVATE + ${LIBOMPTARGET_INCLUDE_DIR} ${LIBOMPTARGET_BINARY_INCLUDE_DIR} + ) +Index: llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e/openmp/runtime/CMakeLists.txt =================================================================== ---- llvm-toolchain-snapshot_18~++20240109113757+a7262d2d9bee.orig/openmp/runtime/CMakeLists.txt -+++ llvm-toolchain-snapshot_18~++20240109113757+a7262d2d9bee/openmp/runtime/CMakeLists.txt -@@ -318,6 +318,10 @@ if(LIBOMP_STATS) +--- llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e.orig/openmp/runtime/CMakeLists.txt ++++ llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e/openmp/runtime/CMakeLists.txt +@@ -326,6 +326,10 @@ if(LIBOMP_STATS) set(LIBOMP_USE_STDCPPLIB TRUE) endif() @@ -112,11 +94,11 @@ Index: llvm-toolchain-snapshot_18~++20240109113757+a7262d2d9bee/openmp/runtime/C # Shared library can be switched to a static library set(LIBOMP_ENABLE_SHARED TRUE CACHE BOOL "Shared library instead of static library?") -Index: llvm-toolchain-snapshot_18~++20240109113757+a7262d2d9bee/openmp/runtime/src/CMakeLists.txt +Index: llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e/openmp/runtime/src/CMakeLists.txt =================================================================== ---- llvm-toolchain-snapshot_18~++20240109113757+a7262d2d9bee.orig/openmp/runtime/src/CMakeLists.txt -+++ llvm-toolchain-snapshot_18~++20240109113757+a7262d2d9bee/openmp/runtime/src/CMakeLists.txt -@@ -144,6 +144,7 @@ set_source_files_properties(${LIBOMP_ASM +--- llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e.orig/openmp/runtime/src/CMakeLists.txt ++++ llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e/openmp/runtime/src/CMakeLists.txt +@@ -151,6 +151,7 @@ set_source_files_properties(${LIBOMP_ASM if(NOT ${LIBOMP_USE_STDCPPLIB}) set(LIBOMP_LINKER_LANGUAGE C) set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES) @@ -124,7 +106,7 @@ Index: llvm-toolchain-snapshot_18~++20240109113757+a7262d2d9bee/openmp/runtime/s else() set(LIBOMP_LINKER_LANGUAGE CXX) endif() -@@ -205,6 +206,8 @@ else() +@@ -220,6 +221,8 @@ else() ) endif() @@ -133,10 +115,10 @@ Index: llvm-toolchain-snapshot_18~++20240109113757+a7262d2d9bee/openmp/runtime/s # Get the library's location within the build tree for the unit tester if(NOT WIN32) get_target_property(LIBOMP_LIBRARY_DIR omp LIBRARY_OUTPUT_DIRECTORY) -Index: llvm-toolchain-snapshot_18~++20240109113757+a7262d2d9bee/openmp/tools/archer/CMakeLists.txt +Index: llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e/openmp/tools/archer/CMakeLists.txt =================================================================== ---- llvm-toolchain-snapshot_18~++20240109113757+a7262d2d9bee.orig/openmp/tools/archer/CMakeLists.txt -+++ llvm-toolchain-snapshot_18~++20240109113757+a7262d2d9bee/openmp/tools/archer/CMakeLists.txt +--- llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e.orig/openmp/tools/archer/CMakeLists.txt ++++ llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e/openmp/tools/archer/CMakeLists.txt @@ -15,6 +15,9 @@ if(LIBOMP_OMPT_SUPPORT AND LIBOMP_ARCHER target_link_libraries(archer ${CMAKE_DL_LIBS}) add_library(archer_static STATIC ompt-tsan.cpp) @@ -147,3 +129,16 @@ Index: llvm-toolchain-snapshot_18~++20240109113757+a7262d2d9bee/openmp/tools/arc install(TARGETS archer archer_static LIBRARY DESTINATION ${OPENMP_INSTALL_LIBDIR} ARCHIVE DESTINATION ${OPENMP_INSTALL_LIBDIR}) +Index: llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e/offload/plugins-nextgen/host/CMakeLists.txt +=================================================================== +--- llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e.orig/offload/plugins-nextgen/host/CMakeLists.txt ++++ llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e/offload/plugins-nextgen/host/CMakeLists.txt +@@ -27,6 +27,8 @@ else() + target_include_directories(omptarget.rtl.host PRIVATE dynamic_ffi) + endif() + ++add_runtimes_build_depends_if_needed("omptarget.rtl.${machine}") ++ + target_include_directories(omptarget.rtl.host PRIVATE + ${LIBOMPTARGET_INCLUDE_DIR}) + diff --git a/debian/patches/openmp-soname.diff b/debian/patches/openmp-soname.diff index f3188bce..fb0c3310 100644 --- a/debian/patches/openmp-soname.diff +++ b/debian/patches/openmp-soname.diff @@ -1,8 +1,8 @@ -Index: llvm-toolchain-snapshot_17~++20230523093327+96a003b9bf79/openmp/runtime/CMakeLists.txt +Index: llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e/openmp/runtime/CMakeLists.txt =================================================================== ---- llvm-toolchain-snapshot_17~++20230523093327+96a003b9bf79.orig/openmp/runtime/CMakeLists.txt -+++ llvm-toolchain-snapshot_17~++20230523093327+96a003b9bf79/openmp/runtime/CMakeLists.txt -@@ -380,7 +380,8 @@ else() +--- llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e.orig/openmp/runtime/CMakeLists.txt ++++ llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e/openmp/runtime/CMakeLists.txt +@@ -419,7 +419,8 @@ else() set(LIBOMP_INSTALL_KIND ARCHIVE) endif() diff --git a/debian/patches/openmp/openmp-check-execstack.diff b/debian/patches/openmp/openmp-check-execstack.diff index b903ac4e..9affad35 100644 --- a/debian/patches/openmp/openmp-check-execstack.diff +++ b/debian/patches/openmp/openmp-check-execstack.diff @@ -1,14 +1,13 @@ -Index: llvm-toolchain-snapshot_11~++20200326111000+4673699a470/openmp/runtime/tools/check-execstack.pl +Index: llvm-toolchain-snapshot_19~++20240622104700+f5b93ae5884d/openmp/runtime/tools/check-execstack.py =================================================================== ---- llvm-toolchain-snapshot_11~++20200326111000+4673699a470.orig/openmp/runtime/tools/check-execstack.pl -+++ llvm-toolchain-snapshot_11~++20200326111000+4673699a470/openmp/runtime/tools/check-execstack.pl -@@ -45,7 +45,8 @@ sub execstack($) { - # GNU_STACK 0x000000 0x00000000 0x00000000 0x00000 0x00000 RWE 0x4 - # Linux* OS Intel(R) 64: - # GNU_STACK 0x000000 0x0000000000000000 0x0000000000000000 0x000000 0x000000 RWE 0x8 -- if ( $stack[ 0 ] !~ m{\A\s*(?:GNU_)?STACK(?:\s+0x[0-9a-f]+){5}\s+([R ][W ][E ])\s+0x[0-9a-f]+\s*\z} ) { -+# if ( $stack[ 0 ] !~ m{\A\s*(?:GNU_)?STACK(?:\s+0x[0-9a-f]+){5}\s+([R ][W ][E ])\s+0x[0-9a-f]+\s*\z} ) { -+ if ( $stack[ 0 ] !~ m{\A\s*(?:GNU_)?STACK(?:\s+0x[0-9a-f]+){5}\s+([R ][W ][E ])\s+0(?:x[0-9a-f]+)*\s*\z} ) { - runtime_error( "$file: Cannot parse stack segment line:", ">>> $stack[ 0 ]" ); - }; # if - my $attrs = $1; +--- llvm-toolchain-snapshot_19~++20240622104700+f5b93ae5884d.orig/openmp/runtime/tools/check-execstack.py ++++ llvm-toolchain-snapshot_19~++20240622104700+f5b93ae5884d/openmp/runtime/tools/check-execstack.py +@@ -30,7 +30,7 @@ def is_stack_executable_readelf(library) + error("{}: Not stack segment found".format(library)) + if len(stack_lines) > 1: + error("{}: More than one stack segment found".format(library)) +- h = r"0x[0-9a-fA-F]+" ++ h = r"0(?:x[0-9a-f]+)" + m = re.search( + r"((GNU_)?STACK)\s+({0})\s+({0})\s+({0})\s+({0})\s+({0})" + " ([R ][W ][E ])".format(h), diff --git a/debian/patches/python-clangpath.diff b/debian/patches/python-clangpath.diff index 7efb1df0..f4d4de6d 100644 --- a/debian/patches/python-clangpath.diff +++ b/debian/patches/python-clangpath.diff @@ -2,16 +2,16 @@ clang/bindings/python/clang/cindex.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -Index: llvm-toolchain-snapshot_17~++20230523093327+96a003b9bf79/clang/bindings/python/clang/cindex.py +Index: llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e/clang/bindings/python/clang/cindex.py =================================================================== ---- llvm-toolchain-snapshot_17~++20230523093327+96a003b9bf79.orig/clang/bindings/python/clang/cindex.py -+++ llvm-toolchain-snapshot_17~++20230523093327+96a003b9bf79/clang/bindings/python/clang/cindex.py -@@ -3937,7 +3937,7 @@ class Config(object): +--- llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e.orig/clang/bindings/python/clang/cindex.py ++++ llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e/clang/bindings/python/clang/cindex.py +@@ -4045,7 +4045,7 @@ class Config: elif name == "Windows": file = "libclang.dll" else: - file = "libclang.so" -+ file = "libclang-18.so" ++ file = "libclang-19.so" if Config.library_path: file = Config.library_path + "/" + file diff --git a/debian/patches/python3-shebang.patch b/debian/patches/python3-shebang.patch index 3e4d77f1..cd09b795 100644 --- a/debian/patches/python3-shebang.patch +++ b/debian/patches/python3-shebang.patch @@ -1,769 +1,749 @@ Description: change all shebangs to Python3 find . -name "*.py" -exec sed "s|\!/usr/bin/env python$|\!/usr/bin/env python3|g" -i {} \; -Index: llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/clang-tools-extra/clang-include-fixer/find-all-symbols/tool/run-find-all-symbols.py +Index: llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/clang-tools-extra/clang-include-fixer/find-all-symbols/tool/run-find-all-symbols.py =================================================================== ---- llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560.orig/clang-tools-extra/clang-include-fixer/find-all-symbols/tool/run-find-all-symbols.py -+++ llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/clang-tools-extra/clang-include-fixer/find-all-symbols/tool/run-find-all-symbols.py +--- llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7.orig/clang-tools-extra/clang-include-fixer/find-all-symbols/tool/run-find-all-symbols.py ++++ llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/clang-tools-extra/clang-include-fixer/find-all-symbols/tool/run-find-all-symbols.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 # # =- run-find-all-symbols.py - Parallel find-all-symbols runner -*- python -*-=# # -Index: llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/clang/bindings/python/examples/cindex/cindex-dump.py +Index: llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/clang/bindings/python/examples/cindex/cindex-dump.py =================================================================== ---- llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560.orig/clang/bindings/python/examples/cindex/cindex-dump.py -+++ llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/clang/bindings/python/examples/cindex/cindex-dump.py +--- llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7.orig/clang/bindings/python/examples/cindex/cindex-dump.py ++++ llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/clang/bindings/python/examples/cindex/cindex-dump.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 # ===- cindex-dump.py - cindex/Python Source Dump -------------*- python -*--===# # -Index: llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/clang/bindings/python/examples/cindex/cindex-includes.py +Index: llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/clang/bindings/python/examples/cindex/cindex-includes.py =================================================================== ---- llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560.orig/clang/bindings/python/examples/cindex/cindex-includes.py -+++ llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/clang/bindings/python/examples/cindex/cindex-includes.py +--- llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7.orig/clang/bindings/python/examples/cindex/cindex-includes.py ++++ llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/clang/bindings/python/examples/cindex/cindex-includes.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 # ===- cindex-includes.py - cindex/Python Inclusion Graph -----*- python -*--===# # -Index: llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/clang/tools/scan-view/bin/scan-view +Index: llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/clang/tools/scan-view/bin/scan-view =================================================================== ---- llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560.orig/clang/tools/scan-view/bin/scan-view -+++ llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/clang/tools/scan-view/bin/scan-view +--- llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7.orig/clang/tools/scan-view/bin/scan-view ++++ llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/clang/tools/scan-view/bin/scan-view @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 from __future__ import print_function -Index: llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/clang/tools/scan-view/share/startfile.py +Index: llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/clang/tools/scan-view/share/startfile.py =================================================================== ---- llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560.orig/clang/tools/scan-view/share/startfile.py -+++ llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/clang/tools/scan-view/share/startfile.py +--- llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7.orig/clang/tools/scan-view/share/startfile.py ++++ llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/clang/tools/scan-view/share/startfile.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 # -*- coding: utf-8 -*- """Utility for opening a file using the default application in a cross-platform -Index: llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/clang/utils/ABITest/ABITestGen.py +Index: llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/clang/utils/ABITest/ABITestGen.py =================================================================== ---- llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560.orig/clang/utils/ABITest/ABITestGen.py -+++ llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/clang/utils/ABITest/ABITestGen.py +--- llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7.orig/clang/utils/ABITest/ABITestGen.py ++++ llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/clang/utils/ABITest/ABITestGen.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 from __future__ import absolute_import, division, print_function from pprint import pprint -Index: llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/clang/utils/CIndex/completion_logger_server.py +Index: llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/clang/utils/CIndex/completion_logger_server.py =================================================================== ---- llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560.orig/clang/utils/CIndex/completion_logger_server.py -+++ llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/clang/utils/CIndex/completion_logger_server.py +--- llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7.orig/clang/utils/CIndex/completion_logger_server.py ++++ llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/clang/utils/CIndex/completion_logger_server.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 from __future__ import absolute_import, division, print_function import sys from socket import * -Index: llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/clang/utils/CaptureCmd +Index: llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/clang/utils/CaptureCmd =================================================================== ---- llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560.orig/clang/utils/CaptureCmd -+++ llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/clang/utils/CaptureCmd +--- llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7.orig/clang/utils/CaptureCmd ++++ llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/clang/utils/CaptureCmd @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 """CaptureCmd - A generic tool for capturing information about the invocations of another program. -Index: llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/clang/utils/CmpDriver +Index: llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/clang/utils/CmpDriver =================================================================== ---- llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560.orig/clang/utils/CmpDriver -+++ llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/clang/utils/CmpDriver +--- llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7.orig/clang/utils/CmpDriver ++++ llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/clang/utils/CmpDriver @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 """ A simple utility that compares tool invocations and exit codes issued by -Index: llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/clang/utils/FindSpecRefs +Index: llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/clang/utils/FindSpecRefs =================================================================== ---- llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560.orig/clang/utils/FindSpecRefs -+++ llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/clang/utils/FindSpecRefs +--- llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7.orig/clang/utils/FindSpecRefs ++++ llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/clang/utils/FindSpecRefs @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 import os import re -Index: llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/clang/utils/FuzzTest +Index: llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/clang/utils/FuzzTest =================================================================== ---- llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560.orig/clang/utils/FuzzTest -+++ llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/clang/utils/FuzzTest +--- llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7.orig/clang/utils/FuzzTest ++++ llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/clang/utils/FuzzTest @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 """ This is a generic fuzz testing tool, see --help for more information. -Index: llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/clang/utils/TestUtils/deep-stack.py +Index: llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/clang/utils/TestUtils/deep-stack.py =================================================================== ---- llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560.orig/clang/utils/TestUtils/deep-stack.py -+++ llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/clang/utils/TestUtils/deep-stack.py +--- llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7.orig/clang/utils/TestUtils/deep-stack.py ++++ llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/clang/utils/TestUtils/deep-stack.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 from __future__ import absolute_import, division, print_function -Index: llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/clang/utils/analyzer/CmpRuns.py +Index: llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/clang/utils/analyzer/CmpRuns.py =================================================================== ---- llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560.orig/clang/utils/analyzer/CmpRuns.py -+++ llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/clang/utils/analyzer/CmpRuns.py +--- llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7.orig/clang/utils/analyzer/CmpRuns.py ++++ llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/clang/utils/analyzer/CmpRuns.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 """ CmpRuns - A simple tool for comparing two static analyzer runs to determine -Index: llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/clang/utils/analyzer/SATestAdd.py +Index: llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/clang/utils/analyzer/SATestAdd.py =================================================================== ---- llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560.orig/clang/utils/analyzer/SATestAdd.py -+++ llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/clang/utils/analyzer/SATestAdd.py +--- llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7.orig/clang/utils/analyzer/SATestAdd.py ++++ llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/clang/utils/analyzer/SATestAdd.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 """ Static Analyzer qualification infrastructure: adding a new project to -Index: llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/clang/utils/analyzer/SATestBuild.py +Index: llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/clang/utils/analyzer/SATestBuild.py =================================================================== ---- llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560.orig/clang/utils/analyzer/SATestBuild.py -+++ llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/clang/utils/analyzer/SATestBuild.py +--- llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7.orig/clang/utils/analyzer/SATestBuild.py ++++ llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/clang/utils/analyzer/SATestBuild.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 """ Static Analyzer qualification infrastructure. -Index: llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/clang/utils/analyzer/SATestUpdateDiffs.py +Index: llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/clang/utils/analyzer/SATestUpdateDiffs.py =================================================================== ---- llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560.orig/clang/utils/analyzer/SATestUpdateDiffs.py -+++ llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/clang/utils/analyzer/SATestUpdateDiffs.py +--- llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7.orig/clang/utils/analyzer/SATestUpdateDiffs.py ++++ llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/clang/utils/analyzer/SATestUpdateDiffs.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 """ Update reference results for static analyzer. -Index: llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/clang/utils/analyzer/SumTimerInfo.py +Index: llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/clang/utils/analyzer/SumTimerInfo.py =================================================================== ---- llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560.orig/clang/utils/analyzer/SumTimerInfo.py -+++ llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/clang/utils/analyzer/SumTimerInfo.py +--- llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7.orig/clang/utils/analyzer/SumTimerInfo.py ++++ llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/clang/utils/analyzer/SumTimerInfo.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 """ Script to Summarize statistics in the scan-build output. -Index: llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/clang/utils/analyzer/exploded-graph-rewriter.py +Index: llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/clang/utils/analyzer/exploded-graph-rewriter.py =================================================================== ---- llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560.orig/clang/utils/analyzer/exploded-graph-rewriter.py -+++ llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/clang/utils/analyzer/exploded-graph-rewriter.py +--- llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7.orig/clang/utils/analyzer/exploded-graph-rewriter.py ++++ llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/clang/utils/analyzer/exploded-graph-rewriter.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 # # ===- exploded-graph-rewriter.py - ExplodedGraph dump tool -----*- python -*--# # -Index: llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/clang/utils/check_cfc/check_cfc.py +Index: llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/clang/utils/check_cfc/check_cfc.py =================================================================== ---- llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560.orig/clang/utils/check_cfc/check_cfc.py -+++ llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/clang/utils/check_cfc/check_cfc.py +--- llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7.orig/clang/utils/check_cfc/check_cfc.py ++++ llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/clang/utils/check_cfc/check_cfc.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 """Check CFC - Check Compile Flow Consistency -Index: llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/clang/utils/check_cfc/obj_diff.py +Index: llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/clang/utils/check_cfc/obj_diff.py =================================================================== ---- llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560.orig/clang/utils/check_cfc/obj_diff.py -+++ llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/clang/utils/check_cfc/obj_diff.py +--- llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7.orig/clang/utils/check_cfc/obj_diff.py ++++ llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/clang/utils/check_cfc/obj_diff.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 from __future__ import absolute_import, division, print_function -Index: llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/clang/utils/check_cfc/test_check_cfc.py +Index: llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/clang/utils/check_cfc/test_check_cfc.py =================================================================== ---- llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560.orig/clang/utils/check_cfc/test_check_cfc.py -+++ llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/clang/utils/check_cfc/test_check_cfc.py +--- llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7.orig/clang/utils/check_cfc/test_check_cfc.py ++++ llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/clang/utils/check_cfc/test_check_cfc.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 """Test internal functions within check_cfc.py.""" -Index: llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/clang/utils/modfuzz.py +Index: llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/clang/utils/modfuzz.py =================================================================== ---- llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560.orig/clang/utils/modfuzz.py -+++ llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/clang/utils/modfuzz.py +--- llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7.orig/clang/utils/modfuzz.py ++++ llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/clang/utils/modfuzz.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 # To use: # 1) Update the 'decls' list below with your fuzzing configuration. -Index: llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/clang/utils/token-delta.py +Index: llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/clang/utils/token-delta.py =================================================================== ---- llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560.orig/clang/utils/token-delta.py -+++ llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/clang/utils/token-delta.py +--- llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7.orig/clang/utils/token-delta.py ++++ llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/clang/utils/token-delta.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 from __future__ import absolute_import, division, print_function import os -Index: llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/compiler-rt/lib/asan/scripts/asan_symbolize.py +Index: llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/compiler-rt/lib/asan/scripts/asan_symbolize.py =================================================================== ---- llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560.orig/compiler-rt/lib/asan/scripts/asan_symbolize.py -+++ llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/compiler-rt/lib/asan/scripts/asan_symbolize.py +--- llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7.orig/compiler-rt/lib/asan/scripts/asan_symbolize.py ++++ llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/compiler-rt/lib/asan/scripts/asan_symbolize.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 # ===- lib/asan/scripts/asan_symbolize.py -----------------------------------===# # # Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -Index: llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/compiler-rt/lib/fuzzer/scripts/unbalanced_allocs.py +Index: llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/compiler-rt/lib/fuzzer/scripts/unbalanced_allocs.py =================================================================== ---- llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560.orig/compiler-rt/lib/fuzzer/scripts/unbalanced_allocs.py -+++ llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/compiler-rt/lib/fuzzer/scripts/unbalanced_allocs.py +--- llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7.orig/compiler-rt/lib/fuzzer/scripts/unbalanced_allocs.py ++++ llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/compiler-rt/lib/fuzzer/scripts/unbalanced_allocs.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 # ===- lib/fuzzer/scripts/unbalanced_allocs.py ------------------------------===# # # Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -Index: llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/compiler-rt/lib/sanitizer_common/scripts/gen_dynamic_list.py +Index: llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/compiler-rt/lib/sanitizer_common/scripts/gen_dynamic_list.py =================================================================== ---- llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560.orig/compiler-rt/lib/sanitizer_common/scripts/gen_dynamic_list.py -+++ llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/compiler-rt/lib/sanitizer_common/scripts/gen_dynamic_list.py +--- llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7.orig/compiler-rt/lib/sanitizer_common/scripts/gen_dynamic_list.py ++++ llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/compiler-rt/lib/sanitizer_common/scripts/gen_dynamic_list.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 # ===- lib/sanitizer_common/scripts/gen_dynamic_list.py ---------------------===# # # Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -Index: llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/compiler-rt/lib/sanitizer_common/scripts/sancov.py +Index: llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/compiler-rt/lib/sanitizer_common/scripts/sancov.py =================================================================== ---- llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560.orig/compiler-rt/lib/sanitizer_common/scripts/sancov.py -+++ llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/compiler-rt/lib/sanitizer_common/scripts/sancov.py +--- llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7.orig/compiler-rt/lib/sanitizer_common/scripts/sancov.py ++++ llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/compiler-rt/lib/sanitizer_common/scripts/sancov.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 # Merge or print the coverage data collected by asan's coverage. # Input files are sequences of 4-byte integers. # We need to merge these integers into a set and then -Index: llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/libcxx/utils/cat_files.py +Index: llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/libcxx/utils/cat_files.py =================================================================== ---- llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560.orig/libcxx/utils/cat_files.py -+++ llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/libcxx/utils/cat_files.py +--- llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7.orig/libcxx/utils/cat_files.py ++++ llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/libcxx/utils/cat_files.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 # ===----------------------------------------------------------------------===## # # Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -Index: llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/libcxx/utils/generate_feature_test_macro_components.py +Index: llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/libcxx/utils/generate_feature_test_macro_components.py =================================================================== ---- llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560.orig/libcxx/utils/generate_feature_test_macro_components.py -+++ llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/libcxx/utils/generate_feature_test_macro_components.py +--- llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7.orig/libcxx/utils/generate_feature_test_macro_components.py ++++ llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/libcxx/utils/generate_feature_test_macro_components.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 import os from builtins import range -Index: llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/lld/utils/benchmark.py +Index: llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/lld/utils/benchmark.py =================================================================== ---- llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560.orig/lld/utils/benchmark.py -+++ llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/lld/utils/benchmark.py +--- llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7.orig/lld/utils/benchmark.py ++++ llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/lld/utils/benchmark.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 # # Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. # See https://llvm.org/LICENSE.txt for license information. -Index: llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/lldb/examples/python/file_extract.py +Index: llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/lldb/examples/python/file_extract.py =================================================================== ---- llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560.orig/lldb/examples/python/file_extract.py -+++ llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/lldb/examples/python/file_extract.py +--- llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7.orig/lldb/examples/python/file_extract.py ++++ llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/lldb/examples/python/file_extract.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 import string import struct -Index: llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/lldb/packages/Python/lldbsuite/test/bench.py +Index: llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/lldb/packages/Python/lldbsuite/test/bench.py =================================================================== ---- llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560.orig/lldb/packages/Python/lldbsuite/test/bench.py -+++ llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/lldb/packages/Python/lldbsuite/test/bench.py +--- llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7.orig/lldb/packages/Python/lldbsuite/test/bench.py ++++ llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/lldb/packages/Python/lldbsuite/test/bench.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 """ A simple bench runner which delegates to the ./dotest.py test driver to run the -Index: llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/lldb/scripts/analyze-project-deps.py +Index: llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/lldb/scripts/analyze-project-deps.py =================================================================== ---- llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560.orig/lldb/scripts/analyze-project-deps.py -+++ llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/lldb/scripts/analyze-project-deps.py +--- llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7.orig/lldb/scripts/analyze-project-deps.py ++++ llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/lldb/scripts/analyze-project-deps.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 import argparse import itertools -Index: llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/lldb/scripts/verify_api.py +Index: llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/lldb/scripts/verify_api.py =================================================================== ---- llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560.orig/lldb/scripts/verify_api.py -+++ llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/lldb/scripts/verify_api.py +--- llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7.orig/lldb/scripts/verify_api.py ++++ llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/lldb/scripts/verify_api.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 import subprocess import optparse -Index: llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/lldb/third_party/Python/module/pexpect-4.6/pexpect/FSM.py +Index: llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/lldb/utils/lui/lui.py =================================================================== ---- llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560.orig/lldb/third_party/Python/module/pexpect-4.6/pexpect/FSM.py -+++ llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/lldb/third_party/Python/module/pexpect-4.6/pexpect/FSM.py -@@ -1,4 +1,4 @@ --#!/usr/bin/env python -+#!/usr/bin/env python3 - - '''This module implements a Finite State Machine (FSM). In addition to state - this FSM also maintains a user defined "memory". So this FSM can be used as a -Index: llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/lldb/utils/lui/lui.py -=================================================================== ---- llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560.orig/lldb/utils/lui/lui.py -+++ llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/lldb/utils/lui/lui.py +--- llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7.orig/lldb/utils/lui/lui.py ++++ llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/lldb/utils/lui/lui.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 ##===-- lui.py -----------------------------------------------*- Python -*-===## ## # Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -Index: llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/lldb/utils/lui/sandbox.py +Index: llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/lldb/utils/lui/sandbox.py =================================================================== ---- llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560.orig/lldb/utils/lui/sandbox.py -+++ llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/lldb/utils/lui/sandbox.py +--- llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7.orig/lldb/utils/lui/sandbox.py ++++ llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/lldb/utils/lui/sandbox.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 ##===-- sandbox.py -------------------------------------------*- Python -*-===## ## # Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -Index: llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/llvm/examples/Kaleidoscope/MCJIT/cached/genk-timing.py +Index: llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/llvm/examples/Kaleidoscope/MCJIT/cached/genk-timing.py =================================================================== ---- llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560.orig/llvm/examples/Kaleidoscope/MCJIT/cached/genk-timing.py -+++ llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/llvm/examples/Kaleidoscope/MCJIT/cached/genk-timing.py +--- llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7.orig/llvm/examples/Kaleidoscope/MCJIT/cached/genk-timing.py ++++ llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/llvm/examples/Kaleidoscope/MCJIT/cached/genk-timing.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 from __future__ import print_function -Index: llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/llvm/examples/Kaleidoscope/MCJIT/cached/split-lib.py +Index: llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/llvm/examples/Kaleidoscope/MCJIT/cached/split-lib.py =================================================================== ---- llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560.orig/llvm/examples/Kaleidoscope/MCJIT/cached/split-lib.py -+++ llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/llvm/examples/Kaleidoscope/MCJIT/cached/split-lib.py +--- llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7.orig/llvm/examples/Kaleidoscope/MCJIT/cached/split-lib.py ++++ llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/llvm/examples/Kaleidoscope/MCJIT/cached/split-lib.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 from __future__ import print_function -Index: llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/llvm/examples/Kaleidoscope/MCJIT/complete/genk-timing.py +Index: llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/llvm/examples/Kaleidoscope/MCJIT/complete/genk-timing.py =================================================================== ---- llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560.orig/llvm/examples/Kaleidoscope/MCJIT/complete/genk-timing.py -+++ llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/llvm/examples/Kaleidoscope/MCJIT/complete/genk-timing.py +--- llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7.orig/llvm/examples/Kaleidoscope/MCJIT/complete/genk-timing.py ++++ llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/llvm/examples/Kaleidoscope/MCJIT/complete/genk-timing.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 from __future__ import print_function -Index: llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/llvm/examples/Kaleidoscope/MCJIT/complete/split-lib.py +Index: llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/llvm/examples/Kaleidoscope/MCJIT/complete/split-lib.py =================================================================== ---- llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560.orig/llvm/examples/Kaleidoscope/MCJIT/complete/split-lib.py -+++ llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/llvm/examples/Kaleidoscope/MCJIT/complete/split-lib.py +--- llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7.orig/llvm/examples/Kaleidoscope/MCJIT/complete/split-lib.py ++++ llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/llvm/examples/Kaleidoscope/MCJIT/complete/split-lib.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 from __future__ import print_function -Index: llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/llvm/examples/Kaleidoscope/MCJIT/lazy/genk-timing.py +Index: llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/llvm/examples/Kaleidoscope/MCJIT/lazy/genk-timing.py =================================================================== ---- llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560.orig/llvm/examples/Kaleidoscope/MCJIT/lazy/genk-timing.py -+++ llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/llvm/examples/Kaleidoscope/MCJIT/lazy/genk-timing.py +--- llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7.orig/llvm/examples/Kaleidoscope/MCJIT/lazy/genk-timing.py ++++ llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/llvm/examples/Kaleidoscope/MCJIT/lazy/genk-timing.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 from __future__ import print_function -Index: llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/llvm/test/BugPoint/compile-custom.ll.py +Index: llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/llvm/test/BugPoint/compile-custom.ll.py =================================================================== ---- llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560.orig/llvm/test/BugPoint/compile-custom.ll.py -+++ llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/llvm/test/BugPoint/compile-custom.ll.py +--- llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7.orig/llvm/test/BugPoint/compile-custom.ll.py ++++ llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/llvm/test/BugPoint/compile-custom.ll.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 from __future__ import print_function -Index: llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/llvm/test/Other/opt-bisect-helper.py +Index: llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/llvm/test/Other/opt-bisect-helper.py =================================================================== ---- llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560.orig/llvm/test/Other/opt-bisect-helper.py -+++ llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/llvm/test/Other/opt-bisect-helper.py +--- llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7.orig/llvm/test/Other/opt-bisect-helper.py ++++ llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/llvm/test/Other/opt-bisect-helper.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 from __future__ import print_function -Index: llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/llvm/test/TableGen/JSON-check.py +Index: llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/llvm/test/TableGen/JSON-check.py =================================================================== ---- llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560.orig/llvm/test/TableGen/JSON-check.py -+++ llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/llvm/test/TableGen/JSON-check.py +--- llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7.orig/llvm/test/TableGen/JSON-check.py ++++ llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/llvm/test/TableGen/JSON-check.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 import sys import subprocess -Index: llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/llvm/tools/opt-viewer/opt-diff.py +Index: llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/llvm/tools/opt-viewer/opt-diff.py =================================================================== ---- llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560.orig/llvm/tools/opt-viewer/opt-diff.py -+++ llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/llvm/tools/opt-viewer/opt-diff.py +--- llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7.orig/llvm/tools/opt-viewer/opt-diff.py ++++ llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/llvm/tools/opt-viewer/opt-diff.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 from __future__ import print_function -Index: llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/llvm/tools/opt-viewer/opt-stats.py +Index: llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/llvm/tools/opt-viewer/opt-stats.py =================================================================== ---- llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560.orig/llvm/tools/opt-viewer/opt-stats.py -+++ llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/llvm/tools/opt-viewer/opt-stats.py +--- llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7.orig/llvm/tools/opt-viewer/opt-stats.py ++++ llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/llvm/tools/opt-viewer/opt-stats.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 from __future__ import print_function -Index: llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/llvm/tools/opt-viewer/opt-viewer.py +Index: llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/llvm/tools/opt-viewer/opt-viewer.py =================================================================== ---- llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560.orig/llvm/tools/opt-viewer/opt-viewer.py -+++ llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/llvm/tools/opt-viewer/opt-viewer.py +--- llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7.orig/llvm/tools/opt-viewer/opt-viewer.py ++++ llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/llvm/tools/opt-viewer/opt-viewer.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 from __future__ import print_function -Index: llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/llvm/tools/opt-viewer/optrecord.py +Index: llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/llvm/tools/opt-viewer/optrecord.py =================================================================== ---- llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560.orig/llvm/tools/opt-viewer/optrecord.py -+++ llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/llvm/tools/opt-viewer/optrecord.py +--- llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7.orig/llvm/tools/opt-viewer/optrecord.py ++++ llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/llvm/tools/opt-viewer/optrecord.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 from __future__ import print_function -Index: llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/llvm/utils/Misc/zkill +Index: llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/llvm/utils/Misc/zkill =================================================================== ---- llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560.orig/llvm/utils/Misc/zkill -+++ llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/llvm/utils/Misc/zkill +--- llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7.orig/llvm/utils/Misc/zkill ++++ llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/llvm/utils/Misc/zkill @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 import os import re -Index: llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/llvm/utils/abtest.py +Index: llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/llvm/utils/abtest.py =================================================================== ---- llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560.orig/llvm/utils/abtest.py -+++ llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/llvm/utils/abtest.py +--- llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7.orig/llvm/utils/abtest.py ++++ llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/llvm/utils/abtest.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 # # Given a previous good compile narrow down miscompiles. # Expects two directories named "before" and "after" each containing a set of -Index: llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/llvm/utils/bisect +Index: llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/llvm/utils/bisect =================================================================== ---- llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560.orig/llvm/utils/bisect -+++ llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/llvm/utils/bisect +--- llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7.orig/llvm/utils/bisect ++++ llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/llvm/utils/bisect @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 # # The way you use this is you create a script that takes in as its first # argument a count. The script passes into LLVM the count via a command -Index: llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/llvm/utils/bisect-skip-count +Index: llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/llvm/utils/bugpoint_gisel_reducer.py =================================================================== ---- llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560.orig/llvm/utils/bisect-skip-count -+++ llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/llvm/utils/bisect-skip-count -@@ -1,4 +1,4 @@ --#!/usr/bin/env python -+#!/usr/bin/env python3 - # This script is used to bisect skip and count arguments for --debug-counter. - # It is similar to bisect, except it understands how to increase skip and decrease count - # -Index: llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/llvm/utils/bugpoint_gisel_reducer.py -=================================================================== ---- llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560.orig/llvm/utils/bugpoint_gisel_reducer.py -+++ llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/llvm/utils/bugpoint_gisel_reducer.py +--- llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7.orig/llvm/utils/bugpoint_gisel_reducer.py ++++ llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/llvm/utils/bugpoint_gisel_reducer.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 """Reduces GlobalISel failures. -Index: llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/llvm/utils/clang-parse-diagnostics-file +Index: llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/llvm/utils/clang-parse-diagnostics-file =================================================================== ---- llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560.orig/llvm/utils/clang-parse-diagnostics-file -+++ llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/llvm/utils/clang-parse-diagnostics-file +--- llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7.orig/llvm/utils/clang-parse-diagnostics-file ++++ llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/llvm/utils/clang-parse-diagnostics-file @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 import os import plistlib -Index: llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/llvm/utils/create_ladder_graph.py +Index: llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/llvm/utils/create_ladder_graph.py =================================================================== ---- llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560.orig/llvm/utils/create_ladder_graph.py -+++ llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/llvm/utils/create_ladder_graph.py +--- llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7.orig/llvm/utils/create_ladder_graph.py ++++ llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/llvm/utils/create_ladder_graph.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 """A ladder graph creation program. This is a python program that creates c source code that will generate -Index: llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/llvm/utils/extract_symbols.py +Index: llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/llvm/utils/extract_symbols.py =================================================================== ---- llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560.orig/llvm/utils/extract_symbols.py -+++ llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/llvm/utils/extract_symbols.py +--- llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7.orig/llvm/utils/extract_symbols.py ++++ llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/llvm/utils/extract_symbols.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 """A tool for extracting a list of symbols to export -Index: llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/llvm/utils/extract_vplan.py +Index: llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/llvm/utils/extract_vplan.py =================================================================== ---- llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560.orig/llvm/utils/extract_vplan.py -+++ llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/llvm/utils/extract_vplan.py +--- llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7.orig/llvm/utils/extract_vplan.py ++++ llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/llvm/utils/extract_vplan.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 # This script extracts the VPlan digraphs from the vectoriser debug messages # and saves them in individual dot files (one for each plan). Optionally, and -Index: llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/llvm/utils/indirect_calls.py +Index: llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/llvm/utils/indirect_calls.py =================================================================== ---- llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560.orig/llvm/utils/indirect_calls.py -+++ llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/llvm/utils/indirect_calls.py +--- llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7.orig/llvm/utils/indirect_calls.py ++++ llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/llvm/utils/indirect_calls.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 """A tool for looking for indirect jumps and calls in x86 binaries. -Index: llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/llvm/utils/lit/lit/ProgressBar.py +Index: llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/llvm/utils/lit/lit/ProgressBar.py =================================================================== ---- llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560.orig/llvm/utils/lit/lit/ProgressBar.py -+++ llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/llvm/utils/lit/lit/ProgressBar.py +--- llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7.orig/llvm/utils/lit/lit/ProgressBar.py ++++ llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/llvm/utils/lit/lit/ProgressBar.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 # Source: http://code.activestate.com/recipes/475116/, with # modifications by Daniel Dunbar. -Index: llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/llvm/utils/lit/tests/Inputs/googletest-format/DummySubDir/OneTest.py +Index: llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/llvm/utils/lit/tests/Inputs/googletest-format/DummySubDir/OneTest.py =================================================================== ---- llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560.orig/llvm/utils/lit/tests/Inputs/googletest-format/DummySubDir/OneTest.py -+++ llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/llvm/utils/lit/tests/Inputs/googletest-format/DummySubDir/OneTest.py +--- llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7.orig/llvm/utils/lit/tests/Inputs/googletest-format/DummySubDir/OneTest.py ++++ llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/llvm/utils/lit/tests/Inputs/googletest-format/DummySubDir/OneTest.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 import os import sys -Index: llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/llvm/utils/lit/tests/Inputs/googletest-timeout/DummySubDir/OneTest.py +Index: llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/llvm/utils/lit/tests/Inputs/googletest-timeout/DummySubDir/OneTest.py =================================================================== ---- llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560.orig/llvm/utils/lit/tests/Inputs/googletest-timeout/DummySubDir/OneTest.py -+++ llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/llvm/utils/lit/tests/Inputs/googletest-timeout/DummySubDir/OneTest.py +--- llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7.orig/llvm/utils/lit/tests/Inputs/googletest-timeout/DummySubDir/OneTest.py ++++ llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/llvm/utils/lit/tests/Inputs/googletest-timeout/DummySubDir/OneTest.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 import os import sys -Index: llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/llvm/utils/lit/tests/Inputs/shtest-env/print_environment.py +Index: llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/llvm/utils/lit/tests/Inputs/shtest-env/print_environment.py =================================================================== ---- llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560.orig/llvm/utils/lit/tests/Inputs/shtest-env/print_environment.py -+++ llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/llvm/utils/lit/tests/Inputs/shtest-env/print_environment.py +--- llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7.orig/llvm/utils/lit/tests/Inputs/shtest-env/print_environment.py ++++ llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/llvm/utils/lit/tests/Inputs/shtest-env/print_environment.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 from __future__ import print_function import os -Index: llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/llvm/utils/lit/tests/Inputs/shtest-format/external_shell/write-bad-encoding.py +Index: llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/llvm/utils/lit/tests/Inputs/shtest-format/external_shell/write-bad-encoding.py =================================================================== ---- llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560.orig/llvm/utils/lit/tests/Inputs/shtest-format/external_shell/write-bad-encoding.py -+++ llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/llvm/utils/lit/tests/Inputs/shtest-format/external_shell/write-bad-encoding.py +--- llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7.orig/llvm/utils/lit/tests/Inputs/shtest-format/external_shell/write-bad-encoding.py ++++ llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/llvm/utils/lit/tests/Inputs/shtest-format/external_shell/write-bad-encoding.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 import sys -Index: llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/llvm/utils/lit/tests/Inputs/shtest-shell/check_args.py +Index: llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/llvm/utils/lit/tests/Inputs/shtest-shell/check_args.py =================================================================== ---- llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560.orig/llvm/utils/lit/tests/Inputs/shtest-shell/check_args.py -+++ llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/llvm/utils/lit/tests/Inputs/shtest-shell/check_args.py +--- llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7.orig/llvm/utils/lit/tests/Inputs/shtest-shell/check_args.py ++++ llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/llvm/utils/lit/tests/Inputs/shtest-shell/check_args.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 import argparse import platform -Index: llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/llvm/utils/lit/tests/Inputs/shtest-shell/check_path.py +Index: llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/llvm/utils/lit/tests/Inputs/shtest-shell/check_path.py =================================================================== ---- llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560.orig/llvm/utils/lit/tests/Inputs/shtest-shell/check_path.py -+++ llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/llvm/utils/lit/tests/Inputs/shtest-shell/check_path.py +--- llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7.orig/llvm/utils/lit/tests/Inputs/shtest-shell/check_path.py ++++ llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/llvm/utils/lit/tests/Inputs/shtest-shell/check_path.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 from __future__ import print_function -Index: llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/llvm/utils/lit/tests/Inputs/shtest-shell/write-to-stderr.py +Index: llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/llvm/utils/lit/tests/Inputs/shtest-shell/write-to-stderr.py =================================================================== ---- llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560.orig/llvm/utils/lit/tests/Inputs/shtest-shell/write-to-stderr.py -+++ llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/llvm/utils/lit/tests/Inputs/shtest-shell/write-to-stderr.py +--- llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7.orig/llvm/utils/lit/tests/Inputs/shtest-shell/write-to-stderr.py ++++ llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/llvm/utils/lit/tests/Inputs/shtest-shell/write-to-stderr.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 import sys -Index: llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/llvm/utils/lit/tests/Inputs/shtest-shell/write-to-stdout-and-stderr.py +Index: llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/llvm/utils/lit/tests/Inputs/shtest-shell/write-to-stdout-and-stderr.py =================================================================== ---- llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560.orig/llvm/utils/lit/tests/Inputs/shtest-shell/write-to-stdout-and-stderr.py -+++ llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/llvm/utils/lit/tests/Inputs/shtest-shell/write-to-stdout-and-stderr.py +--- llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7.orig/llvm/utils/lit/tests/Inputs/shtest-shell/write-to-stdout-and-stderr.py ++++ llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/llvm/utils/lit/tests/Inputs/shtest-shell/write-to-stdout-and-stderr.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 import sys -Index: llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/llvm/utils/llvm-gisel-cov.py +Index: llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/llvm/utils/llvm-gisel-cov.py =================================================================== ---- llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560.orig/llvm/utils/llvm-gisel-cov.py -+++ llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/llvm/utils/llvm-gisel-cov.py +--- llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7.orig/llvm/utils/llvm-gisel-cov.py ++++ llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/llvm/utils/llvm-gisel-cov.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 """ Summarize the information in the given coverage files. -Index: llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/llvm/utils/prepare-code-coverage-artifact.py +Index: llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/llvm/utils/prepare-code-coverage-artifact.py =================================================================== ---- llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560.orig/llvm/utils/prepare-code-coverage-artifact.py -+++ llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/llvm/utils/prepare-code-coverage-artifact.py +--- llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7.orig/llvm/utils/prepare-code-coverage-artifact.py ++++ llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/llvm/utils/prepare-code-coverage-artifact.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 from __future__ import print_function -Index: llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/llvm/utils/release/findRegressions-nightly.py +Index: llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/llvm/utils/release/findRegressions-nightly.py =================================================================== ---- llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560.orig/llvm/utils/release/findRegressions-nightly.py -+++ llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/llvm/utils/release/findRegressions-nightly.py +--- llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7.orig/llvm/utils/release/findRegressions-nightly.py ++++ llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/llvm/utils/release/findRegressions-nightly.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 from __future__ import print_function import re, string, sys, os, time -Index: llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/llvm/utils/release/findRegressions-simple.py +Index: llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/llvm/utils/release/findRegressions-simple.py =================================================================== ---- llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560.orig/llvm/utils/release/findRegressions-simple.py -+++ llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/llvm/utils/release/findRegressions-simple.py +--- llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7.orig/llvm/utils/release/findRegressions-simple.py ++++ llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/llvm/utils/release/findRegressions-simple.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 from __future__ import print_function import re, string, sys, os, time, math -Index: llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/llvm/utils/shuffle_fuzz.py +Index: llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/llvm/utils/shuffle_fuzz.py =================================================================== ---- llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560.orig/llvm/utils/shuffle_fuzz.py -+++ llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/llvm/utils/shuffle_fuzz.py +--- llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7.orig/llvm/utils/shuffle_fuzz.py ++++ llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/llvm/utils/shuffle_fuzz.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 """A shuffle vector fuzz tester. -Index: llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/llvm/utils/shuffle_select_fuzz_tester.py +Index: llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/llvm/utils/shuffle_select_fuzz_tester.py =================================================================== ---- llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560.orig/llvm/utils/shuffle_select_fuzz_tester.py -+++ llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/llvm/utils/shuffle_select_fuzz_tester.py +--- llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7.orig/llvm/utils/shuffle_select_fuzz_tester.py ++++ llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/llvm/utils/shuffle_select_fuzz_tester.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 """A shuffle-select vector fuzz tester. -Index: llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/llvm/utils/sort_includes.py +Index: llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/llvm/utils/sort_includes.py =================================================================== ---- llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560.orig/llvm/utils/sort_includes.py -+++ llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/llvm/utils/sort_includes.py +--- llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7.orig/llvm/utils/sort_includes.py ++++ llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/llvm/utils/sort_includes.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 """Script to sort the top-most block of #include lines. -Index: llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/llvm/utils/unicode-case-fold.py +Index: llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/llvm/utils/unicode-case-fold.py =================================================================== ---- llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560.orig/llvm/utils/unicode-case-fold.py -+++ llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/llvm/utils/unicode-case-fold.py +--- llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7.orig/llvm/utils/unicode-case-fold.py ++++ llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/llvm/utils/unicode-case-fold.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 """ Unicode case folding database conversion utility -Index: llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/llvm/utils/wciia.py +Index: llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/llvm/utils/wciia.py =================================================================== ---- llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560.orig/llvm/utils/wciia.py -+++ llvm-toolchain-snapshot_18~++20231020082810+f24d9490e560/llvm/utils/wciia.py +--- llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7.orig/llvm/utils/wciia.py ++++ llvm-toolchain-snapshot_19~++20240423112228+dbcfb434a9c7/llvm/utils/wciia.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 diff --git a/debian/patches/remove-apple-clang-manpage.diff b/debian/patches/remove-apple-clang-manpage.diff index 6548700c..677ad487 100644 --- a/debian/patches/remove-apple-clang-manpage.diff +++ b/debian/patches/remove-apple-clang-manpage.diff @@ -1,8 +1,8 @@ -Index: llvm-toolchain-snapshot_17~++20230517015648+0b6264738f3d/clang/docs/CommandGuide/clang.rst +Index: llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e/clang/docs/CommandGuide/clang.rst =================================================================== ---- llvm-toolchain-snapshot_17~++20230517015648+0b6264738f3d.orig/clang/docs/CommandGuide/clang.rst -+++ llvm-toolchain-snapshot_17~++20230517015648+0b6264738f3d/clang/docs/CommandGuide/clang.rst -@@ -353,24 +353,10 @@ Clang fully supports cross compilation a +--- llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e.orig/clang/docs/CommandGuide/clang.rst ++++ llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e/clang/docs/CommandGuide/clang.rst +@@ -354,24 +354,10 @@ Clang fully supports cross compilation a Depending on how your version of Clang is configured, it may have support for a number of cross compilers, or may only support a native target. @@ -14,7 +14,7 @@ Index: llvm-toolchain-snapshot_17~++20230517015648+0b6264738f3d/clang/docs/Comma Specify the architecture to build for (all platforms). --.. option:: -mmacosx-version-min= +-.. option:: -mmacos-version-min= - - When building for macOS, specify the minimum version supported by your - application. @@ -27,13 +27,13 @@ Index: llvm-toolchain-snapshot_17~++20230517015648+0b6264738f3d/clang/docs/Comma .. option:: --print-supported-cpus Print out a list of supported processors for the given target (specified -@@ -705,11 +691,6 @@ ENVIRONMENT +@@ -740,11 +726,6 @@ ENVIRONMENT These environment variables specify additional paths, as for :envvar:`CPATH`, which are only used when processing the appropriate language. -.. envvar:: MACOSX_DEPLOYMENT_TARGET - -- If :option:`-mmacosx-version-min` is unspecified, the default deployment +- If :option:`-mmacos-version-min` is unspecified, the default deployment - target is read from this environment variable. This option only affects - Darwin targets. diff --git a/debian/patches/rename-libllvm.diff b/debian/patches/rename-libllvm.diff deleted file mode 100644 index f1b6cb5e..00000000 --- a/debian/patches/rename-libllvm.diff +++ /dev/null @@ -1,16 +0,0 @@ -Index: llvm-toolchain-18-18.1.8/llvm/tools/llvm-shlib/CMakeLists.txt -=================================================================== ---- llvm-toolchain-18-18.1.8.orig/llvm/tools/llvm-shlib/CMakeLists.txt -+++ llvm-toolchain-18-18.1.8/llvm/tools/llvm-shlib/CMakeLists.txt -@@ -36,8 +36,10 @@ if(LLVM_BUILD_LLVM_DYLIB) - if (WIN32) - add_llvm_library(LLVM SHARED DISABLE_LLVM_LINK_LLVM_DYLIB SONAME ${INSTALL_WITH_TOOLCHAIN} ${SOURCES}) - else() -- add_llvm_library(LLVM SHARED DISABLE_LLVM_LINK_LLVM_DYLIB OUTPUT_NAME LLVM ${INSTALL_WITH_TOOLCHAIN} ${SOURCES}) -+ message(STATUS "lib name = LLVM-${LLVM_VERSION_MAJOR}") -+ add_llvm_library(LLVM SHARED DISABLE_LLVM_LINK_LLVM_DYLIB OUTPUT_NAME LLVM-${LLVM_VERSION_MAJOR} ${INSTALL_WITH_TOOLCHAIN} ${SOURCES}) - # Add symlink for backwards compatibility with old library name -+ message(STATUS "foo = $(LLVM-${LLVM_VERSION_MAJOR}${LLVM_VERSION_SUFFIX}") - llvm_install_library_symlink(LLVM-${LLVM_VERSION_MAJOR}${LLVM_VERSION_SUFFIX} $ SHARED FULL_DEST COMPONENT LLVM) - endif() - diff --git a/debian/patches/revert-update-doc.diff b/debian/patches/revert-update-doc.diff index 9f0c2392..44bfb915 100644 --- a/debian/patches/revert-update-doc.diff +++ b/debian/patches/revert-update-doc.diff @@ -15,10 +15,10 @@ Date: Tue Feb 1 23:13:01 2022 -0800 Differential Revision: https://reviews.llvm.org/D112181 -Index: llvm-toolchain-18_18.1.2/clang-tools-extra/docs/conf.py +Index: llvm-toolchain-snapshot_19~++20240711013116+0ff13f72c974/clang-tools-extra/docs/conf.py =================================================================== ---- llvm-toolchain-18_18.1.2.orig/clang-tools-extra/docs/conf.py -+++ llvm-toolchain-18_18.1.2/clang-tools-extra/docs/conf.py +--- llvm-toolchain-snapshot_19~++20240711013116+0ff13f72c974.orig/clang-tools-extra/docs/conf.py ++++ llvm-toolchain-snapshot_19~++20240711013116+0ff13f72c974/clang-tools-extra/docs/conf.py @@ -44,6 +44,15 @@ master_doc = "index" project = "Extra Clang Tools" copyright = "2007-%d, The Clang Team" % date.today().year @@ -47,11 +47,11 @@ Index: llvm-toolchain-18_18.1.2/clang-tools-extra/docs/conf.py # -- Options for HTML output --------------------------------------------------- -Index: llvm-toolchain-18_18.1.2/clang/docs/conf.py +Index: llvm-toolchain-snapshot_19~++20240711013116+0ff13f72c974/clang/docs/conf.py =================================================================== ---- llvm-toolchain-18_18.1.2.orig/clang/docs/conf.py -+++ llvm-toolchain-18_18.1.2/clang/docs/conf.py -@@ -48,6 +48,15 @@ master_doc = "index" +--- llvm-toolchain-snapshot_19~++20240711013116+0ff13f72c974.orig/clang/docs/conf.py ++++ llvm-toolchain-snapshot_19~++20240711013116+0ff13f72c974/clang/docs/conf.py +@@ -57,6 +57,15 @@ master_doc = "index" project = "Clang" copyright = "2007-%d, The Clang Team" % date.today().year @@ -67,7 +67,7 @@ Index: llvm-toolchain-18_18.1.2/clang/docs/conf.py # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. # language = None -@@ -79,11 +88,6 @@ exclude_patterns = ["_build"] +@@ -88,11 +97,6 @@ exclude_patterns = ["_build"] # The name of the Pygments (syntax highlighting) style to use. pygments_style = "friendly" @@ -79,10 +79,10 @@ Index: llvm-toolchain-18_18.1.2/clang/docs/conf.py # -- Options for HTML output --------------------------------------------------- -Index: llvm-toolchain-18_18.1.2/lld/docs/conf.py +Index: llvm-toolchain-snapshot_19~++20240711013116+0ff13f72c974/lld/docs/conf.py =================================================================== ---- llvm-toolchain-18_18.1.2.orig/lld/docs/conf.py -+++ llvm-toolchain-18_18.1.2/lld/docs/conf.py +--- llvm-toolchain-snapshot_19~++20240711013116+0ff13f72c974.orig/lld/docs/conf.py ++++ llvm-toolchain-snapshot_19~++20240711013116+0ff13f72c974/lld/docs/conf.py @@ -43,6 +43,15 @@ master_doc = "index" project = "lld" copyright = "2011-%d, LLVM Project" % date.today().year @@ -99,11 +99,11 @@ Index: llvm-toolchain-18_18.1.2/lld/docs/conf.py # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. # language = None -Index: llvm-toolchain-18_18.1.2/llvm/cmake/modules/AddSphinxTarget.cmake +Index: llvm-toolchain-snapshot_19~++20240711013116+0ff13f72c974/llvm/cmake/modules/AddSphinxTarget.cmake =================================================================== ---- llvm-toolchain-18_18.1.2.orig/llvm/cmake/modules/AddSphinxTarget.cmake -+++ llvm-toolchain-18_18.1.2/llvm/cmake/modules/AddSphinxTarget.cmake -@@ -39,10 +39,6 @@ function (add_sphinx_target builder proj +--- llvm-toolchain-snapshot_19~++20240711013116+0ff13f72c974.orig/llvm/cmake/modules/AddSphinxTarget.cmake ++++ llvm-toolchain-snapshot_19~++20240711013116+0ff13f72c974/llvm/cmake/modules/AddSphinxTarget.cmake +@@ -40,10 +40,6 @@ function (add_sphinx_target builder proj set(ARG_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}") endif() @@ -114,7 +114,7 @@ Index: llvm-toolchain-18_18.1.2/llvm/cmake/modules/AddSphinxTarget.cmake add_custom_target(${SPHINX_TARGET_NAME} COMMAND ${CMAKE_COMMAND} -E env ${ARG_ENV_VARS} ${SPHINX_EXECUTABLE} -@@ -50,9 +46,6 @@ function (add_sphinx_target builder proj +@@ -51,9 +47,6 @@ function (add_sphinx_target builder proj -d "${SPHINX_DOC_TREE_DIR}" -q # Quiet: no output other than errors and warnings. -t builder-${builder} # tag for builder @@ -124,11 +124,11 @@ Index: llvm-toolchain-18_18.1.2/llvm/cmake/modules/AddSphinxTarget.cmake ${SPHINX_WARNINGS_AS_ERRORS_FLAG} # Treat warnings as errors if requested "${ARG_SOURCE_DIR}" # Source "${SPHINX_BUILD_DIR}" # Output -Index: llvm-toolchain-18_18.1.2/llvm/docs/conf.py +Index: llvm-toolchain-snapshot_19~++20240711013116+0ff13f72c974/llvm/docs/conf.py =================================================================== ---- llvm-toolchain-18_18.1.2.orig/llvm/docs/conf.py -+++ llvm-toolchain-18_18.1.2/llvm/docs/conf.py -@@ -52,6 +52,15 @@ master_doc = "index" +--- llvm-toolchain-snapshot_19~++20240711013116+0ff13f72c974.orig/llvm/docs/conf.py ++++ llvm-toolchain-snapshot_19~++20240711013116+0ff13f72c974/llvm/docs/conf.py +@@ -63,6 +63,15 @@ master_doc = "index" project = "LLVM" copyright = "2003-%d, LLVM Project" % date.today().year @@ -144,10 +144,10 @@ Index: llvm-toolchain-18_18.1.2/llvm/docs/conf.py # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. # language = None -Index: llvm-toolchain-18_18.1.2/polly/docs/conf.py +Index: llvm-toolchain-snapshot_19~++20240711013116+0ff13f72c974/polly/docs/conf.py =================================================================== ---- llvm-toolchain-18_18.1.2.orig/polly/docs/conf.py -+++ llvm-toolchain-18_18.1.2/polly/docs/conf.py +--- llvm-toolchain-snapshot_19~++20240711013116+0ff13f72c974.orig/polly/docs/conf.py ++++ llvm-toolchain-snapshot_19~++20240711013116+0ff13f72c974/polly/docs/conf.py @@ -44,6 +44,15 @@ master_doc = "index" project = "Polly" copyright = "2010-%d, The Polly Team" % date.today().year diff --git a/debian/patches/rv64-fix-PCREL_HI20-issue.diff b/debian/patches/rv64-fix-PCREL_HI20-issue.diff deleted file mode 100644 index bbb10de6..00000000 --- a/debian/patches/rv64-fix-PCREL_HI20-issue.diff +++ /dev/null @@ -1,104 +0,0 @@ -From 78f39dc70c1feaea5130b90ea3fb7b3ddd62446b Mon Sep 17 00:00:00 2001 -From: Jonas Hahnfeld -Date: Mon, 12 Feb 2024 19:45:52 +0100 -Subject: [PATCH] [JITLink][RISCV] Use hashmap to find PCREL_HI20 edge (#78849) - -As noted in issues #68594 and #73935, `JITLink/RISCV/ELF_ehframe.s` -fails with libstdc++'s expensive checks because `getRISCVPCRelHi20` -calls `std::equal_range` on the edges which may not be ordered by their -offset. Instead let `ELFJITLinker_riscv` build a hashmap of all edges -with type `R_RISCV_PCREL_HI20` that can be looked up in constant time. - -Bugs: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1080435 - -Closes #73935 ---- - .../lib/ExecutionEngine/JITLink/ELF_riscv.cpp | 68 ++++++++++--------- - 1 file changed, 35 insertions(+), 33 deletions(-) - ---- a/llvm/lib/ExecutionEngine/JITLink/ELF_riscv.cpp -+++ b/llvm/lib/ExecutionEngine/JITLink/ELF_riscv.cpp -@@ -133,38 +133,6 @@ - namespace llvm { - namespace jitlink { - --static Expected getRISCVPCRelHi20(const Edge &E) { -- using namespace riscv; -- assert((E.getKind() == R_RISCV_PCREL_LO12_I || -- E.getKind() == R_RISCV_PCREL_LO12_S) && -- "Can only have high relocation for R_RISCV_PCREL_LO12_I or " -- "R_RISCV_PCREL_LO12_S"); -- -- const Symbol &Sym = E.getTarget(); -- const Block &B = Sym.getBlock(); -- orc::ExecutorAddrDiff Offset = Sym.getOffset(); -- -- struct Comp { -- bool operator()(const Edge &Lhs, orc::ExecutorAddrDiff Offset) { -- return Lhs.getOffset() < Offset; -- } -- bool operator()(orc::ExecutorAddrDiff Offset, const Edge &Rhs) { -- return Offset < Rhs.getOffset(); -- } -- }; -- -- auto Bound = -- std::equal_range(B.edges().begin(), B.edges().end(), Offset, Comp{}); -- -- for (auto It = Bound.first; It != Bound.second; ++It) { -- if (It->getKind() == R_RISCV_PCREL_HI20) -- return *It; -- } -- -- return make_error( -- "No HI20 PCREL relocation type be found for LO12 PCREL relocation type"); --} -- - static uint32_t extractBits(uint32_t Num, unsigned Low, unsigned Size) { - return (Num & (((1ULL << Size) - 1) << Low)) >> Low; - } -@@ -184,9 +152,43 @@ - public: - ELFJITLinker_riscv(std::unique_ptr Ctx, - std::unique_ptr G, PassConfiguration PassConfig) -- : JITLinker(std::move(Ctx), std::move(G), std::move(PassConfig)) {} -+ : JITLinker(std::move(Ctx), std::move(G), std::move(PassConfig)) { -+ JITLinkerBase::getPassConfig().PostAllocationPasses.push_back( -+ [this](LinkGraph &G) { return gatherRISCVPCRelHi20(G); }); -+ } - - private: -+ DenseMap, const Edge *> -+ RelHi20; -+ -+ Error gatherRISCVPCRelHi20(LinkGraph &G) { -+ for (Block *B : G.blocks()) -+ for (Edge &E : B->edges()) -+ if (E.getKind() == R_RISCV_PCREL_HI20) -+ RelHi20[{B, E.getOffset()}] = &E; -+ -+ return Error::success(); -+ } -+ -+ Expected getRISCVPCRelHi20(const Edge &E) const { -+ using namespace riscv; -+ assert((E.getKind() == R_RISCV_PCREL_LO12_I || -+ E.getKind() == R_RISCV_PCREL_LO12_S) && -+ "Can only have high relocation for R_RISCV_PCREL_LO12_I or " -+ "R_RISCV_PCREL_LO12_S"); -+ -+ const Symbol &Sym = E.getTarget(); -+ const Block &B = Sym.getBlock(); -+ orc::ExecutorAddrDiff Offset = Sym.getOffset(); -+ -+ auto It = RelHi20.find({&B, Offset}); -+ if (It != RelHi20.end()) -+ return *It->second; -+ -+ return make_error("No HI20 PCREL relocation type be found " -+ "for LO12 PCREL relocation type"); -+ } -+ - Error applyFixup(LinkGraph &G, Block &B, const Edge &E) const { - using namespace riscv; - using namespace llvm::support; diff --git a/debian/patches/rv64-fix-mm-leak.diff b/debian/patches/rv64-fix-mm-leak.diff deleted file mode 100644 index 9442b74f..00000000 --- a/debian/patches/rv64-fix-mm-leak.diff +++ /dev/null @@ -1,33 +0,0 @@ -From 3d67cf681a728e4cf0ab9947c0dd07539dda8b74 Mon Sep 17 00:00:00 2001 -From: Min-Yih Hsu -Date: Fri, 16 Feb 2024 16:19:56 -0800 -Subject: [PATCH] [JITLink] Always unmap standard segments in - InProcessMemoryManager::deallocate (#81943) - -Right now InProcessMemoryManager only releases a standard segment (via -sys::Memory::releaseMappedMemory) in `deallocate` when there is a -DeallocAction associated, leaving residual memory pages in the process -until termination. -Despite being a de facto memory leak, it won't cause a major issue if -users only create a single LLJIT instance per process, which is the most -common use cases. It will, however, drain virtual memory pages if we -create thousands of ephemeral LLJIT instances in the same process. - -This patch fixes this issue by releasing every standard segments -regardless of the attached DeallocAction. ---- - llvm/lib/ExecutionEngine/JITLink/JITLinkMemoryManager.cpp | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - ---- a/llvm/lib/ExecutionEngine/JITLink/JITLinkMemoryManager.cpp -+++ b/llvm/lib/ExecutionEngine/JITLink/JITLinkMemoryManager.cpp -@@ -449,8 +449,7 @@ - for (auto &Alloc : Allocs) { - auto *FA = Alloc.release().toPtr(); - StandardSegmentsList.push_back(std::move(FA->StandardSegments)); -- if (!FA->DeallocActions.empty()) -- DeallocActionsList.push_back(std::move(FA->DeallocActions)); -+ DeallocActionsList.push_back(std::move(FA->DeallocActions)); - FA->~FinalizedAllocInfo(); - FinalizedAllocInfos.Deallocate(FA); - } diff --git a/debian/patches/scan-build-clang-path.diff b/debian/patches/scan-build-clang-path.diff index 1876f348..1d4012cc 100644 --- a/debian/patches/scan-build-clang-path.diff +++ b/debian/patches/scan-build-clang-path.diff @@ -2,16 +2,16 @@ clang/tools/scan-build/bin/scan-build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -Index: llvm-toolchain-snapshot_17~++20230517015648+0b6264738f3d/clang/tools/scan-build/bin/scan-build +Index: llvm-toolchain-snapshot_19~++20240220124703+f122268c0441/clang/tools/scan-build/bin/scan-build =================================================================== ---- llvm-toolchain-snapshot_17~++20230517015648+0b6264738f3d.orig/clang/tools/scan-build/bin/scan-build -+++ llvm-toolchain-snapshot_17~++20230517015648+0b6264738f3d/clang/tools/scan-build/bin/scan-build -@@ -1485,7 +1485,7 @@ sub FindClang { +--- llvm-toolchain-snapshot_19~++20240220124703+f122268c0441.orig/clang/tools/scan-build/bin/scan-build ++++ llvm-toolchain-snapshot_19~++20240220124703+f122268c0441/clang/tools/scan-build/bin/scan-build +@@ -1494,7 +1494,7 @@ sub FindClang { if (!defined $Options{AnalyzerDiscoveryMethod}) { $Clang = Cwd::realpath("$RealBin/bin/clang") if (-f "$RealBin/bin/clang"); if (!defined $Clang || ! -x $Clang) { - $Clang = Cwd::realpath("$RealBin/clang") if (-f "$RealBin/clang"); -+ $Clang = Cwd::realpath("/usr/lib/llvm-18/bin/clang"); ++ $Clang = Cwd::realpath("/usr/lib/llvm-19/bin/clang"); if (!defined $Clang || ! -x $Clang) { # When an Xcode toolchain is present, look for a clang in the sibling bin # of the parent of the bin directory. So if scan-build is at diff --git a/debian/patches/scan-build-py-fix-default-bin.diff b/debian/patches/scan-build-py-fix-default-bin.diff index 0f194578..e4f80da9 100644 --- a/debian/patches/scan-build-py-fix-default-bin.diff +++ b/debian/patches/scan-build-py-fix-default-bin.diff @@ -7,7 +7,7 @@ Index: llvm-toolchain-snapshot_17~++20230523093327+96a003b9bf79/clang/tools/scan metavar="", dest="clang", - default="clang", -+ default="clang-18", ++ default="clang-19", help="""'%(prog)s' uses the 'clang' executable relative to itself for static analysis. One can override this behavior with this option by using the 'clang' packaged with Xcode (on OS X) or from the PATH.""", diff --git a/debian/patches/scan-view-fix-path.diff b/debian/patches/scan-view-fix-path.diff index 71284d03..420073b5 100644 --- a/debian/patches/scan-view-fix-path.diff +++ b/debian/patches/scan-view-fix-path.diff @@ -1,8 +1,8 @@ -Index: llvm-toolchain-snapshot_15~++20220407011631+46f0e2ceb487/clang/tools/scan-view/bin/scan-view +Index: llvm-toolchain-snapshot_19~++20240220124703+f122268c0441/clang/tools/scan-view/bin/scan-view =================================================================== ---- llvm-toolchain-snapshot_15~++20220407011631+46f0e2ceb487.orig/clang/tools/scan-view/bin/scan-view -+++ llvm-toolchain-snapshot_15~++20220407011631+46f0e2ceb487/clang/tools/scan-view/bin/scan-view -@@ -65,7 +65,7 @@ def start_browser(port, options): +--- llvm-toolchain-snapshot_19~++20240220124703+f122268c0441.orig/clang/tools/scan-view/bin/scan-view ++++ llvm-toolchain-snapshot_19~++20240220124703+f122268c0441/clang/tools/scan-view/bin/scan-view +@@ -64,7 +64,7 @@ def start_browser(port, options): def run(port, options, root): # Prefer to look relative to the installed binary diff --git a/debian/patches/series b/debian/patches/series index eddf1464..181f57a6 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -21,7 +21,6 @@ debug-jit-path.diff #force-gcc-header-obj.diff do-not-fail-on-unexpected-pass.diff -disable-display-PASS-UNSUPPORTED-XFAIL.diff # Lib names 0044-soname.diff @@ -91,22 +90,7 @@ remove-apple-clang-manpage.diff # 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 @@ -122,7 +106,6 @@ 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 @@ -141,6 +124,7 @@ 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 @@ -148,14 +132,9 @@ link-grpc.diff libclang-major-version-only.diff D148945-revert.diff arm32-defaults.diff +disable-openmp-per-target.diff libsanitizer-timebits.diff -ubuntu-releases.patch -clang-record-gcc-switches-by-default.patch -rename-libllvm.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 diff --git a/debian/patches/silent-gold-utils.diff b/debian/patches/silent-gold-utils.diff index 69bb1a4d..5344eb09 100644 --- a/debian/patches/silent-gold-utils.diff +++ b/debian/patches/silent-gold-utils.diff @@ -15,10 +15,10 @@ test/tools/gold/X86/visibility.ll | 1 + 14 files changed, 19 insertions(+), 2 deletions(-) -Index: llvm-toolchain-snapshot_15~++20220602015647+53efdf33f85a/llvm/test/tools/gold/X86/common_thinlto.ll +Index: llvm-toolchain-snapshot_19~++20240220124703+f122268c0441/llvm/test/tools/gold/X86/common_thinlto.ll =================================================================== ---- llvm-toolchain-snapshot_15~++20220602015647+53efdf33f85a.orig/llvm/test/tools/gold/X86/common_thinlto.ll -+++ llvm-toolchain-snapshot_15~++20220602015647+53efdf33f85a/llvm/test/tools/gold/X86/common_thinlto.ll +--- llvm-toolchain-snapshot_19~++20240220124703+f122268c0441.orig/llvm/test/tools/gold/X86/common_thinlto.ll ++++ llvm-toolchain-snapshot_19~++20240220124703+f122268c0441/llvm/test/tools/gold/X86/common_thinlto.ll @@ -17,6 +17,7 @@ ; RUN: llvm-nm %t3 | FileCheck %s --check-prefix=NM @@ -27,10 +27,10 @@ Index: llvm-toolchain-snapshot_15~++20220602015647+53efdf33f85a/llvm/test/tools/ source_filename = "common1.c" target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" -Index: llvm-toolchain-snapshot_15~++20220602015647+53efdf33f85a/llvm/test/tools/gold/X86/emit-llvm.ll +Index: llvm-toolchain-snapshot_19~++20240220124703+f122268c0441/llvm/test/tools/gold/X86/emit-llvm.ll =================================================================== ---- llvm-toolchain-snapshot_15~++20220602015647+53efdf33f85a.orig/llvm/test/tools/gold/X86/emit-llvm.ll -+++ llvm-toolchain-snapshot_15~++20220602015647+53efdf33f85a/llvm/test/tools/gold/X86/emit-llvm.ll +--- llvm-toolchain-snapshot_19~++20240220124703+f122268c0441.orig/llvm/test/tools/gold/X86/emit-llvm.ll ++++ llvm-toolchain-snapshot_19~++20240220124703+f122268c0441/llvm/test/tools/gold/X86/emit-llvm.ll @@ -21,6 +21,8 @@ ; RUN: not test -a %t4.o @@ -40,10 +40,10 @@ Index: llvm-toolchain-snapshot_15~++20220602015647+53efdf33f85a/llvm/test/tools/ target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" target triple = "x86_64-unknown-linux-gnu" -Index: llvm-toolchain-snapshot_15~++20220602015647+53efdf33f85a/llvm/test/tools/gold/X86/parallel.ll +Index: llvm-toolchain-snapshot_19~++20240220124703+f122268c0441/llvm/test/tools/gold/X86/parallel.ll =================================================================== ---- llvm-toolchain-snapshot_15~++20220602015647+53efdf33f85a.orig/llvm/test/tools/gold/X86/parallel.ll -+++ llvm-toolchain-snapshot_15~++20220602015647+53efdf33f85a/llvm/test/tools/gold/X86/parallel.ll +--- llvm-toolchain-snapshot_19~++20240220124703+f122268c0441.orig/llvm/test/tools/gold/X86/parallel.ll ++++ llvm-toolchain-snapshot_19~++20240220124703+f122268c0441/llvm/test/tools/gold/X86/parallel.ll @@ -5,6 +5,7 @@ ; RUN: llvm-dis %t.1.5.precodegen.bc -o - | FileCheck --check-prefix=CHECK-BC1 %s ; RUN: llvm-nm %t.lto.o | FileCheck --check-prefix=CHECK0 %s @@ -52,10 +52,10 @@ Index: llvm-toolchain-snapshot_15~++20220602015647+53efdf33f85a/llvm/test/tools/ target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" target triple = "x86_64-unknown-linux-gnu" -Index: llvm-toolchain-snapshot_15~++20220602015647+53efdf33f85a/llvm/test/tools/gold/X86/pr19901_thinlto.ll +Index: llvm-toolchain-snapshot_19~++20240220124703+f122268c0441/llvm/test/tools/gold/X86/pr19901_thinlto.ll =================================================================== ---- llvm-toolchain-snapshot_15~++20220602015647+53efdf33f85a.orig/llvm/test/tools/gold/X86/pr19901_thinlto.ll -+++ llvm-toolchain-snapshot_15~++20220602015647+53efdf33f85a/llvm/test/tools/gold/X86/pr19901_thinlto.ll +--- llvm-toolchain-snapshot_19~++20240220124703+f122268c0441.orig/llvm/test/tools/gold/X86/pr19901_thinlto.ll ++++ llvm-toolchain-snapshot_19~++20240220124703+f122268c0441/llvm/test/tools/gold/X86/pr19901_thinlto.ll @@ -4,6 +4,7 @@ ; RUN: --plugin-opt=thinlto \ ; RUN: -shared -m elf_x86_64 -o %t.so %t2.o %t.o @@ -64,10 +64,10 @@ Index: llvm-toolchain-snapshot_15~++20220602015647+53efdf33f85a/llvm/test/tools/ ; CHECK: Symbol { ; CHECK: Name: f -Index: llvm-toolchain-snapshot_15~++20220602015647+53efdf33f85a/llvm/test/tools/gold/X86/slp-vectorize.ll +Index: llvm-toolchain-snapshot_19~++20240220124703+f122268c0441/llvm/test/tools/gold/X86/slp-vectorize.ll =================================================================== ---- llvm-toolchain-snapshot_15~++20220602015647+53efdf33f85a.orig/llvm/test/tools/gold/X86/slp-vectorize.ll -+++ llvm-toolchain-snapshot_15~++20220602015647+53efdf33f85a/llvm/test/tools/gold/X86/slp-vectorize.ll +--- llvm-toolchain-snapshot_19~++20240220124703+f122268c0441.orig/llvm/test/tools/gold/X86/slp-vectorize.ll ++++ llvm-toolchain-snapshot_19~++20240220124703+f122268c0441/llvm/test/tools/gold/X86/slp-vectorize.ll @@ -6,6 +6,7 @@ ; test that the vectorizer is run. @@ -76,10 +76,10 @@ Index: llvm-toolchain-snapshot_15~++20220602015647+53efdf33f85a/llvm/test/tools/ target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" target triple = "x86_64-unknown-linux-gnu" -Index: llvm-toolchain-snapshot_15~++20220602015647+53efdf33f85a/llvm/test/tools/gold/X86/strip_names.ll +Index: llvm-toolchain-snapshot_19~++20240220124703+f122268c0441/llvm/test/tools/gold/X86/strip_names.ll =================================================================== ---- llvm-toolchain-snapshot_15~++20220602015647+53efdf33f85a.orig/llvm/test/tools/gold/X86/strip_names.ll -+++ llvm-toolchain-snapshot_15~++20220602015647+53efdf33f85a/llvm/test/tools/gold/X86/strip_names.ll +--- llvm-toolchain-snapshot_19~++20240220124703+f122268c0441.orig/llvm/test/tools/gold/X86/strip_names.ll ++++ llvm-toolchain-snapshot_19~++20240220124703+f122268c0441/llvm/test/tools/gold/X86/strip_names.ll @@ -25,6 +25,7 @@ ; NONAME: %2 = load i32, ptr @GlobalValueName ; NONAME: %3 = add i32 %0, %2 @@ -88,11 +88,11 @@ Index: llvm-toolchain-snapshot_15~++20220602015647+53efdf33f85a/llvm/test/tools/ target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" target triple = "x86_64-unknown-linux-gnu" -Index: llvm-toolchain-snapshot_15~++20220602015647+53efdf33f85a/llvm/test/tools/gold/X86/thinlto.ll +Index: llvm-toolchain-snapshot_19~++20240220124703+f122268c0441/llvm/test/tools/gold/X86/thinlto.ll =================================================================== ---- llvm-toolchain-snapshot_15~++20220602015647+53efdf33f85a.orig/llvm/test/tools/gold/X86/thinlto.ll -+++ llvm-toolchain-snapshot_15~++20220602015647+53efdf33f85a/llvm/test/tools/gold/X86/thinlto.ll -@@ -148,6 +148,8 @@ +--- llvm-toolchain-snapshot_19~++20240220124703+f122268c0441.orig/llvm/test/tools/gold/X86/thinlto.ll ++++ llvm-toolchain-snapshot_19~++20240220124703+f122268c0441/llvm/test/tools/gold/X86/thinlto.ll +@@ -145,6 +145,8 @@ target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" target triple = "x86_64-unknown-linux-gnu" @@ -101,10 +101,10 @@ Index: llvm-toolchain-snapshot_15~++20220602015647+53efdf33f85a/llvm/test/tools/ declare void @g(...) define void @f() { -Index: llvm-toolchain-snapshot_15~++20220602015647+53efdf33f85a/llvm/test/tools/gold/X86/thinlto_archive.ll +Index: llvm-toolchain-snapshot_19~++20240220124703+f122268c0441/llvm/test/tools/gold/X86/thinlto_archive.ll =================================================================== ---- llvm-toolchain-snapshot_15~++20220602015647+53efdf33f85a.orig/llvm/test/tools/gold/X86/thinlto_archive.ll -+++ llvm-toolchain-snapshot_15~++20220602015647+53efdf33f85a/llvm/test/tools/gold/X86/thinlto_archive.ll +--- llvm-toolchain-snapshot_19~++20240220124703+f122268c0441.orig/llvm/test/tools/gold/X86/thinlto_archive.ll ++++ llvm-toolchain-snapshot_19~++20240220124703+f122268c0441/llvm/test/tools/gold/X86/thinlto_archive.ll @@ -15,6 +15,7 @@ ; RUN: --plugin-opt=jobs=1 \ ; RUN: -shared %t.o %t.a -o %t4 2>&1 | FileCheck %s @@ -113,10 +113,10 @@ Index: llvm-toolchain-snapshot_15~++20220602015647+53efdf33f85a/llvm/test/tools/ target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" target triple = "x86_64-unknown-linux-gnu" -Index: llvm-toolchain-snapshot_15~++20220602015647+53efdf33f85a/llvm/test/tools/gold/X86/thinlto_internalize.ll +Index: llvm-toolchain-snapshot_19~++20240220124703+f122268c0441/llvm/test/tools/gold/X86/thinlto_internalize.ll =================================================================== ---- llvm-toolchain-snapshot_15~++20220602015647+53efdf33f85a.orig/llvm/test/tools/gold/X86/thinlto_internalize.ll -+++ llvm-toolchain-snapshot_15~++20220602015647+53efdf33f85a/llvm/test/tools/gold/X86/thinlto_internalize.ll +--- llvm-toolchain-snapshot_19~++20240220124703+f122268c0441.orig/llvm/test/tools/gold/X86/thinlto_internalize.ll ++++ llvm-toolchain-snapshot_19~++20240220124703+f122268c0441/llvm/test/tools/gold/X86/thinlto_internalize.ll @@ -14,6 +14,8 @@ ; h() should be internalized after promotion, and eliminated after inlining ; CHECK-NOT: @h.llvm. @@ -126,10 +126,10 @@ Index: llvm-toolchain-snapshot_15~++20220602015647+53efdf33f85a/llvm/test/tools/ target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" target triple = "x86_64-unknown-linux-gnu" define i32 @g() { -Index: llvm-toolchain-snapshot_15~++20220602015647+53efdf33f85a/llvm/test/tools/gold/X86/thinlto_linkonceresolution.ll +Index: llvm-toolchain-snapshot_19~++20240220124703+f122268c0441/llvm/test/tools/gold/X86/thinlto_linkonceresolution.ll =================================================================== ---- llvm-toolchain-snapshot_15~++20220602015647+53efdf33f85a.orig/llvm/test/tools/gold/X86/thinlto_linkonceresolution.ll -+++ llvm-toolchain-snapshot_15~++20220602015647+53efdf33f85a/llvm/test/tools/gold/X86/thinlto_linkonceresolution.ll +--- llvm-toolchain-snapshot_19~++20240220124703+f122268c0441.orig/llvm/test/tools/gold/X86/thinlto_linkonceresolution.ll ++++ llvm-toolchain-snapshot_19~++20240220124703+f122268c0441/llvm/test/tools/gold/X86/thinlto_linkonceresolution.ll @@ -23,6 +23,8 @@ ; OPT-NOT: @f() ; OPT2: define weak_odr hidden void @f() @@ -139,10 +139,10 @@ Index: llvm-toolchain-snapshot_15~++20220602015647+53efdf33f85a/llvm/test/tools/ target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" target triple = "x86_64-unknown-linux-gnu" define i32 @g() { -Index: llvm-toolchain-snapshot_15~++20220602015647+53efdf33f85a/llvm/test/tools/gold/X86/thinlto_weak_resolution.ll +Index: llvm-toolchain-snapshot_19~++20240220124703+f122268c0441/llvm/test/tools/gold/X86/thinlto_weak_resolution.ll =================================================================== ---- llvm-toolchain-snapshot_15~++20220602015647+53efdf33f85a.orig/llvm/test/tools/gold/X86/thinlto_weak_resolution.ll -+++ llvm-toolchain-snapshot_15~++20220602015647+53efdf33f85a/llvm/test/tools/gold/X86/thinlto_weak_resolution.ll +--- llvm-toolchain-snapshot_19~++20240220124703+f122268c0441.orig/llvm/test/tools/gold/X86/thinlto_weak_resolution.ll ++++ llvm-toolchain-snapshot_19~++20240220124703+f122268c0441/llvm/test/tools/gold/X86/thinlto_weak_resolution.ll @@ -9,6 +9,7 @@ ; RUN: --plugin-opt=save-temps \ ; RUN: -shared \ @@ -151,10 +151,10 @@ Index: llvm-toolchain-snapshot_15~++20220602015647+53efdf33f85a/llvm/test/tools/ ; RUN: llvm-nm %t3.o | FileCheck %s ; CHECK: weakfunc -Index: llvm-toolchain-snapshot_15~++20220602015647+53efdf33f85a/llvm/test/tools/gold/X86/type-merge2.ll +Index: llvm-toolchain-snapshot_19~++20240220124703+f122268c0441/llvm/test/tools/gold/X86/type-merge2.ll =================================================================== ---- llvm-toolchain-snapshot_15~++20220602015647+53efdf33f85a.orig/llvm/test/tools/gold/X86/type-merge2.ll -+++ llvm-toolchain-snapshot_15~++20220602015647+53efdf33f85a/llvm/test/tools/gold/X86/type-merge2.ll +--- llvm-toolchain-snapshot_19~++20240220124703+f122268c0441.orig/llvm/test/tools/gold/X86/type-merge2.ll ++++ llvm-toolchain-snapshot_19~++20240220124703+f122268c0441/llvm/test/tools/gold/X86/type-merge2.ll @@ -6,6 +6,8 @@ ; RUN: -shared %t.o %t2.o -o %t3.o ; RUN: llvm-dis %t3.o.0.2.internalize.bc -o - | FileCheck %s @@ -164,10 +164,10 @@ Index: llvm-toolchain-snapshot_15~++20220602015647+53efdf33f85a/llvm/test/tools/ target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" target triple = "x86_64-unknown-linux-gnu" -Index: llvm-toolchain-snapshot_15~++20220602015647+53efdf33f85a/llvm/test/tools/gold/X86/vectorize.ll +Index: llvm-toolchain-snapshot_19~++20240220124703+f122268c0441/llvm/test/tools/gold/X86/vectorize.ll =================================================================== ---- llvm-toolchain-snapshot_15~++20220602015647+53efdf33f85a.orig/llvm/test/tools/gold/X86/vectorize.ll -+++ llvm-toolchain-snapshot_15~++20220602015647+53efdf33f85a/llvm/test/tools/gold/X86/vectorize.ll +--- llvm-toolchain-snapshot_19~++20240220124703+f122268c0441.orig/llvm/test/tools/gold/X86/vectorize.ll ++++ llvm-toolchain-snapshot_19~++20240220124703+f122268c0441/llvm/test/tools/gold/X86/vectorize.ll @@ -6,6 +6,7 @@ ; test that the vectorizer is run. @@ -176,10 +176,10 @@ Index: llvm-toolchain-snapshot_15~++20220602015647+53efdf33f85a/llvm/test/tools/ target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" target triple = "x86_64-unknown-linux-gnu" -Index: llvm-toolchain-snapshot_15~++20220602015647+53efdf33f85a/llvm/test/tools/gold/X86/visibility.ll +Index: llvm-toolchain-snapshot_19~++20240220124703+f122268c0441/llvm/test/tools/gold/X86/visibility.ll =================================================================== ---- llvm-toolchain-snapshot_15~++20220602015647+53efdf33f85a.orig/llvm/test/tools/gold/X86/visibility.ll -+++ llvm-toolchain-snapshot_15~++20220602015647+53efdf33f85a/llvm/test/tools/gold/X86/visibility.ll +--- llvm-toolchain-snapshot_19~++20240220124703+f122268c0441.orig/llvm/test/tools/gold/X86/visibility.ll ++++ llvm-toolchain-snapshot_19~++20240220124703+f122268c0441/llvm/test/tools/gold/X86/visibility.ll @@ -16,6 +16,7 @@ ; CHECK-NEXT: Other [ ; CHECK-NEXT: STV_PROTECTED diff --git a/debian/patches/silent-integration-test-suite-i386.diff b/debian/patches/silent-integration-test-suite-i386.diff deleted file mode 100644 index 79eee6d1..00000000 --- a/debian/patches/silent-integration-test-suite-i386.diff +++ /dev/null @@ -1,49 +0,0 @@ -Index: llvm-toolchain-11_11.0.1~++20201112101029+0874e7ef66c/integration-test-suite/tests/basic_lldb.c -=================================================================== ---- llvm-toolchain-11_11.0.1~++20201112101029+0874e7ef66c.orig/integration-test-suite/tests/basic_lldb.c -+++ llvm-toolchain-11_11.0.1~++20201112101029+0874e7ef66c/integration-test-suite/tests/basic_lldb.c -@@ -1,6 +1,7 @@ - // RUN: %clang -g -o %t %s - // RUN: %lldb -s %S/basic_lldb.in %t | grep "main at basic_lldb.c:" - // REQUIRES: lldb, clang -+// XFAIL: i686, i386 - - int main() { - int a=0; -Index: llvm-toolchain-11_11.0.1~++20201112101029+0874e7ef66c/integration-test-suite/tests/basic_lldb2.cpp -=================================================================== ---- llvm-toolchain-11_11.0.1~++20201112101029+0874e7ef66c.orig/integration-test-suite/tests/basic_lldb2.cpp -+++ llvm-toolchain-11_11.0.1~++20201112101029+0874e7ef66c/integration-test-suite/tests/basic_lldb2.cpp -@@ -1,6 +1,7 @@ - // RUN: %clangxx -g -o %t %s - // RUN: %lldb -s %S/basic_lldb2.in %t | grep "stop reason = step over" - // REQUIRES: lldb, clangxx -+// XFAIL: i686, i386 - - #include - int main (void) -Index: llvm-toolchain-11_11.0.1~++20201112101029+0874e7ef66c/integration-test-suite/tests/test_asan_lc.c -=================================================================== ---- llvm-toolchain-11_11.0.1~++20201112101029+0874e7ef66c.orig/integration-test-suite/tests/test_asan_lc.c -+++ llvm-toolchain-11_11.0.1~++20201112101029+0874e7ef66c/integration-test-suite/tests/test_asan_lc.c -@@ -3,6 +3,7 @@ - // REQUIRES: clang - // RUN: %clang -fsanitize=address %s -o %t -lc - // RUN: %t -+// XFAIL: i686, i386 - - #include - int main(int argc, char **argv) -Index: llvm-toolchain-11_11.0.1~++20201112101029+0874e7ef66c/integration-test-suite/tests/test_tsan.c -=================================================================== ---- llvm-toolchain-11_11.0.1~++20201112101029+0874e7ef66c.orig/integration-test-suite/tests/test_tsan.c -+++ llvm-toolchain-11_11.0.1~++20201112101029+0874e7ef66c/integration-test-suite/tests/test_tsan.c -@@ -5,7 +5,7 @@ - // RUN: %llvm-nm %t | grep __tsan - // RUN: env TSAN_OPTIONS="log_path=stdout:exitcode=0" %t 2>&1 > %t.out - // RUN: grep -q "data race" %t.out --// XFAIL: arm -+// XFAIL: arm, i686, i386 - - #include - #include diff --git a/debian/patches/symbolizer-path.diff b/debian/patches/symbolizer-path.diff index d94593d3..a3fa2b29 100644 --- a/debian/patches/symbolizer-path.diff +++ b/debian/patches/symbolizer-path.diff @@ -1,8 +1,8 @@ -Index: llvm-toolchain-snapshot_17~++20230429100906+81b1f4746f8a/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_posix_libcdep.cpp +Index: llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_posix_libcdep.cpp =================================================================== ---- llvm-toolchain-snapshot_17~++20230429100906+81b1f4746f8a.orig/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_posix_libcdep.cpp -+++ llvm-toolchain-snapshot_17~++20230429100906+81b1f4746f8a/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_posix_libcdep.cpp -@@ -33,6 +33,11 @@ +--- llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e.orig/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_posix_libcdep.cpp ++++ llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_posix_libcdep.cpp +@@ -34,6 +34,11 @@ # include "sanitizer_symbolizer_libbacktrace.h" # include "sanitizer_symbolizer_mac.h" @@ -14,7 +14,7 @@ Index: llvm-toolchain-snapshot_17~++20230429100906+81b1f4746f8a/compiler-rt/lib/ // C++ demangling function, as required by Itanium C++ ABI. This is weak, // because we do not require a C++ ABI library to be linked to a program // using sanitizers; if it's not present, we'll just use the mangled name. -@@ -451,7 +456,7 @@ static SymbolizerTool *ChooseExternalSym +@@ -450,7 +455,7 @@ static SymbolizerTool *ChooseExternalSym return new(*allocator) AtosSymbolizer(found_path, allocator); } #endif // SANITIZER_APPLE @@ -23,11 +23,11 @@ Index: llvm-toolchain-snapshot_17~++20230429100906+81b1f4746f8a/compiler-rt/lib/ VReport(2, "Using llvm-symbolizer found at: %s\n", found_path); return new(*allocator) LLVMSymbolizer(found_path, allocator); } -Index: llvm-toolchain-snapshot_17~++20230429100906+81b1f4746f8a/compiler-rt/lib/sanitizer_common/CMakeLists.txt +Index: llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e/compiler-rt/lib/sanitizer_common/CMakeLists.txt =================================================================== ---- llvm-toolchain-snapshot_17~++20230429100906+81b1f4746f8a.orig/compiler-rt/lib/sanitizer_common/CMakeLists.txt -+++ llvm-toolchain-snapshot_17~++20230429100906+81b1f4746f8a/compiler-rt/lib/sanitizer_common/CMakeLists.txt -@@ -203,6 +203,7 @@ set(SANITIZER_IMPL_HEADERS +--- llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e.orig/compiler-rt/lib/sanitizer_common/CMakeLists.txt ++++ llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e/compiler-rt/lib/sanitizer_common/CMakeLists.txt +@@ -211,6 +211,7 @@ set(SANITIZER_IMPL_HEADERS ) include_directories(..) diff --git a/debian/patches/ubuntu-releases.patch b/debian/patches/ubuntu-releases.patch deleted file mode 100644 index 5763c481..00000000 --- a/debian/patches/ubuntu-releases.patch +++ /dev/null @@ -1,44 +0,0 @@ -From 90bd7234e36e5b3d63155f481b739ea463985631 Mon Sep 17 00:00:00 2001 -From: Sylvestre Ledru -Date: Thu, 2 May 2024 22:54:08 +0200 -Subject: [PATCH] Add support of the next Ubuntu (Ubuntu 24.10 - Oracular - Oriol) - ---- - clang/include/clang/Driver/Distro.h | 3 ++- - clang/lib/Driver/Distro.cpp | 1 + - 2 files changed, 3 insertions(+), 1 deletion(-) - -diff --git a/clang/include/clang/Driver/Distro.h b/clang/include/clang/Driver/Distro.h -index a8de94163e8b0b..1404e168684821 100644 ---- a/clang/include/clang/Driver/Distro.h -+++ b/clang/include/clang/Driver/Distro.h -@@ -79,6 +79,7 @@ class Distro { - UbuntuLunar, - UbuntuMantic, - UbuntuNoble, -+ UbuntuOracular, - UnknownDistro - }; - -@@ -130,7 +131,7 @@ class Distro { - } - - bool IsUbuntu() const { -- return DistroVal >= UbuntuHardy && DistroVal <= UbuntuNoble; -+ return DistroVal >= UbuntuHardy && DistroVal <= UbuntuOracular; - } - - bool IsAlpineLinux() const { return DistroVal == AlpineLinux; } -diff --git a/clang/lib/Driver/Distro.cpp b/clang/lib/Driver/Distro.cpp -index a7e7f169dc1419..6f49e641104ccd 100644 ---- a/clang/lib/Driver/Distro.cpp -+++ b/clang/lib/Driver/Distro.cpp -@@ -95,6 +95,7 @@ static Distro::DistroType DetectLsbRelease(llvm::vfs::FileSystem &VFS) { - .Case("lunar", Distro::UbuntuLunar) - .Case("mantic", Distro::UbuntuMantic) - .Case("noble", Distro::UbuntuNoble) -+ .Case("oracular", Distro::UbuntuOracular) - .Default(Distro::UnknownDistro); - return Version; - } diff --git a/debian/patches/unbreak-atomic-mips.diff b/debian/patches/unbreak-atomic-mips.diff deleted file mode 100644 index 9b251453..00000000 --- a/debian/patches/unbreak-atomic-mips.diff +++ /dev/null @@ -1,18 +0,0 @@ -Index: llvm-toolchain-snapshot_17~++20230517015648+0b6264738f3d/compiler-rt/lib/scudo/standalone/CMakeLists.txt -=================================================================== ---- llvm-toolchain-snapshot_17~++20230517015648+0b6264738f3d.orig/compiler-rt/lib/scudo/standalone/CMakeLists.txt -+++ llvm-toolchain-snapshot_17~++20230517015648+0b6264738f3d/compiler-rt/lib/scudo/standalone/CMakeLists.txt -@@ -178,6 +178,13 @@ if(COMPILER_RT_DEFAULT_TARGET_ARCH MATCH - list(APPEND SCUDO_LINK_LIBS atomic) - endif() - -+if(CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "mips" OR -+ CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "mips64" OR -+ CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "mipsel" OR -+ CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "mips64el") -+ list(APPEND SCUDO_LINK_LIBS atomic) -+endif() -+ - if(COMPILER_RT_HAS_SCUDO_STANDALONE) - add_compiler_rt_object_libraries(RTScudoStandalone - ARCHS ${SCUDO_STANDALONE_SUPPORTED_ARCH} diff --git a/debian/patches/unwind-chain-inclusion.diff b/debian/patches/unwind-chain-inclusion.diff index 4918aaec..92c12a70 100644 --- a/debian/patches/unwind-chain-inclusion.diff +++ b/debian/patches/unwind-chain-inclusion.diff @@ -8,10 +8,10 @@ clang/lib/Headers/unwind.h | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) -Index: llvm-toolchain-snapshot_15~++20220407011631+46f0e2ceb487/clang/lib/Headers/unwind.h +Index: llvm-toolchain-snapshot_19~++20240220124703+f122268c0441/clang/lib/Headers/unwind.h =================================================================== ---- llvm-toolchain-snapshot_15~++20220407011631+46f0e2ceb487.orig/clang/lib/Headers/unwind.h -+++ llvm-toolchain-snapshot_15~++20220407011631+46f0e2ceb487/clang/lib/Headers/unwind.h +--- llvm-toolchain-snapshot_19~++20240220124703+f122268c0441.orig/clang/lib/Headers/unwind.h ++++ llvm-toolchain-snapshot_19~++20240220124703+f122268c0441/clang/lib/Headers/unwind.h @@ -9,9 +9,6 @@ /* See "Data Definitions for libgcc_s" in the Linux Standard Base.*/ @@ -32,7 +32,7 @@ Index: llvm-toolchain-snapshot_15~++20220407011631+46f0e2ceb487/clang/lib/Header #include #ifdef __cplusplus -@@ -323,6 +323,7 @@ _Unwind_Ptr _Unwind_GetTextRelBase(struc +@@ -327,6 +327,7 @@ _Unwind_Ptr _Unwind_GetTextRelBase(struc } #endif diff --git a/debian/patches/unwind-force-pthread-dl.diff b/debian/patches/unwind-force-pthread-dl.diff index 4b2fdeaa..e51974bb 100644 --- a/debian/patches/unwind-force-pthread-dl.diff +++ b/debian/patches/unwind-force-pthread-dl.diff @@ -1,8 +1,8 @@ -Index: llvm-toolchain-18_18.1.2/libunwind/CMakeLists.txt +Index: llvm-toolchain-snapshot_19~++20240711013116+0ff13f72c974/libunwind/CMakeLists.txt =================================================================== ---- llvm-toolchain-18_18.1.2.orig/libunwind/CMakeLists.txt -+++ llvm-toolchain-18_18.1.2/libunwind/CMakeLists.txt -@@ -301,14 +301,17 @@ if (MSVC) +--- llvm-toolchain-snapshot_19~++20240711013116+0ff13f72c974.orig/libunwind/CMakeLists.txt ++++ llvm-toolchain-snapshot_19~++20240711013116+0ff13f72c974/libunwind/CMakeLists.txt +@@ -303,14 +303,17 @@ if (MSVC) add_definitions(-D_CRT_SECURE_NO_WARNINGS) endif() diff --git a/debian/patches/wasm/wasm-compiler-rt-default.diff b/debian/patches/wasm/wasm-compiler-rt-default.diff index ec3fc0c9..43d8d724 100644 --- a/debian/patches/wasm/wasm-compiler-rt-default.diff +++ b/debian/patches/wasm/wasm-compiler-rt-default.diff @@ -1,8 +1,8 @@ -Index: llvm-toolchain-18_18.1.2/clang/lib/Driver/ToolChains/WebAssembly.cpp +Index: llvm-toolchain-snapshot_19~++20240711013116+0ff13f72c974/clang/lib/Driver/ToolChains/WebAssembly.cpp =================================================================== ---- llvm-toolchain-18_18.1.2.orig/clang/lib/Driver/ToolChains/WebAssembly.cpp -+++ llvm-toolchain-18_18.1.2/clang/lib/Driver/ToolChains/WebAssembly.cpp -@@ -421,6 +421,18 @@ ToolChain::RuntimeLibType WebAssembly::G +--- llvm-toolchain-snapshot_19~++20240711013116+0ff13f72c974.orig/clang/lib/Driver/ToolChains/WebAssembly.cpp ++++ llvm-toolchain-snapshot_19~++20240711013116+0ff13f72c974/clang/lib/Driver/ToolChains/WebAssembly.cpp +@@ -457,6 +457,18 @@ ToolChain::RuntimeLibType WebAssembly::G return ToolChain::RLT_CompilerRT; } @@ -21,10 +21,10 @@ Index: llvm-toolchain-18_18.1.2/clang/lib/Driver/ToolChains/WebAssembly.cpp ToolChain::CXXStdlibType WebAssembly::GetCXXStdlibType(const ArgList &Args) const { if (Arg *A = Args.getLastArg(options::OPT_stdlib_EQ)) { -Index: llvm-toolchain-18_18.1.2/clang/lib/Driver/ToolChains/WebAssembly.h +Index: llvm-toolchain-snapshot_19~++20240711013116+0ff13f72c974/clang/lib/Driver/ToolChains/WebAssembly.h =================================================================== ---- llvm-toolchain-18_18.1.2.orig/clang/lib/Driver/ToolChains/WebAssembly.h -+++ llvm-toolchain-18_18.1.2/clang/lib/Driver/ToolChains/WebAssembly.h +--- llvm-toolchain-snapshot_19~++20240711013116+0ff13f72c974.orig/clang/lib/Driver/ToolChains/WebAssembly.h ++++ llvm-toolchain-snapshot_19~++20240711013116+0ff13f72c974/clang/lib/Driver/ToolChains/WebAssembly.h @@ -56,6 +56,7 @@ private: llvm::opt::ArgStringList &CC1Args, Action::OffloadKind DeviceOffloadKind) const override; diff --git a/debian/patches/wasm/wasm-ld-path.diff b/debian/patches/wasm/wasm-ld-path.diff index 4a192d0d..61fcede2 100644 --- a/debian/patches/wasm/wasm-ld-path.diff +++ b/debian/patches/wasm/wasm-ld-path.diff @@ -1,7 +1,7 @@ -Index: llvm-toolchain-snapshot_19~++20240319094628+703920d4138d/clang/lib/Driver/ToolChains/WebAssembly.cpp +Index: llvm-toolchain-snapshot_19~++20240711013116+0ff13f72c974/clang/lib/Driver/ToolChains/WebAssembly.cpp =================================================================== ---- llvm-toolchain-snapshot_19~++20240319094628+703920d4138d.orig/clang/lib/Driver/ToolChains/WebAssembly.cpp -+++ llvm-toolchain-snapshot_19~++20240319094628+703920d4138d/clang/lib/Driver/ToolChains/WebAssembly.cpp +--- llvm-toolchain-snapshot_19~++20240711013116+0ff13f72c974.orig/clang/lib/Driver/ToolChains/WebAssembly.cpp ++++ llvm-toolchain-snapshot_19~++20240711013116+0ff13f72c974/clang/lib/Driver/ToolChains/WebAssembly.cpp @@ -20,6 +20,11 @@ #include "llvm/Support/Path.h" #include "llvm/Support/VirtualFileSystem.h" @@ -14,7 +14,7 @@ Index: llvm-toolchain-snapshot_19~++20240319094628+703920d4138d/clang/lib/Driver using namespace clang::driver; using namespace clang::driver::tools; using namespace clang::driver::toolchains; -@@ -241,7 +246,7 @@ WebAssembly::WebAssembly(const Driver &D +@@ -243,7 +248,7 @@ WebAssembly::WebAssembly(const Driver &D const char *WebAssembly::getDefaultLinker() const { if (getOS() == "wasip2") return "wasm-component-ld"; diff --git a/debian/patches/wasm/wasm-sysroot-usr.diff b/debian/patches/wasm/wasm-sysroot-usr.diff index 480b7443..0cc694e5 100644 --- a/debian/patches/wasm/wasm-sysroot-usr.diff +++ b/debian/patches/wasm/wasm-sysroot-usr.diff @@ -1,17 +1,17 @@ -Index: llvm-toolchain-18_18.1.2/clang/lib/Driver/ToolChains/WebAssembly.cpp +Index: llvm-toolchain-snapshot_19~++20240711013116+0ff13f72c974/clang/lib/Driver/ToolChains/WebAssembly.cpp =================================================================== ---- llvm-toolchain-18_18.1.2.orig/clang/lib/Driver/ToolChains/WebAssembly.cpp -+++ llvm-toolchain-18_18.1.2/clang/lib/Driver/ToolChains/WebAssembly.cpp -@@ -222,7 +222,7 @@ WebAssembly::WebAssembly(const Driver &D +--- llvm-toolchain-snapshot_19~++20240711013116+0ff13f72c974.orig/clang/lib/Driver/ToolChains/WebAssembly.cpp ++++ llvm-toolchain-snapshot_19~++20240711013116+0ff13f72c974/clang/lib/Driver/ToolChains/WebAssembly.cpp +@@ -224,7 +224,7 @@ WebAssembly::WebAssembly(const Driver &D - getProgramPaths().push_back(getDriver().getInstalledDir()); + getProgramPaths().push_back(getDriver().Dir); - auto SysRoot = getDriver().SysRoot; + std::string SysRoot = computeSysRoot(); if (getTriple().getOS() == llvm::Triple::UnknownOS) { // Theoretically an "unknown" OS should mean no standard libraries, however // it could also mean that a custom set of libraries is in use, so just add -@@ -454,6 +454,7 @@ void WebAssembly::AddClangSystemIncludeA +@@ -490,6 +490,7 @@ void WebAssembly::AddClangSystemIncludeA return; const Driver &D = getDriver(); @@ -19,7 +19,7 @@ Index: llvm-toolchain-18_18.1.2/clang/lib/Driver/ToolChains/WebAssembly.cpp if (!DriverArgs.hasArg(options::OPT_nobuiltininc)) { SmallString<128> P(D.ResourceDir); -@@ -477,12 +478,20 @@ void WebAssembly::AddClangSystemIncludeA +@@ -513,12 +514,20 @@ void WebAssembly::AddClangSystemIncludeA return; } @@ -43,7 +43,7 @@ Index: llvm-toolchain-18_18.1.2/clang/lib/Driver/ToolChains/WebAssembly.cpp } void WebAssembly::AddClangCXXStdlibIncludeArgs(const ArgList &DriverArgs, -@@ -533,6 +542,17 @@ Tool *WebAssembly::buildLinker() const { +@@ -569,6 +578,17 @@ Tool *WebAssembly::buildLinker() const { return new tools::wasm::Linker(*this); } @@ -61,7 +61,7 @@ Index: llvm-toolchain-18_18.1.2/clang/lib/Driver/ToolChains/WebAssembly.cpp void WebAssembly::addLibCxxIncludePaths( const llvm::opt::ArgList &DriverArgs, llvm::opt::ArgStringList &CC1Args) const { -@@ -543,18 +563,22 @@ void WebAssembly::addLibCxxIncludePaths( +@@ -579,18 +599,22 @@ void WebAssembly::addLibCxxIncludePaths( getMultiarchTriple(D, getTriple(), SysRoot); bool IsKnownOs = (getTriple().getOS() != llvm::Triple::UnknownOS); @@ -91,7 +91,7 @@ Index: llvm-toolchain-18_18.1.2/clang/lib/Driver/ToolChains/WebAssembly.cpp } void WebAssembly::addLibStdCXXIncludePaths( -@@ -601,8 +625,11 @@ void WebAssembly::addLibStdCXXIncludePat +@@ -637,8 +661,11 @@ void WebAssembly::addLibStdCXXIncludePat addSystemInclude(DriverArgs, CC1Args, TargetDir); } @@ -107,10 +107,10 @@ Index: llvm-toolchain-18_18.1.2/clang/lib/Driver/ToolChains/WebAssembly.cpp + addSystemInclude(DriverArgs, CC1Args, LibPath + "/c++/" + Version + "/backward"); + } } -Index: llvm-toolchain-18_18.1.2/clang/lib/Driver/ToolChains/WebAssembly.h +Index: llvm-toolchain-snapshot_19~++20240711013116+0ff13f72c974/clang/lib/Driver/ToolChains/WebAssembly.h =================================================================== ---- llvm-toolchain-18_18.1.2.orig/clang/lib/Driver/ToolChains/WebAssembly.h -+++ llvm-toolchain-18_18.1.2/clang/lib/Driver/ToolChains/WebAssembly.h +--- llvm-toolchain-snapshot_19~++20240711013116+0ff13f72c974.orig/clang/lib/Driver/ToolChains/WebAssembly.h ++++ llvm-toolchain-snapshot_19~++20240711013116+0ff13f72c974/clang/lib/Driver/ToolChains/WebAssembly.h @@ -84,6 +84,8 @@ private: llvm::opt::ArgStringList &CC1Args) const; void addLibStdCXXIncludePaths(const llvm::opt::ArgList &DriverArgs, diff --git a/debian/patches/workaround-bug-48259.diff b/debian/patches/workaround-bug-48259.diff deleted file mode 100644 index 39d59c29..00000000 --- a/debian/patches/workaround-bug-48259.diff +++ /dev/null @@ -1,15 +0,0 @@ -Index: llvm-toolchain-snapshot_12~++20201124100523+245052ac3080/llvm/include/llvm/Support/Recycler.h -=================================================================== ---- llvm-toolchain-snapshot_12~++20201124100523+245052ac3080.orig/llvm/include/llvm/Support/Recycler.h -+++ llvm-toolchain-snapshot_12~++20201124100523+245052ac3080/llvm/include/llvm/Support/Recycler.h -@@ -83,8 +83,8 @@ public: - SubClass *Allocate(AllocatorType &Allocator) { - static_assert(alignof(SubClass) <= Align, - "Recycler allocation alignment is less than object align!"); -- static_assert(sizeof(SubClass) <= Size, -- "Recycler allocation size is less than object size!"); -+// static_assert(sizeof(SubClass) <= Size, -+// "Recycler allocation size is less than object size!"); - return FreeList ? reinterpret_cast(pop_val()) - : static_cast(Allocator.Allocate(Size, Align)); - } diff --git a/debian/qualify-clang.sh b/debian/qualify-clang.sh index 642792a3..5d702935 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 python3-lldb-${VERSION}_${DETAILED_VERSION}_amd64.deb python3-clang-${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 libclang-cpp${VERSION}_${DETAILED_VERSION}_amd64.deb clang-tidy-${VERSION}_${DETAILED_VERSION}_amd64.deb libclang-cpp${VERSION}-dev_${DETAILED_VERSION}_amd64.deb libclc-${VERSION}_${DETAILED_VERSION}_all.deb libclc-${VERSION}-dev_${DETAILED_VERSION}_all.deb llvm-${VERSION}-linker-tools_${DETAILED_VERSION}_amd64.deb libunwind-${VERSION}_${DETAILED_VERSION}_amd64.deb libunwind-${VERSION}-dev_${DETAILED_VERSION}_amd64.deb libmlir-${VERSION}_${DETAILED_VERSION}_amd64.deb libmlir-${VERSION}-dev_${DETAILED_VERSION}_amd64.deb libclang-rt-${VERSION}-dev_${DETAILED_VERSION}_amd64.deb libclang-rt-${VERSION}-dev-wasm32_${DETAILED_VERSION}_all.deb libclang-rt-${VERSION}-dev-wasm64_${DETAILED_VERSION}_all.deb libc++abi-${VERSION}-dev-wasm32_${DETAILED_VERSION}_all.deb libc++-${VERSION}-dev-wasm32_${DETAILED_VERSION}_all.deb libpolly-${VERSION}-dev_${DETAILED_VERSION}_amd64.deb bolt-${VERSION}_${DETAILED_VERSION}_amd64.deb libbolt-${VERSION}-dev_${DETAILED_VERSION}_amd64.deb flang-${VERSION}_${DETAILED_VERSION}_amd64.deb libflang-${VERSION}-dev_${DETAILED_VERSION}_amd64.deb libllvmlibc-${VERSION}-dev_${DETAILED_VERSION}_amd64.deb " +LIST="libomp5-${VERSION}_${DETAILED_VERSION}_amd64.deb libomp-${VERSION}-dev_${DETAILED_VERSION}_amd64.deb lldb-${VERSION}_${DETAILED_VERSION}_amd64.deb python3-lldb-${VERSION}_${DETAILED_VERSION}_amd64.deb python3-clang-${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}_all.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 libclang-cpp${VERSION}_${DETAILED_VERSION}_amd64.deb clang-tidy-${VERSION}_${DETAILED_VERSION}_amd64.deb libclang-cpp${VERSION}-dev_${DETAILED_VERSION}_amd64.deb libclc-${VERSION}_${DETAILED_VERSION}_all.deb libclc-${VERSION}-dev_${DETAILED_VERSION}_all.deb llvm-${VERSION}-linker-tools_${DETAILED_VERSION}_amd64.deb libunwind-${VERSION}_${DETAILED_VERSION}_amd64.deb libunwind-${VERSION}-dev_${DETAILED_VERSION}_amd64.deb libmlir-${VERSION}_${DETAILED_VERSION}_amd64.deb libmlir-${VERSION}-dev_${DETAILED_VERSION}_amd64.deb libclang-rt-${VERSION}-dev_${DETAILED_VERSION}_amd64.deb libclang-rt-${VERSION}-dev-wasm32_${DETAILED_VERSION}_all.deb libclang-rt-${VERSION}-dev-wasm64_${DETAILED_VERSION}_all.deb libc++abi-${VERSION}-dev-wasm32_${DETAILED_VERSION}_all.deb libc++-${VERSION}-dev-wasm32_${DETAILED_VERSION}_all.deb libpolly-${VERSION}-dev_${DETAILED_VERSION}_amd64.deb bolt-${VERSION}_${DETAILED_VERSION}_amd64.deb libbolt-${VERSION}-dev_${DETAILED_VERSION}_amd64.deb flang-${VERSION}_${DETAILED_VERSION}_amd64.deb libflang-${VERSION}-dev_${DETAILED_VERSION}_amd64.deb libllvmlibc-${VERSION}-dev_${DETAILED_VERSION}_amd64.deb " echo "To install everything:" echo "sudo apt --purge remove 'libomp5-*' 'libc++*dev' 'libc++*' 'python3-lldb-*' 'libunwind-*' 'libclc-*' 'libclc-*dev' 'libmlir-*'" @@ -25,29 +25,11 @@ if test ! -f /usr/bin/llvm-config-$VERSION; then echo "Install llvm-$VERSION & llvm-$VERSION-dev" exit 1 fi -if test ! -e /usr/lib/llvm-$VERSION/lib/libLLVMObject.a; then +if test ! -f /usr/lib/llvm-$VERSION/lib/libLLVM-$VERSION.so; then echo "Install llvm-$VERSION-dev" exit 1 fi -# allow usr/lib/llvm-@LLVM_VERSION@/lib/libLLVM-@LLVM_VERSION@*.so -# as it is in llvm-X.Y-dev -NBLINES=$(ls -1 /usr/lib/llvm-$VERSION/lib/libLLVM*.so*|wc -l) -if test $NBLINES -ne 2; then - echo "Found some libLLVM into /usr/lib/llvm-$VERSION/lib/" - echo "See:" - ls -al /usr/lib/llvm-$VERSION/lib/libLLVM*.so* - echo "Break the build as it breaks the coinstalability" - echo "we should have only two for llvm-X.Y-dev" - exit 1 -fi - -NBLINES=$(dpkg -L libllvm$VERSION|grep libLLVM.so.$VERSION.1|wc -l) -if test $NBLINES -eq 0; then - echo "libLLVM.so.$VERSION.1 should exist. Could not find it in libllvm$VERSION" - exit 1 -fi - echo "Testing llvm-$VERSION and llvm-$VERSION-dev ..." llvm-config-$VERSION --link-shared --libs &> /dev/null @@ -297,7 +279,6 @@ rm -rf cmaketest echo "Testing clang-$VERSION ..." -ARCH=$(clang-$VERSION -dumpmachine) rm -f foo.log echo 'int main() {return 0;}' > foo.c @@ -487,12 +468,6 @@ echo '#include int main() { }' > foo.cpp clang++-$VERSION -std=c++11 foo.cpp -if test -f /usr/lib/llvm-$VERSION/lib/libclang.so.1; then - echo "/usr/lib/llvm-$VERSION/lib/libclang.so.1 found." - echo "Break the build as it breaks the coinstalability" - exit 1 -fi - echo "Testing linking clang-cpp ..." clang-$VERSION -lclang-cpp$VERSION -v foo.cpp -o o &> /dev/null || true @@ -511,7 +486,7 @@ check_symlink() { fi } -check_symlink "libclang-cpp.so" +# check_symlink "libclang-cpp.so.$VERSION" why is that one needed? check_symlink "libclang-$VERSION.so" check_symlink "libclang.so" @@ -943,12 +918,8 @@ fi rm part1.o part2.o fi -if test ! -f /usr/lib/llvm-$VERSION/lib/libomp.so; then - echo "Install libomp-$VERSION-dev"; - exit -1; -fi - # OpenMP +if dpkg -l libomp-$VERSION-dev >/dev/null 2>&1; then cat < foo.c //test.c #include "omp.h" @@ -961,6 +932,9 @@ int main(void) { EOF clang-$VERSION foo.c -fopenmp -o o ./o > /dev/null +else + echo "OpenMP check skipped, no libomp-$VERSION-dev available." +fi if test ! -f /usr/lib/llvm-$VERSION/include/c++/v1/vector; then echo "Install libc++-$VERSION-dev"; @@ -1040,74 +1014,15 @@ rm -f plugin.so echo '#include int main() {}' | clang++-$VERSION -std=c++1z -x c++ -stdlib=libc++ - -# testing C++ libc++ modules -cat << EOF > foo.cpp -import std; -import std.compat; - -int main() { - std::cout << "Hello modular world\n"; - ::printf("Hello compat modular world\n"); -} -EOF - -# Builds the std module -clang++-$VERSION -std=c++20 \ - -nostdinc++ \ - -isystem /usr/lib/llvm-$VERSION/include/c++/v1/ \ - -Wno-reserved-module-identifier -Wno-reserved-user-defined-literal \ - --precompile -o std.pcm \ - -c /usr/lib/llvm-$VERSION/share/libc++/v1/std.cppm - -# Builds the std.compat module -clang++-$VERSION -std=c++20 \ - -nostdinc++ \ - -isystem /usr/lib/llvm-$VERSION/include/c++/v1/ \ - -Wno-reserved-module-identifier -Wno-reserved-user-defined-literal \ - --precompile -o std.compat.pcm \ - -fmodule-file=std=std.pcm \ - -c /usr/lib/llvm-$VERSION/share/libc++/v1/std.compat.cppm - -# Builds the test application -clang++-$VERSION -std=c++20 \ - -nostdinc++ \ - -isystem /usr/lib/llvm-$VERSION/include/c++/v1/ \ - -L /usr/lib/llvm-$VERSION/lib \ - -fmodule-file=std=std.pcm \ - -fmodule-file=std.compat=std.compat.pcm \ - std.pcm \ - std.compat.pcm \ - -lc++ \ - foo.cpp - -# Runs the test application -# The output should be -# Hello modular world -# Hello compat modular world -./a.out > foo.log - -if ! grep -q -E "Hello modular world" foo.log 2>&1; then - echo "c++ modules didn't work" - exit 1 -fi -if ! grep -q -E "Hello compat modular world" foo.log 2>&1; then - echo "c++ modules didn't work" - exit 1 -fi - if test ! -f /usr/lib/llvm-$VERSION/include/cxxabi.h; then echo "Install libc++abi-$VERSION-dev"; exit -1; fi -# Recreate a C++ without modules -echo '#include -int main() { }' > foo.cpp - # Force the usage of libc++abi clang++-$VERSION -stdlib=libc++ -lc++abi foo.cpp -o o ./o > /dev/null -if ! ldd o 2>&1|grep -q libc++abi.so.1; then +if ! ldd o 2>&1|grep -q libc++abi.so.1; then echo "not linked against libc++abi.so.1" exit -1 fi @@ -1176,59 +1091,6 @@ g++ -nostdinc++ -I/usr/lib/llvm-$VERSION/bin/../include/c++/v1/ -L/usr/lib/llvm- ./o > /dev/null fi -# Test C++ modules with the libc++ -cat << EOF > foo.cpp -import std; // When importing std.compat it's not needed to import std. -import std.compat; - -int main() { - std::cout << "Hello modular world\n"; - ::printf("Hello compat modular world\n"); -} -EOF - -# Builds the std module -clang-$VERSION -std=c++20 \ - -nostdinc++ \ - -isystem /usr/lib/llvm-$VERSION/include/c++/v1/ \ - -Wno-reserved-module-identifier -Wno-reserved-user-defined-literal \ - --precompile -o std.pcm \ - -c /usr/lib/llvm-$VERSION/share/libc++/v1/std.cppm - -# Builds the std.compat module -clang-$VERSION -std=c++20 \ - -nostdinc++ \ - -isystem /usr/lib/llvm-$VERSION/include/c++/v1/ \ - -Wno-reserved-module-identifier -Wno-reserved-user-defined-literal \ - --precompile -o std.compat.pcm \ - -fmodule-file=std=std.pcm \ - -c /usr/lib/llvm-$VERSION/share/libc++/v1/std.compat.cppm - -# Builds the test application -clang-$VERSION -std=c++20 \ - -nostdinc++ \ - -isystem /usr/lib/llvm-$VERSION/include/c++/v1/ \ - -L /usr/lib/llvm-$VERSION/lib \ - -fmodule-file=std=std.pcm \ - -fmodule-file=std.compat=std.compat.pcm \ - std.pcm \ - std.compat.pcm \ - -lc++ \ - foo.cpp - -# Runs the test application -# The output should be -# Hello modular world -# Hello compat modular world -./a.out > foo.log -if ! grep -q -E "Hello modular world" foo.log 2>&1; then - echo "c++ modules didn't work" - exit 1 -fi -if ! grep -q -E "Hello compat modular world" foo.log 2>&1; then - echo "c++ modules didn't work" - exit 1 -fi if dpkg -l|grep -q flang-$VERSION; then echo "Testing flang-$VERSION (Fortran) ..." @@ -1272,14 +1134,14 @@ end program main' > foo.f90 fi rm -f foo.log foo.f90 foo libflib.so else - echo "Skipping testing flang-$VERSION (Fortran) ..." + echo "Skipping esting flang-$VERSION (Fortran) ..." echo "doesn't exist on this arch" fi # libc -if dpkg -l|grep -q libllvmlibc-$VERSION-dev; then -echo "Testing libllvmlibc-$VERSION-dev ..." -echo ' +if dpkg -l libllvmlibc-$VERSION-dev >/dev/null 2>&1; then + echo "Testing llvmlibc-$VERSION-dev ..." + echo ' #include int main(void) { @@ -1288,14 +1150,17 @@ int main(void) return 1; return 0; }' > main.c -clang-$VERSION -static -nostdlib -nolibc -L/usr/lib/llvm-$VERSION/lib/ -lllvmlibc main.c -o foo -if ! ldd foo 2>&1|grep -qv libc.; then - echo "linked against regular libc" - exit -1 -fi + clang-$VERSION -static -nostdlib -nolibc -L/usr/lib/llvm-$VERSION/lib/ -lllvmlibc main.c -o foo + if ! ldd foo 2>&1|grep -qv libc.; then + echo "linked against regular libc" + exit -1 + fi -# segfault for now -./foo || true + # segfault for now + ./foo || true +else + echo "libllvmlibc check skipped, no libllvmlibc-$VERSION-dev available." +fi # libclc echo "Testing libclc-$VERSION-dev ..." @@ -1313,10 +1178,6 @@ fi BINDIR=$(llvm-config-$VERSION --bindir) /usr/lib/llvm-$VERSION/share/libclc/check_external_calls.sh /usr/lib/clc/amdgcn--amdhsa.bc $BINDIR > /dev/null -else - echo "Skipping testing libllvmlibc-$VERSION-dev ..." - echo "doesn't exist on this arch" -fi # libunwind echo "Testing libunwind-$VERSION-dev ..." @@ -1866,6 +1727,5 @@ fi #clean up rm -f a.out bar crash-* foo foo.* lldb-cmd.txt main.* test_fuzzer.cc foo.* o rm -rf output matmul.* *profraw opt.ll a.json default.profdata test test.cpp -rm -f foo-foo.gc* hello_world.mod lib.f90 std*.pcm echo "Completed" diff --git a/debian/rules b/debian/rules index add0cfed..5e4aba68 100755 --- a/debian/rules +++ b/debian/rules @@ -12,20 +12,38 @@ GXX_VERSIONED_PACKAGE := $(shell dpkg-query -W -f '$${Depends}' g++ | grep -o GXX_VERSIONED_EXECUTABLE := $(shell dpkg -L $(GXX_VERSIONED_PACKAGE) | grep '/usr/bin/g++-[0-9][0-9.]*' | xargs ls -d | tail -n1 ) GCC_VERSION := $(subst /usr/bin/g++-,,$(GXX_VERSIONED_EXECUTABLE)) +PKG_VERSION := $(shell dpkg-parsechangelog | awk '/^Version:/ {print $$2}') LLVM_EPOCH := 1: -LLVM_VERSION := $(shell dpkg-parsechangelog | sed -rne "s,^Version: 1:([0-9]+).*,\1,p") -LLVM_VERSION_FULL := $(shell dpkg-parsechangelog | sed -rne "s,^Version: 1:([0-9.]+)(~|-)(.*),\1,p") -LLVM_VERSION_MINOR := $(shell dpkg-parsechangelog | sed -rne "s,^Version: 1:[0-9]+\.(.*)\..*,\1,p") -LLVM_VERSION_SNAPSHOT := $(shell dpkg-parsechangelog | sed -rne "s,^Version: 1:(.*),\1,p") +LLVM_VERSION := $(shell echo $(PKG_VERSION) | sed -rne "s,^1:([0-9]+).*,\1,p") +LLVM_VERSION_FULL := $(shell echo $(PKG_VERSION) | sed -rne "s,^1:([0-9.]+)(~|-)(.*),\1,p") +LLVM_VERSION_MINOR := $(shell echo $(PKG_VERSION) | sed -rne "s,^1:[0-9]+\.([0-9]+)\.[0-9]+.*,\1,p") +LLVM_VERSION_SNAPSHOT := $(shell echo $(PKG_VERSION) | sed -rne "s,^1:(.*),\1,p") ifeq ($(LLVM_VERSION),$(LLVM_VERSION_FULL)) LLVM_VERSION_FULL := $(LLVM_VERSION).0.0 + LLVM_VERSION_MINOR := 0 endif LLVM_VERSION_NEXT := $(shell echo $(LLVM_VERSION_FULL) | awk -F. '{ OFS="."; $$NF+=1; print}') # dpkg-buildflags support # disable fixfilepath in favor of the llvm-project supplied flavor, disable lto -export DEB_BUILD_MAINT_OPTIONS = reproducible=-fixfilepath,-fixdebugpath optimize=-lto -RUNTIMES = compiler-rt;libcxx;libcxxabi +# remove +time64,+lfs once the time64_t transition starts +ifeq ($(DEB_HOST_ARCH),i386) + RUNTIMES = compiler-rt;libcxx;libcxxabi + export DEB_BUILD_MAINT_OPTIONS = reproducible=-fixfilepath,-fixdebugpath optimize=-lto +else + ifeq ($(DEB_HOST_ARCH_BITS),32) + RUNTIMES = libcxx;libcxxabi + export DEB_BUILD_MAINT_OPTIONS = reproducible=-fixfilepath,-fixdebugpath optimize=-lto abi=+time64,+lfs + skip_packages = -Nlibclang-rt-$(LLVM_VERSION)-dev + else + RUNTIMES = compiler-rt;libcxx;libcxxabi + ifeq ($(DEB_HOST_ARCH),mips64el) + export DEB_BUILD_MAINT_OPTIONS = reproducible=-fixfilepath,-fixdebugpath optimize=-lto hardening=-stackprotector,-stackprotectorstrong + else + export DEB_BUILD_MAINT_OPTIONS = reproducible=-fixfilepath,-fixdebugpath optimize=-lto + endif + endif +endif SOURCE_NAME := $(shell dpkg-parsechangelog -S Source) ifneq (,$(findstring snapshot,$(SOURCE_NAME))) @@ -36,6 +54,9 @@ endif VENDOR=$(shell lsb_release -is) DISTRO=$(shell lsb_release -sc) +DERIVATIVE := $(shell if dpkg-vendor --derives-from Ubuntu; then echo Ubuntu; \ + elif dpkg-vendor --derives-from Debian; then echo Debian; \ + else echo Unknown; fi) SONAME_EXT := 1 SONAME_OPENMP := 5 @@ -51,10 +72,13 @@ endif # this always includes the binary-indep packages. packages := $(shell dh_listpackages) +# no 32bit support +FLANG_ARCHS := amd64 arm64 ppc64el ppc64 sparc64 riscv64 loong64 + # flang has some memory hogs, of up to 6.2gb per process. Limit the parallel jobs # based on the available memory -ifneq (,$(filter flang-$(LLVM_VERSION), $(packages))) - MEM_PER_CPU=4500 +ifneq (,$(filter $(DEB_HOST_ARCH), $(FLANG_ARCHS))) + MEM_PER_CPU=6000 else MEM_PER_CPU=2100 endif @@ -62,10 +86,38 @@ NJOBS := $(shell mt=`awk '/^(MemAvail|SwapFree)/ { mt += $$2 } END {print mt}' / awk -vn=$(NCPUS) -vmt=$$mt -vm=$(MEM_PER_CPU) \ 'END { mt/=1024; n2 = int(mt/m); print n==1 || n2<=1 ? 1 : n2<=n ? n2 : n }' < /dev/null) +TIME_COMMAND = $(CURDIR)/debian/usage-wrapper.py $(SUMMARY_ONLY) -j $(NJOBS) --base-memory -m 4.0 -o usage-$(notdir $@)-$(DEB_HOST_ARCH).svg +TIME_BIN := $(if $(wildcard /usr/bin/time),/usr/bin/time,/bin/time) +TIME_COMMAND = $(TIME_BIN) -v +USAGE_BUILD_DEP = $(EMPTY) time, +ifneq (,$(findstring usage-wrapper, $(TIME_COMMAND))) + ifeq ($(DERIVATIVE),Ubuntu) + USAGE_BUILD_DEP = $(EMPTY) python3:any, python3-psutil, python3-matplotlib [!i386], + ifeq ($(DEB_HOST_ARCH),i386) + SUMMARY_ONLY = --summary-only + endif + else + USAGE_BUILD_DEP = $(EMPTY) python3:any, python3-psutil [!hurd-i386 !hurd-amd64], python3-matplotlib [!m68k !sh4 !x32 !hurd-i386 !hurd-amd64], + ifneq (,$(filter $(DEB_HOST_ARCH), hurd-i386 hurd-amd64)) + TIME_COMMAND = $(TIME_BIN) -v + endif + ifneq (,$(filter $(DEB_HOST_ARCH), m68k sh4 x32)) + SUMMARY_ONLY = --summary-only + endif + endif +endif + DH_VERSION := $(shell dpkg -s debhelper | grep '^Version' | awk '{print $$2}') include /usr/share/dpkg/architecture.mk +MULTILIB_ARCHS := amd64 i386 mips64 mips64el mipsel powerpc ppc64 s390x sparc sparc64 x32 +ifeq ($(DERIVATIVE),Ubuntu) + ifeq (,$(filter $(DISTRO), bionic focal jammy noble)) + MULTILIB_ARCHS := $(filter-out s390x, $(MULTILIB_ARCHS)) + endif +endif + CONFIGURE_EXTRA = # these are handled on a per stage / build basis @@ -86,13 +138,7 @@ include /usr/share/dpkg/buildflags.mk # collect additional flags for all stages all builds CFLAGS_EXTRA = -Wno-unused-command-line-argument CXXFLAGS_EXTRA = -Wno-unused-command-line-argument - -ifeq (,$(filter $(DEB_HOST_ARCH), armel)) -LDFLAGS_EXTRA = -Wl,--build-id,--as-needed -else -# fails on armel. we are getting some missing latomic LDFLAGS_EXTRA = -Wl,--build-id -endif # collect all flags for stage 1 toolchain build only STAGE_1_CFLAGS = $(CFLAGS) $(CFLAGS_EXTRA) $(CPPFLAGS) @@ -139,7 +185,7 @@ ifneq (,$(filter $(DEB_HOST_ARCH),sparc sparc64)) STAGE_1_CMAKE_EXTRA += -DLLVM_PARALLEL_LINK_JOBS=4 endif -ifneq (,$(filter $(DEB_HOST_ARCH),i386 hurd-i386 kfreebsd-i386 armel mipsel powerpc powerpcspe riscv64)) +ifneq (,$(filter $(DEB_HOST_ARCH),i386 hurd-i386 armel mipsel mips64el powerpc 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 @@ -147,17 +193,22 @@ LDFLAGS_EXTRA += -latomic endif Z3_FLAG = -DLLVM_ENABLE_Z3_SOLVER=OFF -ifeq ($(shell dpkg --compare-versions $(shell dpkg-query -W -f '$${Version}' libz3-dev) gt 4.7.0; echo $$?),0) # no ocaml support in main for Ubuntu -ifneq ($(shell dpkg-vendor --derives-from Ubuntu && echo yes),yes) - Z3_FLAG = -DLLVM_ENABLE_Z3_SOLVER=ON -endif +ifneq ($(DERIVATIVE),Ubuntu) + ifeq ($(shell dpkg --compare-versions $(shell dpkg-query -W -f '$${Version}' libz3-dev) gt 4.7.0; echo $$?),0) + ifeq (,$(filter $(DEB_HOST_ARCH),sh4)) + Z3_FLAG = -DLLVM_ENABLE_Z3_SOLVER=ON + endif + endif endif STAGE_2_CMAKE_EXTRA += $(Z3_FLAG) +ifneq (,$(findstring =ON, $(Z3_FLAG))) + Z3_DEV_DEP = libz3-dev [!sh4], +endif # Change the default CPU for s390x ZARCH=z196 -ifeq ($(shell dpkg-vendor --derives-from Ubuntu && echo yes),yes) +ifeq ($(DERIVATIVE),Ubuntu) ZARCH=z13 endif STAGE_2_CMAKE_EXTRA += -DCLANG_SYSTEMZ_DEFAULT_ARCH=$(ZARCH) @@ -197,7 +248,7 @@ ifneq (,$(findstring $(DEB_HOST_ARCH),armel)) 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 @@ -206,8 +257,8 @@ endif ifneq (,$(filter $(DEB_HOST_ARCH),i386)) # Sometimes, i386 needs help with the triple - STAGE_ALL_CMAKE_EXTRA += -DLLVM_HOST_TRIPLE=i386-pc-linux-gnu - CMAKE_EXTRA += -DLLVM_HOST_TRIPLE=i386-pc-linux-gnu + STAGE_ALL_CMAKE_EXTRA += -DLLVM_HOST_TRIPLE=i386-linux-gnu + CMAKE_EXTRA += -DLLVM_HOST_TRIPLE=i386-linux-gnu endif ifneq (,$(filter $(DEB_HOST_ARCH),mips64el)) @@ -216,10 +267,11 @@ ifneq (,$(filter $(DEB_HOST_ARCH),mips64el)) STAGE_ALL_CMAKE_EXTRA += -DLLVM_HOST_TRIPLE=mips64el-linux-gnuabi64 CFLAGS_EXTRA += -mxgot CXXFLAGS_EXTRA += -mxgot + LDFLAGS_EXTRA += -mxgot endif ifneq (,$(filter $(DEB_HOST_ARCH),powerpc)) - STAGE_ALL_CMAKE_EXTRA += -DLLVM_HOST_TRIPLE=powerpc-pc-linux-gnu + STAGE_ALL_CMAKE_EXTRA += -DLLVM_HOST_TRIPLE=powerpc-linux-gnu endif # debug symbols OOM in Ubuntu Ubuntu and slows down build process. @@ -230,12 +282,12 @@ else endif ifneq (,$(filter $(DEB_HOST_ARCH),sparc)) - STAGE_ALL_CMAKE_EXTRA += -DLLVM_HOST_TRIPLE=sparc-pc-linux-gnu + STAGE_ALL_CMAKE_EXTRA += -DLLVM_HOST_TRIPLE=sparc-linux-gnu STAGE_ALL_CMAKE_EXTRA += -DLLVM_PARALLEL_LINK_JOBS=4 endif ifneq (,$(filter $(DEB_HOST_ARCH),sparc64)) - STAGE_ALL_CMAKE_EXTRA += -DLLVM_HOST_TRIPLE=sparc64-pc-linux-gnu + STAGE_ALL_CMAKE_EXTRA += -DLLVM_HOST_TRIPLE=sparc64-linux-gnu STAGE_ALL_CMAKE_EXTRA += -DLLVM_PARALLEL_LINK_JOBS=4 endif @@ -308,49 +360,33 @@ ifeq ($(LLVM_SPIRV_INSTALLED),yes) LIBCLC_LLVM_SPIRV = -DLLVM_SPIRV=$(LLVM_SPIRV) endif -MOLD_ENABLE=no -# Use mold as a linker. Faster than the other. -MOLD_DISABLE_DISTRO := bionic buster focal buster bullseye bookworm -ifeq (,$(filter-out $(MOLD_DISABLE_DISTRO), $(DISTRO))) -# mold is too old on this distro - MOLD_ENABLE=no -#else -# disable mold until https://github.com/rui314/mold/issues/1224 is fixed -# MOLD_ENABLE=yes -# STAGE_ALL_CMAKE_EXTRA += -DLLVM_USE_LINKER=mold -# control_vars += ', mold' -endif - -BINUTILS_GOLD_ARCHS := amd64 arm64 armhf i386 ppc64 ppc64el x32 s390x hurd-i386 kfreebsd-amd64 kfreebsd-i386 +BINUTILS_GOLD_ARCHS := amd64 arm64 armhf i386 ppc64 ppc64el x32 s390x hurd-i386 hurd-amd64 ifeq ($(shell dpkg --compare-versions $(shell dpkg-query -W -f '$${Version}' binutils) ge 2.23.1-1~exp3 ; echo $$?),0) ifneq (,$(filter $(DEB_HOST_ARCH),$(BINUTILS_GOLD_ARCHS))) -ifeq (${MOLD_ENABLE},no) -# don't do it when MOLD is enabled STAGE_ALL_CMAKE_EXTRA += -DLLVM_USE_LINKER=gold STAGE_ALL_CMAKE_EXTRA += -DLLVM_BINUTILS_INCDIR=/usr/include/ endif endif -endif ifneq (,$(filter bolt-$(LLVM_VERSION), $(packages))) PROJECTS += ;bolt endif -LIBC_ENABLE=no -LIBC_DISABLE_DISTRO := bionic ifneq (,$(filter libllvmlibc-$(LLVM_VERSION)-dev, $(packages))) -ifeq (,$(filter-out $(LIBC_DISABLE_DISTRO), $(DISTRO))) -# disable libc on bionic. See https://github.com/llvm/llvm-project/issues/82467 - LIBC_ENABLE=no -else - BOOTSTRAP_CMAKE_EXTRA += -DBOOTSTRAP_LIBC_INCLUDE_DOCS=ON - RUNTIMES += ;libc - LIBC_ENABLE=yes -endif + LLVM_LIBC_ENABLE=yes + LLVM_LIBC_DISABLE_DISTRO := bionic + ifeq (,$(filter $(DISTRO), $(LLVM_LIBC_DISABLE_DISTRO))) + RUNTIMES += ;libc + else + LLVM_LIBC_ENABLE=no + endif endif -# flang is only for 64bits -ifneq (,$(filter flang-$(LLVM_VERSION), $(packages))) +ifneq ($(LLVM_LIBC_ENABLE),no) + $(info LLVM libc disabled for $(DISTRO)) +endif + +ifneq (,$(filter $(DEB_HOST_ARCH), $(FLANG_ARCHS))) PROJECTS += ;flang endif @@ -368,7 +404,7 @@ endif # Enable polly (or not) POLLY_ENABLE=yes -ifneq (,$(filter $(DEB_HOST_ARCH), powerpc powerpcspe)) +ifneq (,$(filter $(DEB_HOST_ARCH), powerpc)) POLLY_ENABLE=no else PROJECTS+=;polly @@ -376,7 +412,7 @@ endif # Enable libunwind (or not) LIBUNWIND_ENABLE=yes -ifneq (,$(filter $(DEB_HOST_ARCH), s390x armel m68k mipsel mips64el hurd-i386 powerpc sparc sparc64 x32)) +ifneq (,$(filter $(DEB_HOST_ARCH), s390x armel 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 @@ -389,11 +425,12 @@ else endif # Enable openmp (or not) +OMP_ARCHS = amd64 arm64 armhf ppc64 ppc64el hurd-amd64 OPENMP_ENABLE=yes -ifneq (,$(filter $(DEB_HOST_ARCH), m68k mipsel powerpc powerpcspe sparc64 s390x x32)) +ifeq (,$(filter $(DEB_HOST_ARCH), $(OMP_ARCHS))) OPENMP_ENABLE=no else - PROJECTS+=;openmp + RUNTIMES += ;openmp;offload STAGE_ALL_CMAKE_EXTRA += -DLIBOMP_LIBFLAGS="-lm" ifeq ($(LIBUNWIND_ENABLE),yes) STAGE_ALL_CMAKE_EXTRA += -DOPENMP_USE_LLVM_UNWINDER=ON @@ -408,14 +445,14 @@ RUN_TEST=yes ifneq (,$(filter nocheck,$(DEB_BUILD_OPTIONS))) RUN_TEST=no endif -ifeq ($(shell dpkg-vendor --derives-from Ubuntu && echo yes),yes) +ifeq ($(DERIVATIVE),Ubuntu) ifeq (riscv64,$(DEB_HOST_ARCH)) RUN_TEST=no endif endif -# llvm tests timeout, disable it on mips64el and x32 -ifneq (,$(filter $(DEB_HOST_ARCH),mips64el x32)) +# llvm tests timeout, disable it on mipsel and x32 +ifneq (,$(filter $(DEB_HOST_ARCH), mipsel mips64el x32)) RUN_TEST=no endif @@ -452,25 +489,19 @@ else COVERITY_ENABLE=0 endif -LLDB_ENABLE=yes -LLDB_DISABLE_ARCHS := hurd-i386 ia64 powerpc powerpcspe ppc64 sparc64 mips64el mipsel +LLDB_ENABLE=no # hurd has threading issues -ifeq (,$(filter-out $(LLDB_DISABLE_ARCHS), $(DEB_HOST_ARCH))) -# Disable LLDB for this arch. - LLDB_ENABLE=no -else +LLDB_ARCHS := amd64 arm64 armel armhf i386 loong64 m68k ppc64el riscv64 s390x x32 +ifneq (,$(filter $(DEB_HOST_ARCH),$(LLDB_ARCHS))) STAGE_ALL_CMAKE_EXTRA += -DLLDB_ENABLE_LUA=OFF PROJECTS+=;lldb endif - ifneq (,$(filter $(DEB_HOST_ARCH),i386 amd64)) INTEL_PT_DISABLE_DISTRO := bionic # Disable intel-pt on old distro, fails on bionic (too old) ifeq (,$(filter $(DISTRO), $(INTEL_PT_DISABLE_DISTRO))) STAGE_ALL_CMAKE_EXTRA += -DLLDB_BUILD_INTEL_PT=ON -DLIBIPT_INCLUDE_PATH=/usr/include -DLIBIPT_LIBRARY_PATH=/usr/lib/$(DEB_HOST_MULTIARCH) - else - $(info Intel PT disabled for $(DISTRO)) endif endif @@ -481,6 +512,7 @@ ifeq (,$(filter-out $(LLDB_PYTHON_DISABLE_DISTRO), $(DISTRO))) # Don't enable lld python for old distros STAGE_ALL_CMAKE_EXTRA += -DLLDB_ENABLE_PYTHON=OFF LLDB_PYTHON_ENABLE=no + $(info LLBD Python disabled for $(DISTRO)) endif LIBCXX_WASM_ENABLE=yes @@ -490,6 +522,7 @@ LIBCXX_WASM_DISABLE_DISTRO := bionic buster focal bullseye jammy # https://sourceware.org/bugzilla/show_bug.cgi?id=27558 ifeq (,$(filter-out $(LIBCXX_WASM_DISABLE_DISTRO), $(DISTRO))) LIBCXX_WASM_ENABLE=no + $(info libcxx wasm disabled for $(DISTRO)) endif DOC_GENERATION=yes @@ -497,9 +530,10 @@ DOC_GENERATION_DISTRO := buster bullseye bionic focal # LLVM upstream moved to myst_parser but it isn't available on old distro ifeq (,$(filter-out $(DOC_GENERATION_DISTRO), $(DISTRO))) DOC_GENERATION=no + $(info Doc generation disabled for $(DISTRO)) endif -ifneq (,$(filter $(DEB_HOST_ARCH),powerpc powerpcspe)) +ifneq (,$(filter $(DEB_HOST_ARCH),powerpc)) LIBCXX_WASM_ENABLE=no endif @@ -516,13 +550,24 @@ ifeq (,$(filter-out $(LLVM_ENABLE_ZSTD_DISABLE_DISTRO), $(DISTRO))) STAGE_ALL_CMAKE_EXTRA += -DLLVM_ENABLE_ZSTD=OFF endif -THINLTO_ENABLE=no -THINLTO_ARCHS := amd64 arm64 -# Needs more work, disabling for now -#ifneq (,$(filter $(DEB_HOST_ARCH),$(THINLTO_ARCHS))) -# BOOTSTRAP_CMAKE_EXTRA +=-DBOOTSTRAP_LLVM_ENABLE_LTO=Thin -# THINLTO_ENABLE=yes -#endif +LTO_ENABLE=no +# Only enable it for archs supporting gold +ifneq (,$(filter $(DEB_HOST_ARCH),$(BINUTILS_GOLD_ARCHS))) +# LTO requires a bunch of memory. Don't do it everywhere +LTO_DISABLE_ARCHS := i386 armhf s390x ppc64 x32 +ifeq (,$(filter-out $(LTO_DISABLE_ARCHS), $(DEB_HOST_ARCH))) + LTO_ENABLE=no +else +# Disable for now because of +# https://github.com/llvm/llvm-project/issues/58317#issuecomment-1276190743 +# LTO_ENABLE=yes +# STAGE_2_CMAKE_EXTRA += -DLLVM_ENABLE_LTO="On" +endif +endif + +ifneq ($(LTO_ENABLE),no) + $(info LTO disabled for $(DEB_HOST_ARCH)) +endif # https://bugs.launchpad.net/bugs/2016471 ifeq (,$(filter-out $(LTO_DISABLE_ARCHS), $(DEB_HOST_ARCH))) @@ -545,6 +590,7 @@ endif LIBFUZZER_ENABLE=yes ifeq (,$(filter $(DEB_HOST_ARCH_OS),linux)) LIBFUZZER_ENABLE=no + $(info Libfuzzer disabled for $(DEB_HOST_ARCH_OS)) endif ifneq (,$(filter $(DEB_HOST_ARCH), mipsel)) @@ -590,12 +636,13 @@ ifneq (,$(filter coverity,$(DEB_BUILD_OPTIONS))) CONFIGURE_EXTRA += --enable-assertions STAGE_ALL_CMAKE_EXTRA += -DLLVM_ENABLE_ASSERTIONS=ON SCCACHE_ENABLE=no + SCCACHE_CMAKE= # no need to run tests in this case RUN_TEST=no endif # enables cmake build targets like stage2-[target_name] -ENABLED_STAGE2_CMAKE_BUILD_TARGETS = check-all;check-llvm;check-clang;check-clang-tools;check-lld;check-cxx;check-cxxabi;check-mlir;check-libc;llvm-config;test-suite +ENABLED_STAGE2_CMAKE_BUILD_TARGETS = check-all;check-llvm;check-clang;check-clang-tools;check-lld;check-libcxx;check-libcxxabi;check-mlir;check-libc;check-sanitizer;llvm-config;test-suite %: dh $@ $(DH_OPTIONS) @@ -644,28 +691,33 @@ stamps/preconfigure: @echo "STAGE_1_CXXFLAGS=$(STAGE_1_CXXFLAGS)" @echo "STAGE_2_CFLAGS=$(STAGE_2_CFLAGS)" @echo "LIBFUZZER_ENABLE=$(LIBFUZZER_ENABLE)" - @echo "THINLTO_ENABLE=$(THINLTO_ENABLE)" + @echo "LTO_ENABLE=$(LTO_ENABLE)" @echo "COMPILER_RT_WASM_ENABLE=$(COMPILER_RT_WASM_ENABLE)" @echo "LIBCXX_WASM_ENABLE=$(LIBCXX_WASM_ENABLE)" @echo "SCCACHE_ENABLE=$(SCCACHE_ENABLE)" - @echo "LIBC_ENABLE=$(LIBC_ENABLE)" - @echo "MOLD_ENABLE=$(MOLD_ENABLE)" @echo "LLVM_SPIRV=$(LLVM_SPIRV)" @echo "LLVM_SPIRV_INSTALLED=$(LLVM_SPIRV_INSTALLED)" @echo "DOC_GENERATION=$(DOC_GENERATION)" - @echo "control_vars=$(control_vars)" - 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' \ + -e "s|@USAGE_BUILD_DEP@|$(USAGE_BUILD_DEP)|g" \ + -e "s|@Z3_DEV_DEP@|$(Z3_DEV_DEP)|g" \ + -e "s|@MULTILIB_ARCHS@|$(MULTILIB_ARCHS)|g" \ + -e "s|@LLDB_ARCHS@|$(LLDB_ARCHS)|g" \ + -e "s|@OCAML_ARCHS@|$(OCAML_ARCHS)|g" \ + -e "s|@OMP_ARCHS@|$(OMP_ARCHS)|g" \ + -e "s|@FLANG_ARCHS@|$(FLANG_ARCHS)|g" \ -e "s|@BRANCH_NAME@|$(BRANCH_NAME)|g" \ -e "s|@OCAML_STDLIB_DIR@|$(OCAML_STDLIB_DIR)|g" \ -e "s|@LLVM_EPOCH@|$(LLVM_EPOCH)|g" \ -e "s|@LLVM_VERSION_FULL@|$(LLVM_VERSION_FULL)|g" \ - -e "s|@LLVM_VERSION_MINOR@|$(LLVM_VERSION_MINOR)|g" \ + -e "s|@LLVM_VERSION_MINOR@|$(LLVM_VERSION_MINOR)|g" \ -e "s|@LLVM_VERSION_NEXT@|$(LLVM_VERSION_NEXT)|g" \ -e "s|@LLVM_VERSION@|$(LLVM_VERSION)|g" $$f > $$f2; \ + [ -x $$f ] && chmod +x $$f2; \ done # Make install file executable for dh-exec @@ -682,13 +734,14 @@ stamps/preconfigure: debian/llvm-$(LLVM_VERSION)-linker-tools.links \ debian/libbolt-$(LLVM_VERSION)-dev.install - # workaround the breaks/replaces/conflicts introduced with the libllvm move + # workaround the breaks/replaces/conflicts introduced with the libc++ move # we update the version to make it work with apt.llvm.org # Yeah, this is ugly but I don't know how to do better - if test "$(LLVM_VERSION)" = "18"; then \ + if test "$(LLVM_VERSION)" = "19"; then \ if echo $(LLVM_VERSION_SNAPSHOT)| grep -q "~++"; then \ - sed -i -e "s| (<< 1:18.1.8-9)|(<< 1:18.1.8~++20240830304741)|g" debian/control; \ - sed -i -e "s| (<< 1:18.1.8-9)|(<< 1:18.1.8~++20240830304741)|g" debian/control; \ + sed -i -e "s|(<< 1:19.1.0~++rc3-1~exp2)|(<< 1:19.1.0~++20240910033111)|g" debian/control; \ + sed -i -e "s|(<< 1:19.1.0~++rc4-5)|(<< 1:19.1.0~++20240917071600)|g" debian/control; \ + sed -i -e "s|(<< 1:19.1.0-4)|(<< 1:19.1.0~++20240917071600)|g" debian/control; \ fi; \ fi @@ -712,6 +765,10 @@ stamps/preconfigure: fi; \ fi + if test "$(LLVM_LIBC_ENABLE)" = "no"; then \ + echo "" > debian/libllvmlibc-$(LLVM_VERSION)-dev.install; \ + fi + # Conditionally enable install clangd grpc files if test "$(CLANGD_GRPC_INSTALLED)" = "yes"; then \ sed -i -e "s|#grpc\ ||g" debian/libclang-$(LLVM_VERSION)-dev.install; \ @@ -730,7 +787,6 @@ stamps/preconfigure: # Override this two targets. They are trying to manage the .in conversion for me override_dh_ocamlinit: override_dh_ocamlclean: -override_dh_ocaml: override_dh_auto_configure: stamps/configure stamps/configure: stamps/preconfigure @@ -833,18 +889,20 @@ endif -DLIBCXX_STATICALLY_LINK_ABI_IN_SHARED_LIBRARY=OFF \ -DLIBCXX_INSTALL_LIBRARY=OFF \ -DLIBCXX_INSTALL_MODULES=ON \ + -DLLVM_LIBC_GPU_BUILD=ON \ -DBOOTSTRAP_LIBCXX_INSTALL_MODULES=ON \ -DOPENMP_ENABLE_LIBOMP_PROFILING=OFF \ -DOPENMP_ENABLE_LIBOMPTARGET_PROFILING=OFF \ -DLIBOMP_ENABLE_RTTI=OFF \ -DLIBOMP_OMPT_SUPPORT=OFF \ -DCLANG_FORCE_MATCHING_LIBCLANG_SOVERSION=ON \ + -DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=OFF \ $(CMAKE_EXTRA) \ -DBUILTINS_CMAKE_ARGS="-DCMAKE_C_FLAGS=$(STAGE_1_CFLAGS);-DCMAKE_CXX_FLAGS=$(STAGE_1_CXXFLAGS);-DCMAKE_EXE_LINKER_FLAGS=$(STAGE_1_LDFLAGS);-DCMAKE_SHARED_LINKER_FLAGS=$(STAGE_1_LDFLAGS);-DCMAKE_MODULE_LINKER_FLAGS=$(STAGE_1_LDFLAGS);-DCMAKE_BUILD_TYPE=Release;-DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=OFF" \ -DRUNTIMES_CMAKE_ARGS="-DCMAKE_C_FLAGS=$(STAGE_1_CFLAGS);-DCMAKE_CXX_FLAGS=$(STAGE_1_CXXFLAGS);-DCMAKE_EXE_LINKER_FLAGS=$(STAGE_1_LDFLAGS);-DCMAKE_SHARED_LINKER_FLAGS=$(STAGE_1_LDFLAGS);-DCMAKE_MODULE_LINKER_FLAGS=$(STAGE_1_LDFLAGS);-DCMAKE_BUILD_TYPE=Release;-DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=OFF" \ -DCLANG_ENABLE_BOOTSTRAP=ON \ -DCLANG_BOOTSTRAP_TARGETS="$(ENABLED_STAGE2_CMAKE_BUILD_TARGETS)" \ - -DCLANG_BOOTSTRAP_PASSTHROUGH="CMAKE_INSTALL_PREFIX;CMAKE_SUPPRESS_REGENERATION;ENABLE_LINKER_BUILD_ID;LLVM_ENABLE_PIC;LLVM_ENABLE_RTTI;LLVM_INCLUDE_GO_TESTS;LLVM_USE_RELATIVE_PATHS_IN_FILES;CLANG_DEFAULT_LINKER;CLANG_DEFAULT_CXX_STDLIB;CLANG_DEFAULT_RTLIB;COMPILER_RT_USE_LIBCXX;COMPILER_RT_USE_BUILTINS_LIBRARY;COMPILER_RT_DEFAULT_TARGET_ONLY;COMPILER_RT_INCLUDE_TESTS;LIBUNWIND_USE_COMPILER_RT;LIBCXXABI_ENABLE_EXCEPTIONS;LIBCXXABI_USE_COMPILER_RT;LIBCXX_USE_COMPILER_RT;LIBCXX_ENABLE_EXCEPTIONS;LIBCXX_ENABLE_STATIC_ABI_LIBRARY;LIBCXX_STATICALLY_LINK_ABI_IN_STATIC_LIBRARY;LIBCXX_STATICALLY_LINK_ABI_IN_SHARED_LIBRARY;LIBOMP_ENABLE_RTTI;LLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN;CLANG_FORCE_MATCHING_LIBCLANG_SOVERSION;CMAKE_C_COMPILER_LAUNCHER;CMAKE_CXX_COMPILER_LAUNCHER;LLVM_EXPERIMENTAL_TARGETS_TO_BUILD" \ + -DCLANG_BOOTSTRAP_PASSTHROUGH="CMAKE_INSTALL_PREFIX;CMAKE_SUPPRESS_REGENERATION;ENABLE_LINKER_BUILD_ID;LLVM_ENABLE_PIC;LLVM_ENABLE_RTTI;LLVM_INCLUDE_GO_TESTS;LLVM_USE_RELATIVE_PATHS_IN_FILES;CLANG_DEFAULT_LINKER;CLANG_DEFAULT_CXX_STDLIB;CLANG_DEFAULT_RTLIB;COMPILER_RT_USE_LIBCXX;COMPILER_RT_USE_BUILTINS_LIBRARY;COMPILER_RT_DEFAULT_TARGET_ONLY;COMPILER_RT_INCLUDE_TESTS;LIBUNWIND_USE_COMPILER_RT;LIBCXXABI_ENABLE_EXCEPTIONS;LIBCXXABI_USE_COMPILER_RT;LIBCXX_USE_COMPILER_RT;LIBCXX_ENABLE_EXCEPTIONS;LIBCXX_ENABLE_STATIC_ABI_LIBRARY;LIBCXX_STATICALLY_LINK_ABI_IN_STATIC_LIBRARY;LIBCXX_STATICALLY_LINK_ABI_IN_SHARED_LIBRARY;LIBOMP_ENABLE_RTTI;LLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN;CLANG_FORCE_MATCHING_LIBCLANG_SOVERSION;CMAKE_C_COMPILER_LAUNCHER;CMAKE_CXX_COMPILER_LAUNCHER;LLVM_LIBC_GPU_BUILD" \ -DBOOTSTRAP_CMAKE_BUILD_TYPE=RelWithDebInfo \ -DBOOTSTRAP_CMAKE_C_FLAGS_RELWITHDEBINFO="$(opt_flags)" \ -DBOOTSTRAP_CMAKE_CXX_FLAGS_RELWITHDEBINFO="$(opt_flags)" \ @@ -864,6 +922,7 @@ endif -DBOOTSTRAP_LLVM_VERSION_SUFFIX= \ -DBOOTSTRAP_LLVM_POLLY_LINK_INTO_TOOLS=ON \ -DBOOTSTRAP_LLVM_EXPERIMENTAL_TARGETS_TO_BUILD="M68k;Xtensa" \ + -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="M68k;Xtensa" \ -DBOOTSTRAP_LLVM_LINK_LLVM_DYLIB=ON \ -DBOOTSTRAP_LLVM_ENABLE_CURL=$(if $(filter stage1, $(DEB_BUILD_PROFILES)),OFF,ON) \ -DBOOTSTRAP_CLANG_LINK_CLANG_DYLIB=ON \ @@ -880,9 +939,6 @@ endif exit 1; \ fi @mkdir -p stamps -# Detect the triple - TRIPLE=`grep ^LLVM_DEFAULT_TARGET_TRIPLE build-llvm/CMakeCache.txt|cut -d= -f2`; \ - sed -i -e "s|@DEB_HOST_MULTIARCH_LLVM@|$$TRIPLE|g" debian/*.links touch $@ VERBOSE=-v @@ -891,7 +947,7 @@ stamps/debian-full-build: echo "Using cmake: $(CMAKE_BIN)" # linker hack so stage2 can link against stage1 libs at runtime LD_LIBRARY_PATH=$(STAGE_1_LIB_DIR):$$LD_LIBRARY_PATH \ - VERBOSE=1 $(PRE_PROCESS) $(CMAKE_BIN) --build $(TARGET_BUILD) -j $(NJOBS) --target stage2 || cat build-llvm/tools/clang/stage2-bins/CMakeFiles/CMakeOutput.log + VERBOSE=1 $(TIME_COMMAND) $(PRE_PROCESS) $(CMAKE_BIN) --build $(TARGET_BUILD) -j $(NJOBS) --target stage2 || cat build-llvm/tools/clang/stage2-bins/CMakeFiles/CMakeOutput.log # Check the stage 2 build worked if ! readelf --string-dump .comment $(TARGET_BUILD_STAGE2)/bin/clang 2>&1|grep -q "clang version"; then \ @@ -945,7 +1001,7 @@ stamps/debian-libclc-build: -DLLVM_CMAKE_DIR=$(STAGE_2_BIN_DIR)/../ \ $(LIBCLC_LLVM_SPIRV) \ -DLIBCLC_TARGETS_TO_BUILD="$(LIBCLC_TARGETS_TO_BUILD)"; \ - LD_LIBRARY_PATH=$$LD_LIBRARY_PATH:$(STAGE_2_LIB_DIR) ninja -j $(NJOBS) $(VERBOSE) + LD_LIBRARY_PATH=$$LD_LIBRARY_PATH:$(STAGE_2_LIB_DIR) $(TIME_COMMAND) ninja -j $(NJOBS) $(VERBOSE) ifndef LLVM_SPIRV echo "libclc built without SPIRV (.spv) outputs because llvm-spirv wasn't found" endif @@ -985,7 +1041,7 @@ build-wasm/compiler-rt-%: -DCOMPILER_RT_USE_BUILTINS_LIBRARY=ON \ -DCOMPILER_RT_DEFAULT_TARGET_TRIPLE=$(cpu)-unknown-unknown \ -DCOMPILER_RT_OS_DIR=wasi - ninja -C "$@" -j $(NJOBS) $(VERBOSE) + $(TIME_COMMAND) ninja -C "$@" -j $(NJOBS) $(VERBOSE) ifeq ($(LIBCXX_WASM_ENABLE), no) build-wasm/libcxx-%-wasi: build-wasm/compiler-rt-% @@ -1068,7 +1124,7 @@ build-wasm/libcxx-%-wasi: build-wasm/compiler-rt-% -DLIBCXXABI_HAS_EXTERNAL_THREAD_API:BOOL=OFF \ -DLIBCXXABI_BUILD_EXTERNAL_THREAD_LIBRARY:BOOL=OFF \ -DLIBCXXABI_USE_LLVM_UNWINDER:BOOL=OFF - ninja -C "$@" -j $(NJOBS) $(VERBOSE) + $(TIME_COMMAND) ninja -C "$@" -j $(NJOBS) $(VERBOSE) endif # Build compiler-rt for wasm32 and wasm64. Build libcxx only for wasm32, as @@ -1174,16 +1230,6 @@ override_dh_auto_install: # install/fast enables a make install without recompiling temporary files LD_LIBRARY_PATH=$(STAGE_2_LIB_DIR):$$LD_LIBRARY_PATH DESTDIR=$(DEB_INST)/ ninja -C $(TARGET_BUILD) $(VERBOSE) stage2-install - # Move libLLVM to /usr/lib/TRIPLE/libLLVM-XX.so.1 to make it multiarch ready - mkdir -p $(DEB_INST)/usr/lib/$(DEB_HOST_MULTIARCH)/; \ - mv $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/libLLVM-$(LLVM_VERSION).so.1 $(DEB_INST)/usr/lib/$(DEB_HOST_MULTIARCH)/; \ - mv $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/libLLVM-$(LLVM_VERSION).so.$(LLVM_VERSION).1 $(DEB_INST)/usr/lib/$(DEB_HOST_MULTIARCH)/ - - rm -f $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/libLLVM-$(LLVM_VERSION).so - cd $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/; \ - ln -s ../../$(DEB_HOST_MULTIARCH)/libLLVM-$(LLVM_VERSION).so.1 libLLVM-$(LLVM_VERSION).so; \ - ln -s ../../$(DEB_HOST_MULTIARCH)/libLLVM-$(LLVM_VERSION).so.1 libLLVM-$(LLVM_VERSION).so.1 - # Not used on Linux. rm -f $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/bin/argdumper rm -f $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/share/clang/clang-format-bbedit.applescript @@ -1198,21 +1244,21 @@ override_dh_auto_install: # Only run on executable, not script chrpath -d `find $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/bin/ -type f -executable -exec file -i '{}' \; | grep 'x-executable; charset=binary'|cut -d: -f1` -ifeq (,$(filter $(DEB_HOST_ARCH), powerpc powerpcspe)) +ifeq (,$(filter $(DEB_HOST_ARCH), powerpc)) ifneq (,$(filter $(DEB_HOST_ARCH_OS),linux)) # To fix custom-library-search-path - chrpath -d $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/clang/$(LLVM_VERSION)*/lib/linux/*.so + chrpath -d $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/clang/$(LLVM_VERSION)*/lib/linux/*.so || true endif endif if test "$(LIBUNWIND_ENABLE)" = yes; then \ - mkdir -p $(DEB_INST)/usr/include/libunwind; \ - cp -R libunwind/include/* $(DEB_INST)/usr/include/libunwind/; \ + mkdir -p debian/tmp/usr/include/libunwind; \ + cp -R libunwind/include/* debian/tmp/usr/include/libunwind/; \ fi : # libomp if test "$(OPENMP_ENABLE)" = yes; then \ - cd $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib; \ + cd debian/tmp/usr/lib/llvm-$(LLVM_VERSION)/lib; \ ln -s libomp.so.$(SONAME_OPENMP) libomp.so; \ cp libomp.so.$(SONAME_OPENMP) libomp-$(LLVM_VERSION).so.$(SONAME_OPENMP); \ fi @@ -1261,7 +1307,7 @@ endif $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/build/utils/lit/lit/*/__pycache__/ # workaround issue https://github.com/llvm/llvm-project/issues/57101 - find $(DEB_INST) -iname 'libbolt_rt*.a' -path '*/build-llvm/*' -delete + find debian/tmp -iname 'libbolt_rt*.a' -path '*/build-llvm/*' -delete # Remove an osx file rm -f $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/libbolt_rt_instr_osx.a @@ -1319,19 +1365,31 @@ endif # Remove some license files rm -f $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/include/llvm/Support/LICENSE.TXT -# Disable CMake's package validation checks for target files that we may remove. - sed -i '/_IMPORT_CHECK_TARGETS \(Polly\|sancov\|llvm-omp-device-info\|omptarget\|omp\)/ {s|^|#|}' $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/cmake/llvm/LLVMExports-*.cmake +# Disable CMake's LLVMExports package validation checks for target files that we may remove. + sed -i \ + -e '/_\(cmake_import_check_targets\|IMPORT_CHECK_TARGETS\) \(Polly\|sancov\|llvm-omp-device-info\|LibcTableGenUtil\|omptarget\|omp\)/ {s|^|#|}' \ + $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/cmake/llvm/LLVMExports-*.cmake + +# the obscure libLLVM.so.1 file ... + sed -i \ + -e '/_\(cmake_import_check_targets\|IMPORT_CHECK_TARGETS\) LLVM/ {s|^|#|}' \ + -e '/_\(cmake_import_check_targets\|IMPORT_CHECK_TARGETS\)_.*\/libLLVM\.so\.1.*/ {s|^|#|}' \ + $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/cmake/llvm/LLVMExports-*.cmake # Also disable mlir-* checks in the cmake - sed -i '/_IMPORT_CHECK_TARGETS \(mlir-\|MLIR\)/ {s|^|#|}' $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/cmake/llvm/LLVMExports-*.cmake + sed -i \ + -e '/_\(cmake_import_check_targets\|IMPORT_CHECK_TARGETS\) \(mlir-\|MLIR\)/ {s|^|#|}' \ + $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/cmake/llvm/LLVMExports-*.cmake - sed -i '/_cmake_import_check_files_for_.*\/bin\/.*/ {s|^|#|}' $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/cmake/llvm/LLVMExports-*.cmake $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/cmake/clang/ClangTargets-*.cmake - sed -i '/_IMPORT_CHECK_FILES_FOR_.*\/bin\/.*/ {s|^|#|}' $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/cmake/llvm/LLVMExports-*.cmake $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/cmake/clang/ClangTargets-*.cmake - sed -i '/_IMPORT_CHECK_FILES_FOR_\(mlir-\|Polly\|MLIR\)/ {s|^|#|}' $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/cmake/llvm/LLVMExports-*.cmake $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/cmake/clang/ClangTargets-*.cmake - sed -i '/_cmake_import_check_files_for_\(mlir\|Polly\|MLIR\|omp\|omptarget\)/ {s|^|#|}' $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/cmake/llvm/LLVMExports-*.cmake $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/cmake/clang/ClangTargets-*.cmake + sed -i \ + -e '/_\(cmake_import_check_files_for\|IMPORT_CHECK_FILES_FOR\)_.*\/bin\/.*/ {s|^|#|}' \ + $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/cmake/llvm/LLVMExports-*.cmake \ + $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/cmake/clang/ClangTargets-*.cmake -# Disable CMake's package validation checks for binaries that may not be installed - sed -i 's|.*_IMPORT_CHECK_FILES_FOR_.*/bin/.*)|#&|' $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/cmake/clang/ClangTargets-*.cmake + sed -i \ + -e '/_\(cmake_import_check_files_for\|IMPORT_CHECK_FILES_FOR\)_\(mlir\|Polly\|MLIR\|LibcTableGenUtil\|omp\|omptarget\)/ {s|^|#|}' \ + $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/cmake/llvm/LLVMExports-*.cmake \ + $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/cmake/clang/ClangTargets-*.cmake # Managed in python*-lldb-X.Y.links.in rm -f $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/python*/*-packages/lldb/_lldb.so @@ -1385,10 +1443,6 @@ endif if test "$(LLDB_PYTHON_ENABLE)" = no; then \ echo "" > debian/python3-lldb-$(LLVM_VERSION).install; \ fi -# if libc isn't built, remove what we want to install - if test "$(LIBC_ENABLE)" = no; then \ - echo "" > debian/libllvmlibc-$(LLVM_VERSION)-dev.install; \ - fi # Remove some mlir example rm -f $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/libMyExtensionCh*.a @@ -1396,15 +1450,28 @@ endif # Delete the target build directory to save some space on the build systems # All the files have been installed in $(CURDIR)/debian/tmp/ already rm -rf $(TARGET_BUILD) -# FIXME: why a stamp for dh_override_install ? - touch $@ +# for apt.llvm.org and prerelease versions, we are depending on the +# upstream version. After release, assume that the ABIs don't change +# anymore with the point releases (X.Y.1, Y.Y.2, ...) +LLVM_RELEASE := $(LLVM_EPOCH)$(LLVM_VERSION).$(LLVM_VERSION_MINOR).0 override_dh_makeshlibs: +ifneq (,$(findstring ~,$(PKG_VERSION))) dh_makeshlibs -plibclang$(SONAME_EXT)-$(LLVM_VERSION) dh_makeshlibs -pliblldb-$(LLVM_VERSION) dh_makeshlibs -plibllvm$(LLVM_VERSION) dh_makeshlibs -plibomp$(SONAME_OPENMP)-$(LLVM_VERSION) +else + dh_makeshlibs -plibclang$(SONAME_EXT)-$(LLVM_VERSION) \ + '-Vlibclang$(SONAME_EXT)-$(LLVM_VERSION) (>= $(LLVM_RELEASE))' + dh_makeshlibs -pliblldb-$(LLVM_VERSION) \ + '-Vliblldb-$(LLVM_VERSION) (>= $(LLVM_RELEASE))' + dh_makeshlibs -plibllvm$(LLVM_VERSION) \ + '-Vlibllvm$(LLVM_VERSION) (>= $(LLVM_RELEASE))' + dh_makeshlibs -plibomp$(SONAME_OPENMP)-$(LLVM_VERSION) \ + '-Vlibomp$(SONAME_OPENMP)-$(LLVM_VERSION) (>= $(LLVM_RELEASE))' +endif dh_makeshlibs --remaining-packages -V override_dh_shlibdeps: @@ -1457,14 +1524,26 @@ else endif override_dh_install: + : # fix libLLVM.so.1 install, install it under the SONAME + -ls -l debian/tmp/usr/lib/llvm-$(LLVM_VERSION)/lib/libLLVM*.so* + test -f debian/tmp/usr/lib/llvm-$(LLVM_VERSION)/lib/libLLVM.so.1 + + if [ -f debian/tmp/usr/lib/llvm-$(LLVM_VERSION)/lib/libLLVM.so.1 ] && [ ! -h debian/tmp/usr/lib/llvm-$(LLVM_VERSION)/lib/libLLVM.so.1 ]; then \ + soname=$$(objdump -p debian/tmp/usr/lib/llvm-$(LLVM_VERSION)/lib/libLLVM.so.1 | awk '/ *SONAME / {print $$2}'); \ + rm -f debian/tmp/usr/lib/llvm-$(LLVM_VERSION)/lib/$$soname; \ + mv debian/tmp/usr/lib/llvm-$(LLVM_VERSION)/lib/libLLVM.so.1 debian/tmp/usr/lib/llvm-$(LLVM_VERSION)/lib/$$soname; \ + ln -sf $$soname debian/tmp/usr/lib/llvm-$(LLVM_VERSION)/lib/libLLVM-$(LLVM_VERSION).so; \ + ln -sf $$soname debian/tmp/usr/lib/llvm-$(LLVM_VERSION)/lib/libLLVM.so; \ + fi + ifeq (${POLLY_ENABLE},yes) # only for arch:any builds ifneq (,$(filter libpolly-$(LLVM_VERSION)-dev, $(packages))) dh_install -p libpolly-$(LLVM_VERSION)-dev usr/lib/llvm-$(LLVM_VERSION)/lib/cmake/polly/*.cmake usr/lib/llvm-$(LLVM_VERSION)/lib/cmake/polly # On old Debian & Ubuntu, removing the files is necessary - rm -rf $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/cmake/polly/*.cmake + rm -rf debian/tmp/usr/lib/llvm-$(LLVM_VERSION)/lib/cmake/polly/*.cmake else - rm -rf $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/cmake/polly/*.cmake + rm -rf $(CURDIR)/debian/tmp/usr/lib/llvm-$(LLVM_VERSION)/lib/cmake/polly/*.cmake endif endif dh_install --fail-missing ${skip_packages} @@ -1484,8 +1563,16 @@ endif # So, we remove this directory from the package rm -fr $(CURDIR)/debian/libclang-rt-$(LLVM_VERSION)-dev/usr/lib/llvm-$(LLVM_VERSION)/lib/clang/$(LLVM_VERSION)/lib/wasi/ + if [ -d debian/llvm-$(LLVM_VERSION)/usr/share/doc/llvm-$(LLVM_VERSION) ]; then \ + for svg in usage-*.svg; do \ + [ -f $$svg ] || continue; \ + xz -9v $$svg; \ + cp -p $$svg.xz debian/llvm-$(LLVM_VERSION)/usr/share/doc/llvm-$(LLVM_VERSION)/.; \ + done; \ + fi + stamps/repack_a_llvm_ir: -ifeq (${THINLTO_ENABLE},yes) +ifeq (${LTO_ENABLE},yes) # with LTO, .a contains llvm ir instead of native code. So, recompile them NJOBS="$(NJOBS)" P_TO_LLVM="$(CURDIR)" VERSION=$(LLVM_VERSION) bash -v debian/llvm-compile-lto-elf.sh $(CXXFLAGS_EXTRA) endif @@ -1496,7 +1583,7 @@ override_dh_installdeb: stamps/repack_a_llvm_ir # Managed by the package dh_installdeb -a - rm -f $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/python*/*-packages/lldb/__init__.pyc $(CURDIR)/debian/python*-lldb-$(LLVM_VERSION)/usr/lib/llvm-$(LLVM_VERSION)/lib/python*/*-packages/lldb/__init__.pyc + rm -f $(CURDIR)/debian/tmp/usr/lib/llvm-$(LLVM_VERSION)/lib/python*/*-packages/lldb/__init__.pyc $(CURDIR)/debian/python*-lldb-$(LLVM_VERSION)/usr/lib/llvm-$(LLVM_VERSION)/lib/python*/*-packages/lldb/__init__.pyc rm -f $(CURDIR)/debian/clang-$(LLVM_VERSION)-examples/usr/share/doc/clang-$(LLVM_VERSION)-examples/examples/*Make* # the openmp header files moved to the same path as lib clang headers. @@ -1535,16 +1622,17 @@ ifeq (${LLD_ENABLE},yes) ninja $(VERBOSE) -C $(TARGET_BUILD_STAGE2) check-lld || true endif -# Cxx - ninja $(VERBOSE) -C $(TARGET_BUILD_STAGE2) check-cxx || true +# Sanitizer + ninja $(VERBOSE) -C $(TARGET_BUILD_STAGE2) check-sanitizer || true + +# Libcxx + ninja $(VERBOSE) -C $(TARGET_BUILD_STAGE2) check-libcxx || true # Libc -ifeq (${LIBC_ENABLE},yes) ninja $(VERBOSE) -C $(TARGET_BUILD_STAGE2) check-libc || true -endif -# Cxxabi - ninja $(VERBOSE) -C $(TARGET_BUILD_STAGE2) check-cxxabi || true +# Libcxxabi + ninja $(VERBOSE) -C $(TARGET_BUILD_STAGE2) check-libcxxabi || true # MLIR ifeq (,$(filter $(DEB_HOST_ARCH), armel armhf i386 x32)) @@ -1634,5 +1722,6 @@ override_dh_auto_clean: : # remove extra stamps rm -f override_dh_auto_install rm -rf stamps + rm -f usage-*.svg* .PHONY: override_dh_strip preconfigure diff --git a/debian/tests/cmake-clang-test b/debian/tests/cmake-clang-test index 4772815a..e9f9f7c7 100755 --- a/debian/tests/cmake-clang-test +++ b/debian/tests/cmake-clang-test @@ -2,7 +2,7 @@ set -e -LLVM_VERSION=18 +LLVM_VERSION=19 # this is taken from libjsoncpp package # Presence of $AUTOPKGTEST_TMP implies that someone will handle cleanup for us, so we diff --git a/debian/tests/cmake-clang-test.in b/debian/tests/cmake-clang-test.in new file mode 100755 index 00000000..19891735 --- /dev/null +++ b/debian/tests/cmake-clang-test.in @@ -0,0 +1,29 @@ +#!/bin/sh + +set -e + +LLVM_VERSION=@LLVM_VERSION@ + +# this is taken from libjsoncpp package +# Presence of $AUTOPKGTEST_TMP implies that someone will handle cleanup for us, so we +# can avoid duplicating the effort (signal handling, etc.) here. +if [ -z "$AUTOPKGTEST_TMP" ] +then + echo "Required envvar AUTOPKGTEST_TMP \"$AUTOPKGTEST_TMP\" is not set" >&2 + exit 1 +fi + + +# the idea was taken from spirv-llvm-translator package + +cd "$AUTOPKGTEST_TMP" +cat < CMakeLists.txt +cmake_minimum_required(VERSION 3.22) +project(cmake-clang-test) +find_package(Clang $LLVM_VERSION.1 REQUIRED) + +EOF + + +mkdir build && cd build +cmake .. diff --git a/debian/tests/cmake-llvm-test b/debian/tests/cmake-llvm-test index 28d95b32..b3606eb5 100755 --- a/debian/tests/cmake-llvm-test +++ b/debian/tests/cmake-llvm-test @@ -2,7 +2,7 @@ set -e -LLVM_VERSION=18 +LLVM_VERSION=19 # this is taken from libjsoncpp package # Presence of $AUTOPKGTEST_TMP implies that someone will handle cleanup for us, so we diff --git a/debian/tests/cmake-llvm-test.in b/debian/tests/cmake-llvm-test.in new file mode 100755 index 00000000..3c7da843 --- /dev/null +++ b/debian/tests/cmake-llvm-test.in @@ -0,0 +1,39 @@ +#!/bin/sh + +set -e + +LLVM_VERSION=@LLVM_VERSION@ + +# this is taken from libjsoncpp package +# Presence of $AUTOPKGTEST_TMP implies that someone will handle cleanup for us, so we +# can avoid duplicating the effort (signal handling, etc.) here. +if [ -z "$AUTOPKGTEST_TMP" ] +then + echo "Required envvar AUTOPKGTEST_TMP \"$AUTOPKGTEST_TMP\" is not set" >&2 + exit 1 +fi + + +# the idea was taken from spirv-llvm-translator package + +cd "$AUTOPKGTEST_TMP" +cat < CMakeLists.txt +cmake_minimum_required(VERSION 3.22) +project(cmake-llvm-test) +find_package(LLVM $LLVM_VERSION.1 REQUIRED + COMPONENTS + Analysis + BitReader + BitWriter + Core + Support + TransformUtils + llvm-as + llvm-dis +) + +EOF + + +mkdir build && cd build +cmake .. diff --git a/debian/tests/control b/debian/tests/control index 97fdb374..c8a86385 100644 --- a/debian/tests/control +++ b/debian/tests/control @@ -2,23 +2,24 @@ Test-Command: bash -v ./debian/qualify-clang.sh Depends: @, cmake, make, g++, file, dpkg-dev # Comment the dbgsym package because of bug #917528 # dbgsym packages not being available in testing -# clang-18-dbgsym, libclang1-18-dbgsym +# clang-19-dbgsym, libclang1-19-dbgsym Restrictions: allow-stderr Architecture: amd64 arm64 i386 Tests: integration-test-suite-test -Depends: @, cmake, make, g++, libstdc++-13-dev +Depends: @, cmake, make, g++, libstdc++-14-dev Restrictions: allow-stderr Architecture: amd64 arm64 Tests: cmake-llvm-test -Depends: gcc, build-essential, cmake, llvm-18-dev +Depends: gcc, build-essential, cmake, llvm-19-dev Tests: cmake-clang-test -Depends: gcc, build-essential, cmake, llvm-18-dev, clang-18, libclang-18-dev +Depends: gcc, build-essential, cmake, llvm-19-dev, clang-19, libclang-19-dev Test-Command: python3 -c "import lldb; print(lldb.__file__); print(lldb)" -Depends: python3-lldb-18 +Depends: python3-lldb-19 +Architecture: amd64 arm64 armel armhf i386 ppc64el riscv64 s390x Test-Command: python3 -c "import clang; print(clang.__file__); print(clang)" -Depends: python3-clang-18 +Depends: python3-clang-19 diff --git a/debian/tests/control.in b/debian/tests/control.in new file mode 100644 index 00000000..e3ec60b4 --- /dev/null +++ b/debian/tests/control.in @@ -0,0 +1,25 @@ +Test-Command: bash -v ./debian/qualify-clang.sh +Depends: @, cmake, make, g++, file, dpkg-dev +# Comment the dbgsym package because of bug #917528 +# dbgsym packages not being available in testing +# clang-@LLVM_VERSION@-dbgsym, libclang1-@LLVM_VERSION@-dbgsym +Restrictions: allow-stderr +Architecture: amd64 arm64 i386 + +Tests: integration-test-suite-test +Depends: @, cmake, make, g++, libstdc++-14-dev +Restrictions: allow-stderr +Architecture: amd64 arm64 + +Tests: cmake-llvm-test +Depends: gcc, build-essential, cmake, llvm-@LLVM_VERSION@-dev + +Tests: cmake-clang-test +Depends: gcc, build-essential, cmake, llvm-@LLVM_VERSION@-dev, clang-@LLVM_VERSION@, libclang-@LLVM_VERSION@-dev + +Test-Command: python3 -c "import lldb; print(lldb.__file__); print(lldb)" +Depends: python3-lldb-@LLVM_VERSION@ +Architecture: amd64 arm64 armel armhf i386 ppc64el riscv64 s390x + +Test-Command: python3 -c "import clang; print(clang.__file__); print(clang)" +Depends: python3-clang-@LLVM_VERSION@ diff --git a/debian/tests/integration-test-suite-test b/debian/tests/integration-test-suite-test index 3524400b..efc23d2a 100755 --- a/debian/tests/integration-test-suite-test +++ b/debian/tests/integration-test-suite-test @@ -2,7 +2,7 @@ set -e -LLVM_VERSION=18 +LLVM_VERSION=19 # this is taken from libjsoncpp package # Presence of $AUTOPKGTEST_TMP implies that someone will handle cleanup for us, so we diff --git a/debian/tests/integration-test-suite-test.in b/debian/tests/integration-test-suite-test.in new file mode 100755 index 00000000..81bbde09 --- /dev/null +++ b/debian/tests/integration-test-suite-test.in @@ -0,0 +1,39 @@ +#!/bin/sh + +set -e + +LLVM_VERSION=@LLVM_VERSION@ + +# this is taken from libjsoncpp package +# Presence of $AUTOPKGTEST_TMP implies that someone will handle cleanup for us, so we +# can avoid duplicating the effort (signal handling, etc.) here. +if [ -z "$AUTOPKGTEST_TMP" ] +then + echo "Required envvar AUTOPKGTEST_TMP \"$AUTOPKGTEST_TMP\" is not set" >&2 + exit 1 +fi + +# Copy the integration repo to the temp dir +cp -Rv integration-test-suite/* "$AUTOPKGTEST_TMP"/ +cd "$AUTOPKGTEST_TMP" + +mkdir build +cd build +cmake -DLIT=/usr/lib/llvm-$LLVM_VERSION/build/utils/lit/lit.py \ + -DCLANG_BINARY=/usr/bin/clang-$LLVM_VERSION \ + -DCLANGXX_BINARY=/usr/bin/clang++-$LLVM_VERSION \ + -DCLANG_TIDY_BINARY=/usr/bin/clang-tidy-$LLVM_VERSION \ + -DCLANG_FORMAT_BINARY=/usr/bin/clang-format-$LLVM_VERSION \ + -DLLD_BINARY=/usr/bin/lld-$LLVM_VERSION \ + -DLLDB_BINARY=/usr/bin/lldb-$LLVM_VERSION \ + -DLLVMCONFIG_BINARY=/usr/bin/llvm-config-$LLVM_VERSION \ + -DOPT_BINARY=/usr/bin/opt-$LLVM_VERSION \ + -DSCANBUILD=/usr/bin/scan-build-$LLVM_VERSION \ + -DCLANG_TIDY_BINARY=/usr/bin/clang-tidy-$LLVM_VERSION \ + -DSCANVIEW=/usr/bin/scan-view-$LLVM_VERSION \ + -DLLVMNM=/usr/bin/llvm-nm-$LLVM_VERSION \ + -DLLVMPROFDATA=/usr/bin/llvm-profdata-$LLVM_VERSION \ + -DENABLE_COMPILER_RT=OFF \ + -DENABLE_LIBCXX=ON \ + -DLLVM_CMAKE_PREFIX_PATH=/usr/lib/llvm-$LLVM_VERSION/lib/cmake/ ../ +make check diff --git a/debian/unpack.sh b/debian/unpack.sh index c1b8b681..54250cb1 100644 --- a/debian/unpack.sh +++ b/debian/unpack.sh @@ -1,6 +1,6 @@ set -e -ORIG_VERSION=18 -MAJOR_VERSION=18 # 8.0.1 +ORIG_VERSION=19 +MAJOR_VERSION=19 # 8.0.1 REV=`ls -1 *${ORIG_VERSION}_${MAJOR_VERSION}*~+*xz | tail -1|perl -ne 'print "$1\n" if /~\+(.*)\.orig/;' | sort -ru` VERSION=$REV @@ -14,7 +14,7 @@ echo "unpack of $LLVM_ARCHIVE" tar Jxf $LLVM_ARCHIVE cd llvm-toolchain-${ORIG_VERSION}_$MAJOR_VERSION~+$VERSION/ -VER_FOUND=$(grep "LLVM_VERSION_MAJOR " llvm/CMakeLists.txt|awk '{print $2}'|cut -d\) -f1) +VER_FOUND=$(grep "LLVM_VERSION_MAJOR " cmake/Modules/LLVMVersion.cmake|awk '{print $2}'|cut -d\) -f1) if test "${MAJOR_VERSION}" != "$VER_FOUND" -a "${MAJOR_VERSION}.0.0" != "$VER_FOUND" -a "${MAJOR_VERSION}.0.0git" != "$VER_FOUND" -a "${MAJOR_VERSION}git" != "$VER_FOUND"; then echo "Mismatch of version" echo "Expected $MAJOR_VERSION / Found $VER_FOUND" @@ -23,4 +23,39 @@ if test "${MAJOR_VERSION}" != "$VER_FOUND" -a "${MAJOR_VERSION}.0.0" != "$VER_FO fi cp -R ../$ORIG_VERSION/debian . -QUILT_PATCHES=debian/patches/ quilt push -a --fuzz=0 + +export QUILT_PATCHES=debian/patches/ + +attempt=0 +max_attempts=5 + +while [ $attempt -lt $max_attempts ]; do + echo $attempt + attempt=$((attempt+1)) + echo "Attempt $attempt of $max_attempts" + + # Attempt to apply patches without allowing fuzz + output=$(quilt push -a --fuzz=0 || true 2>&1) + + echo "$output" + + # Check if the quilt push command failed due to a hunk failure + if echo "$output" | grep -q "hunk FAILED"; then + echo "Initial quilt push failed, trying without --fuzz=0..." + output=$(quilt push || true 2>&1) + echo "$output" + # Check if the output contains a line indicating fuzz was applied + if echo "$output" | grep -q "with fuzz"; then + echo "Fuzz detected, refreshing patch..." + quilt refresh + cp -R debian/patches/* ../$ORIG_VERSION/debian/patches/ + fi + else + echo "Patches applied successfully." + break # Exit the loop if patches were applied successfully + fi +done + +if [ $attempt -eq $max_attempts ]; then + echo "Reached maximum attempt limit without successfully applying all patches." +fi diff --git a/debian/usage-wrapper.py b/debian/usage-wrapper.py new file mode 100755 index 00000000..bf8831fb --- /dev/null +++ b/debian/usage-wrapper.py @@ -0,0 +1,399 @@ +#!/usr/bin/env python3 + +import argparse +import math +import os +import subprocess +import sys +import threading +import time + +try: + import psutil +except ImportError: + print(f'{sys.argv[0]}: the psutil module is required.', file=sys.stderr) + sys.exit(1) + +try: + import matplotlib + import matplotlib.pyplot as plt + from matplotlib.lines import Line2D +except ImportError: + plt = None + + +def to_gigabyte(value): + return value / 1024**3 + + +INTERVAL = 0.33 +LW = 0.5 + +global_n = 0 +global_cpu_data_sum = 0 +global_memory_data_sum = 0 +global_cpu_data_max = 0 +global_memory_data_min = to_gigabyte(psutil.virtual_memory().total) +global_memory_data_max = 0 +global_swap_data_min = to_gigabyte(psutil.swap_memory().total) +global_swap_data_max = 0 +global_disk_data_total = to_gigabyte(psutil.disk_usage('.').total) +global_disk_data_start = to_gigabyte(psutil.disk_usage('.').used) + +global_timestamps = [] +global_cpu_data = [] +global_memory_data = [] +global_process_usage = [] +global_process_hogs = {} + +process_name_map = {} +lock = threading.Lock() + +done = False +start_ts = time.monotonic() +cpu_count = psutil.cpu_count() + +special_processes = {'ld': 'gold', + 'WPA': 'deepskyblue', + 'WPA-stream': 'lightblue', + 'ltrans': 'forestgreen', + 'as': 'coral', + 'GCC': 'gray', + 'clang': 'darkgray', + 'rust': 'brown', + 'go': 'hotpink', + 'dwz': 'limegreen', + 'rpm/dpkg': 'plum'} +for i, k in enumerate(special_processes.keys()): + process_name_map[k] = i + + +descr = 'Run command and measure memory and CPU utilization' +parser = argparse.ArgumentParser(description=descr) +parser.add_argument('command', metavar='command', + help='Command', nargs=argparse.REMAINDER) +parser.add_argument('-c', '--command', dest='command1', + help='command as a single argument') +parser.add_argument('-v', '--verbose', action='store_true', help='Verbose') +parser.add_argument('--summary-only', dest='summary_only', + action='store_true', + help='No plot, just a summary at the end') +parser.add_argument('--base-memory', action='store_true', + help='Adjust memory to include the system load') +parser.add_argument('-s', '--separate-ltrans', action='store_true', + help='Separate LTRANS processes in graph') +parser.add_argument('-o', '--output', default='usage.svg', + help='Path to output image (default: usage.svg)') +parser.add_argument('-r', '--ranges', + help='Plot only the selected time ranges ' + '(e.g. 20-30, 0-1000)') +parser.add_argument('-t', '--title', help='Graph title') +parser.add_argument('-m', '--memory-hog-threshold', type=float, + help='Report about processes that consume the amount of ' + 'memory (in GB)') +parser.add_argument('-f', '--frequency', type=float, + default=INTERVAL, + help='Frequency of measuring (in seconds)') +parser.add_argument('-j', '--jobs', type=int, + default=cpu_count, dest='used_cpus', + help='Scale up CPU data to used CPUs ' + 'instead of available CPUs') +args = parser.parse_args() + +if args.command1 and args.command: + print(f'{sys.argv[0]}: either use -c "", ' + 'or append the command', file=sys.stderr) + sys.exit(1) + +if not args.summary_only and plt is None: + print(f'{sys.argv[0]}: use --summary-only, ' + 'or install the matplotlib module', file=sys.stderr) + sys.exit(1) + +cpu_scale = cpu_count / args.used_cpus + + +def get_process_name(proc): + name = proc.name() + cmdline = proc.cmdline() + if name == 'ld' or name == 'ld.gold': + return 'ld' + elif name == 'lto1-wpa': + return 'WPA' + elif name == 'lto1-wpa-stream': + return 'WPA-stream-out' + elif name in ('cc1', 'cc1plus', 'cc1objc', 'f951', 'd21', 'go1', 'gnat1'): + return 'GCC' + elif name.startswith('clang'): + return 'clang' + elif name.startswith('rust'): + return 'rust' + elif name in ('as', 'dwz', 'go'): + return name + elif name == 'rpmbuild' or name.startswith('dpkg'): + return 'rpm/dpkg' + elif '-fltrans' in cmdline: + if args.separate_ltrans: + return 'ltrans-%d' % proc.pid + else: + return 'ltrans' + return None + + +def record_process_memory_hog(proc, memory, timestamp): + if args.memory_hog_threshold: + if memory >= args.memory_hog_threshold: + cmd = ' '.join(proc.cmdline()) + tpl = (memory, timestamp) + if cmd not in global_process_hogs: + global_process_hogs[cmd] = tpl + elif memory > global_process_hogs[cmd][0]: + global_process_hogs[cmd] = tpl + + +def record(): + global global_n, global_cpu_data_sum, global_cpu_data_max + global global_memory_data_sum, global_memory_data_min + global global_memory_data_max + global global_swap_data_min, global_swap_data_max + + active_pids = {} + while not done: + timestamp = time.monotonic() - start_ts + used_cpu = psutil.cpu_percent(interval=args.frequency) * cpu_scale + used_memory = to_gigabyte(psutil.virtual_memory().used) + used_swap = to_gigabyte(psutil.swap_memory().used) + if not args.summary_only: + global_timestamps.append(timestamp) + global_memory_data.append(used_memory) + global_cpu_data.append(used_cpu) + + global_n += 1 + global_cpu_data_sum += used_cpu + global_memory_data_sum += used_memory + global_cpu_data_max = max(global_cpu_data_max, used_cpu) + global_memory_data_min = min(global_memory_data_min, used_memory) + global_memory_data_max = max(global_memory_data_max, used_memory) + global_swap_data_min = min(global_swap_data_min, used_swap) + global_swap_data_max = max(global_swap_data_max, used_swap) + + entry = {} + seen_pids = set() + for proc in psutil.Process().children(recursive=True): + try: + memory = to_gigabyte(proc.memory_info().rss) + record_process_memory_hog(proc, memory, timestamp) + name = get_process_name(proc) + if name: + seen_pids.add(proc.pid) + if proc.pid not in active_pids: + active_pids[proc.pid] = proc + else: + proc = active_pids[proc.pid] + cpu = proc.cpu_percent() / args.used_cpus + if name not in process_name_map: + length = len(process_name_map) + process_name_map[name] = length + if name not in entry: + entry[name] = {'memory': 0, 'cpu': 0} + entry[name]['cpu'] += cpu + # FIXME: ignore WPA streaming memory - COW makes it bogus + if name != 'WPA-stream-out': + entry[name]['memory'] += memory + except Exception: + # the process can be gone + pass + for pid in list(active_pids.keys()): + if pid not in seen_pids: + del active_pids[pid] + if args.verbose: + print(entry, flush=True) + if not args.summary_only: + global_process_usage.append(entry) + + +def stack_values(process_usage, key): + stacks = [] + for _ in range(len(process_name_map)): + stacks.append([]) + for values in process_usage: + for k, v in process_name_map.items(): + if k in values: + stacks[v].append(values[k][key]) + else: + stacks[v].append(0) + return stacks + + +def get_footnote(): + hostname = os.uname()[1].split('.')[0] + cpu_average = global_cpu_data_sum / global_n + cpu_max = global_cpu_data_max + base_memory = global_memory_data_min + peak_memory = global_memory_data_max + total_mem = to_gigabyte(psutil.virtual_memory().total) + return (f'host: {hostname}; CPUs: {args.used_cpus}/{cpu_count};' + f' CPU avg: {cpu_average:.0f}%;' + f' CPU max: {cpu_max:.0f}%;' + f' base memory: {base_memory:.1f} GB;' + f' peak memory: {peak_memory:.1f} GB;' + f' total memory: {total_mem:.1f} GB') + + +def get_footnote2(): + peak_swap = global_swap_data_max + total_swap = to_gigabyte(psutil.swap_memory().total) + disk_total = global_disk_data_total + disk_start = global_disk_data_start + disk_end = to_gigabyte(psutil.disk_usage('.').used) + disk_delta = disk_end - disk_start + return (f'swap peak/total: {peak_swap:.1f}/{total_swap:.1f} GB;' + f' disk start/end/total: {disk_start:.1f}/{disk_end:.1f}/{disk_total:.1f} GB;' + f' disk delta: {disk_delta:.1f} GB') + + +def generate_graph(time_range): + timestamps = [] + cpu_data = [] + memory_data = [] + process_usage = [] + + # filter date by timestamp + for i, ts in enumerate(global_timestamps): + if not time_range or time_range[0] <= ts and ts <= time_range[1]: + timestamps.append(ts) + cpu_data.append(global_cpu_data[i]) + memory_data.append(global_memory_data[i]) + process_usage.append(global_process_usage[i]) + + if not timestamps: + if args.verbose: + print('No data for range: %s' % str(time_range)) + return + + peak_memory = max(memory_data) + + fig, (cpu_subplot, mem_subplot) = plt.subplots(2, sharex=True) + title = args.title if args.title else '' + if time_range: + title += ' (%d-%d s)' % (time_range[0], time_range[1]) + fig.suptitle(title, fontsize=17) + fig.set_figheight(5) + fig.set_figwidth(10) + # scale cpu axis + local_peak_cpu = max(cpu_data) + cpu_ylimit = (local_peak_cpu // 10) * 11 + 5 + if cpu_ylimit > 200: + cpu_ylimit = 200 + cpu_subplot.set_title('CPU usage') + cpu_subplot.set_ylabel('%') + cpu_subplot.plot(timestamps, cpu_data, c='blue', lw=LW, label='total') + cpu_subplot.set_ylim([0, cpu_ylimit]) + cpu_subplot.axhline(color='r', alpha=0.5, y=100.0 / args.used_cpus, lw=LW, + linestyle='dotted', label='single core') + cpu_subplot.set_xlim(left=time_range[0] if time_range else 0) + cpu_subplot.grid(True) + + mem_subplot.plot(timestamps, memory_data, c='blue', lw=LW, label='total') + mem_subplot.set_title('Memory usage') + mem_subplot.set_ylabel('GB') + mem_subplot.set_xlabel('time') + + # scale it to a reasonable limit + limit = 1 + while peak_memory > limit: + limit *= 2 + if limit > 2 and limit * 0.75 >= peak_memory: + limit = int(limit * 0.75) + mem_subplot.set_ylim([0, 1.1 * limit]) + mem_subplot.set_yticks(range(0, limit + 1, math.ceil(limit / 8))) + mem_subplot.grid(True) + + # Try to use the newer colormaps attribute; if not available, fallback + try: + colors = list(matplotlib.colormaps['tab20c'].colors * 100) + except AttributeError: + colors = list(plt.cm.get_cmap('tab20c').colors * 100) + for name, color in special_processes.items(): + if name in process_name_map: + colors[process_name_map[name]] = color + + mem_stacks = stack_values(process_usage, 'memory') + cpu_stacks = stack_values(process_usage, 'cpu') + if mem_stacks: + mem_subplot.stackplot(timestamps, mem_stacks, + colors=colors) + cpu_subplot.stackplot(timestamps, cpu_stacks, + colors=colors) + + # generate custom legend + colors = special_processes.values() + custom_lines = [Line2D([0], [0], color=x, lw=5) for x in colors] + custom_lines.insert(0, Line2D([0], [0], color='b', lw=LW)) + custom_lines.insert(0, Line2D([0], [0], color='r', alpha=0.5, + linestyle='dotted', lw=LW)) + names = ['single core', 'total'] + list(special_processes.keys()) + fig.legend(custom_lines, names, loc='right', prop={'size': 6}) + + filename = args.output + if time_range: + tr = '-%d-%d' % (time_range[0], time_range[1]) + filename = os.path.splitext(args.output)[0] + tr + '.svg' + plt.subplots_adjust(bottom=0.15) + plt.figtext(0.1, 0.04, get_footnote(), fontsize='small') + plt.figtext(0.1, 0.01, get_footnote2(), fontsize='small') + plt.savefig(filename) + if args.verbose: + print('Saving plot to %s' % filename) + + +def summary(): + print(f'SUMMARY: {get_footnote()}') + print(f'SUMMARY: {get_footnote2()}') + if global_process_hogs: + print(f'PROCESS MEMORY HOGS (>={args.memory_hog_threshold:.1f} GB):') + items = sorted(global_process_hogs.items(), key=lambda x: x[1][0], + reverse=True) + for cmdline, (memory, ts) in items: + print(f' {memory:.1f} GB: {ts:.1f} s: {cmdline}') + + +thread = threading.Thread(target=record, args=()) +thread.start() + +ranges = [] +if args.ranges: + for r in args.ranges.split(','): + parts = r.split('-') + assert len(parts) == 2 + ranges.append([int(x) for x in parts]) + +if args.verbose: + print('Ranges are %s' % str(ranges)) + print('Running command', flush=True) + +cp = None +try: + if args.command1: + cp = subprocess.run(args.command1, shell=True) + else: + cp = subprocess.run(args.command) +except KeyboardInterrupt: + rv = 2 +finally: + done = True + thread.join() + summary() + if global_memory_data: + min_memory = min(global_memory_data) + if not args.base_memory: + global_memory_data = [x - min_memory for x in global_memory_data] + + if plt: + generate_graph(None) + for r in ranges: + generate_graph(r) + if cp: + rv = cp.returncode + +sys.exit(rv) diff --git a/debian/watch b/debian/watch index abd072ff..9223afde 100644 --- a/debian/watch +++ b/debian/watch @@ -1,2 +1,15 @@ version=4 -https://llvm.org/releases/download.html .*/llvm-([\d\.\-]+).src.tar.xz +opts=repack,compression=xz, \ + https://github.com/llvm/llvm-project/tags \ + (?:.*?/)?llvmorg-(19[\d\.\-]+).tar.gz + +# FIXME: doesn't work yet: +# Newest version of integration-test-suite on remote site is 0.0~git20240518.a962677, local version is 19.1.1 +#opts=\ +#component=integration-test-suite,\ +#mode=git,\ +#pgpmode=none,\ +#repack,\ +#compression=xz \ +# https://github.com/opencollab/llvm-toolchain-integration-test-suite \ +# HEAD