Import llvm-toolchain-19_19.1.7-3.debian.tar.xz
authorSylvestre Ledru <sylvestre@debian.org>
Fri, 14 Mar 2025 09:48:31 +0000 (10:48 +0100)
committerSylvestre Ledru <sylvestre@debian.org>
Fri, 14 Mar 2025 09:48:31 +0000 (10:48 +0100)
[dgit import tarball llvm-toolchain-19 1:19.1.7-3 llvm-toolchain-19_19.1.7-3.debian.tar.xz]

255 files changed:
README [new file with mode: 0644]
README.source [new file with mode: 0644]
TODO [new file with mode: 0644]
bolt-X.Y.install.in [new file with mode: 0644]
changelog [new file with mode: 0644]
clang-X.Y-doc.docs.in [new file with mode: 0644]
clang-X.Y-doc.install.in [new file with mode: 0644]
clang-X.Y-doc.lintian-overrides.in [new file with mode: 0644]
clang-X.Y-examples.examples.in [new file with mode: 0644]
clang-X.Y.install.in [new file with mode: 0644]
clang-X.Y.links.in [new file with mode: 0644]
clang-X.Y.lintian-overrides.in [new file with mode: 0644]
clang-X.Y.manpages.in [new file with mode: 0644]
clang-format-X.Y.install.in [new file with mode: 0644]
clang-format-X.Y.lintian-overrides.in [new file with mode: 0644]
clang-format-X.Y.manpages.in [new file with mode: 0644]
clang-tidy-X.Y.install.in [new file with mode: 0644]
clang-tidy-X.Y.links.in [new file with mode: 0644]
clang-tidy-X.Y.lintian-overrides.in [new file with mode: 0644]
clang-tidy-X.Y.manpages.in [new file with mode: 0644]
clang-tools-X.Y.install.in [new file with mode: 0755]
clang-tools-X.Y.links.in [new file with mode: 0644]
clang-tools-X.Y.lintian-overrides.in [new file with mode: 0644]
clang-tools-X.Y.manpages.in [new file with mode: 0644]
clangd-X.Y.install.in [new file with mode: 0644]
clangd-X.Y.manpages.in [new file with mode: 0644]
compat [new file with mode: 0644]
control [new file with mode: 0644]
control.in [new file with mode: 0644]
copyright [new file with mode: 0644]
debian_path.h [new file with mode: 0644]
flang-X.Y.install.in [new file with mode: 0644]
libbolt-X.Y-dev.install.in [new file with mode: 0755]
libc++-X.Y-dev-wasm32.install.in [new file with mode: 0644]
libc++-X.Y-dev-wasm32.links.in [new file with mode: 0644]
libc++-X.Y-dev-wasm32.lintian-overrides.in [new file with mode: 0644]
libc++-X.Y-dev.install.in [new file with mode: 0644]
libc++-X.Y-dev.links.in [new file with mode: 0644]
libc++-X.Y-dev.lintian-overrides.in [new file with mode: 0644]
libc++1-X.Y.install.in [new file with mode: 0644]
libc++1-X.Y.links.in [new file with mode: 0644]
libc++1-X.Y.lintian-overrides.in [new file with mode: 0644]
libc++abi-X.Y-dev-wasm32.install.in [new file with mode: 0644]
libc++abi-X.Y-dev-wasm32.links.in [new file with mode: 0644]
libc++abi-X.Y-dev-wasm32.lintian-overrides.in [new file with mode: 0644]
libc++abi-X.Y-dev.install.in [new file with mode: 0644]
libc++abi-X.Y-dev.links.in [new file with mode: 0644]
libc++abi-X.Y-dev.lintian-overrides.in [new file with mode: 0644]
libc++abi1-X.Y.install.in [new file with mode: 0644]
libc++abi1-X.Y.links.in [new file with mode: 0644]
libc++abi1-X.Y.lintian-overrides.in [new file with mode: 0644]
libclang-X.Y-dev.install.in [new file with mode: 0755]
libclang-X.Y-dev.links.in [new file with mode: 0644]
libclang-common-X.Y-dev.install.in [new file with mode: 0644]
libclang-common-X.Y-dev.links.in [new file with mode: 0644]
libclang-cppX.Y-dev.install.in [new file with mode: 0644]
libclang-cppX.Y-dev.links.in [new file with mode: 0644]
libclang-cppX.Y.install.in [new file with mode: 0644]
libclang-cppX.Y.links.in [new file with mode: 0644]
libclang-rt-X.Y-dev-wasm32.install.in [new file with mode: 0644]
libclang-rt-X.Y-dev-wasm32.lintian-overrides.in [new file with mode: 0644]
libclang-rt-X.Y-dev-wasm64.install.in [new file with mode: 0644]
libclang-rt-X.Y-dev-wasm64.lintian-overrides.in [new file with mode: 0644]
libclang-rt-X.Y-dev.install.in [new file with mode: 0755]
libclang-rt-X.Y-dev.lintian-overrides.in [new file with mode: 0644]
libclang1-X.Y.install.in [new file with mode: 0644]
libclang1-X.Y.links.in [new file with mode: 0644]
libclang1-X.Y.lintian-overrides.in [new file with mode: 0644]
libclang1-X.Y.symbols.in [new file with mode: 0644]
libclc-X.Y-dev.install.in [new file with mode: 0644]
libclc-X.Y.install.in [new file with mode: 0644]
libflang-X.Y-dev.install.in [new file with mode: 0644]
liblld-X.Y-dev.install.in [new file with mode: 0644]
liblld-X.Y.install.in [new file with mode: 0644]
liblld-X.Y.links.in [new file with mode: 0644]
liblldb-X.Y-dev.install.in [new file with mode: 0644]
liblldb-X.Y-dev.links.in [new file with mode: 0644]
liblldb-X.Y.install.in [new file with mode: 0644]
liblldb-X.Y.links.in [new file with mode: 0644]
liblldb-X.Y.lintian-overrides.in [new file with mode: 0644]
libllvm-X.Y-ocaml-dev.META.in [new file with mode: 0644]
libllvm-X.Y-ocaml-dev.dirs.in [new file with mode: 0644]
libllvm-X.Y-ocaml-dev.install.in [new file with mode: 0644]
libllvm-X.Y-ocaml-dev.lintian-overrides.in [new file with mode: 0644]
libllvmX.Y.install.in [new file with mode: 0644]
libllvmX.Y.links.in [new file with mode: 0644]
libllvmX.Y.lintian-overrides.in [new file with mode: 0644]
libllvmlibc-X.Y-dev.install.in [new file with mode: 0644]
libmlir-X.Y-dev.install.in [new file with mode: 0644]
libmlir-X.Y-dev.lintian-overrides.in [new file with mode: 0644]
libmlir-X.Y.install.in [new file with mode: 0644]
libmlir-X.Y.lintian-overrides.in [new file with mode: 0644]
libomp-X.Y-dev.install.in [new file with mode: 0755]
libomp-X.Y-dev.links.in [new file with mode: 0644]
libomp-X.Y-doc.docs.in [new file with mode: 0644]
libomp-X.Y.links.in [new file with mode: 0644]
libomp5-X.Y.install.in [new file with mode: 0755]
libomp5-X.Y.links.in [new file with mode: 0644]
libomp5-X.Y.lintian-overrides.in [new file with mode: 0644]
libomp5-X.Y.symbols.in [new file with mode: 0644]
libpolly-X.Y-dev.install.in [new file with mode: 0755]
libpolly-X.Y-dev.lintian-overrides.in [new file with mode: 0644]
libunwind-X.Y-dev.install.in [new file with mode: 0644]
libunwind-X.Y-dev.links.in [new file with mode: 0644]
libunwind-X.Y-dev.lintian-overrides.in [new file with mode: 0644]
libunwind-X.Y.install.in [new file with mode: 0644]
libunwind-X.Y.links.in [new file with mode: 0644]
libunwind-X.Y.lintian-overrides.in [new file with mode: 0644]
lld-X.Y.install.in [new file with mode: 0644]
lld-X.Y.manpages.in [new file with mode: 0644]
lldb-X.Y.install.in [new file with mode: 0644]
lldb-X.Y.links.in [new file with mode: 0644]
lldb-X.Y.lintian-overrides.in [new file with mode: 0644]
lldb-X.Y.manpages.in [new file with mode: 0644]
lldb-X.Y.postinst.in [new file with mode: 0755]
llvm-X.Y-dev.dirs.in [new file with mode: 0644]
llvm-X.Y-dev.install.in [new file with mode: 0755]
llvm-X.Y-dev.links.in [new file with mode: 0644]
llvm-X.Y-doc.dirs.in [new file with mode: 0644]
llvm-X.Y-doc.install.in [new file with mode: 0644]
llvm-X.Y-examples.dirs.in [new file with mode: 0644]
llvm-X.Y-examples.examples.in [new file with mode: 0644]
llvm-X.Y-linker-tools.install.in [new file with mode: 0755]
llvm-X.Y-linker-tools.links.in [new file with mode: 0755]
llvm-X.Y-runtime.binfmt.conf.in [new file with mode: 0644]
llvm-X.Y-runtime.binfmt.in [new file with mode: 0644]
llvm-X.Y-runtime.install.in [new file with mode: 0644]
llvm-X.Y-runtime.lintian-overrides.in [new file with mode: 0644]
llvm-X.Y-runtime.manpages.in [new file with mode: 0644]
llvm-X.Y-runtime.postinst.in [new file with mode: 0755]
llvm-X.Y-runtime.prerm.in [new file with mode: 0755]
llvm-X.Y-tools.dirs.in [new file with mode: 0644]
llvm-X.Y-tools.install.in [new file with mode: 0644]
llvm-X.Y.dirs.in [new file with mode: 0644]
llvm-X.Y.install.in [new file with mode: 0644]
llvm-X.Y.lintian-overrides.in [new file with mode: 0644]
llvm-X.Y.manpages.in [new file with mode: 0644]
llvm-compile-lto-elf.sh [new file with mode: 0644]
llvm-priv-dev.dirs [new file with mode: 0644]
mlir-X.Y-tools.install.in [new file with mode: 0644]
orig-tar.sh [new file with mode: 0755]
patches/0001-tools-clang-cmake-resolve-symlinks-in-ClangConfig.cmake.patch [new file with mode: 0644]
patches/0044-soname.diff [new file with mode: 0644]
patches/0048-Set-html_static_path-_static-everywhere.patch [new file with mode: 0644]
patches/0049-Use-Debian-provided-MathJax-everywhere.patch [new file with mode: 0644]
patches/23-strlcpy_strlcat_warning_removed.diff [new file with mode: 0644]
patches/26-set-correct-float-abi.diff [new file with mode: 0644]
patches/930008-arm.diff [new file with mode: 0644]
patches/D148945-revert.diff [new file with mode: 0644]
patches/D67877-cmake-clang-example.patch [new file with mode: 0644]
patches/arm32-defaults.diff [new file with mode: 0644]
patches/bolt-disable-emit-relocs.patch [new file with mode: 0644]
patches/bolt-disable-proc-check.diff [new file with mode: 0644]
patches/bootstrap-fix-include-next.diff [new file with mode: 0644]
patches/clang-analyzer-force-version.diff [new file with mode: 0644]
patches/clang-arm-default-vfp3-on-armv7a.patch [new file with mode: 0644]
patches/clang-baseline-fix-i386.patch [new file with mode: 0644]
patches/clang-format-version.diff [new file with mode: 0644]
patches/clang-tidy-run-bin.diff [new file with mode: 0644]
patches/clangd-atomic-cmake.patch [new file with mode: 0644]
patches/compiler-rt/compilerrt-build-scudo-standalone-option.diff [new file with mode: 0644]
patches/compiler-rt/compilerrt-builtins-arch-fix-armhf.diff [new file with mode: 0644]
patches/debug-jit-path.diff [new file with mode: 0644]
patches/declare_clear_cache.diff [new file with mode: 0644]
patches/disable-error-xray.diff [new file with mode: 0644]
patches/disable-llvm-symbolizer-test.diff [new file with mode: 0644]
patches/disable-openmp-per-target.diff [new file with mode: 0644]
patches/disable-path-test-failing.diff [new file with mode: 0644]
patches/disable-sse2-old-x86.diff [new file with mode: 0644]
patches/do-not-fail-on-unexpected-pass.diff [new file with mode: 0644]
patches/env-lld-package-metadata.diff [new file with mode: 0644]
patches/fix-clang-path-and-build.diff [new file with mode: 0644]
patches/fix-scan-view-path.diff [new file with mode: 0644]
patches/force-sse2-compiler-rt.diff [new file with mode: 0644]
patches/hurd/hurd-f_type.diff [new file with mode: 0644]
patches/hurd/hurd-pathmax.diff [new file with mode: 0644]
patches/issue-54242.diff [new file with mode: 0644]
patches/libclang-major-version-only.diff [new file with mode: 0644]
patches/libclc-fix-prepare_builtins-rpath.diff [new file with mode: 0644]
patches/libcxx/libcxx-armhf-ftbfs.diff [new file with mode: 0644]
patches/libcxx/libcxx-libatomic-only-with-gcc-rtlib.diff [new file with mode: 0644]
patches/libcxx/libcxx-silent-failure-arm64.diff [new file with mode: 0644]
patches/libcxx/libcxx-silent-failure-ppc64el.diff [new file with mode: 0644]
patches/libcxx/libcxx-silent-test-libcxx.diff [new file with mode: 0644]
patches/libcxx/libcxx-test-fix-lockfree-test-for-i386.patch [new file with mode: 0644]
patches/libcxx/libcxxabi-arm-ehabi-fix.patch [new file with mode: 0644]
patches/libcxx/libcxxabi-fix-link-builtins.diff [new file with mode: 0644]
patches/libcxx/libcxxabi-test-don-t-fail-extended-long-double.patch [new file with mode: 0644]
patches/link-grpc.diff [new file with mode: 0644]
patches/link-with-package-metadata.diff [new file with mode: 0644]
patches/lldb/lldb-addversion-suffix-to-llvm-server-exec.patch [new file with mode: 0644]
patches/lldb/lldb-missing-install.diff [new file with mode: 0644]
patches/lldb/lldb-soname.diff [new file with mode: 0644]
patches/lldb/print-lldb-path.patch [new file with mode: 0644]
patches/lldb/test-disable-lldb-i386.diff [new file with mode: 0644]
patches/llvm-fix-lld-linker-check.diff [new file with mode: 0644]
patches/llvm-runtimes-builtins-build-check.diff [new file with mode: 0644]
patches/lower-python-dep.diff [new file with mode: 0644]
patches/mips-mlir-xgot.diff [new file with mode: 0644]
patches/mips/mips-D101773-reloc.patch [new file with mode: 0644]
patches/mips/mips-force-nomadd4.patch [new file with mode: 0644]
patches/mips/mips-fpxx-enable.diff [new file with mode: 0644]
patches/mips/syscall-mips64el-def.diff [new file with mode: 0644]
patches/offload-disable-static-assert.diff [new file with mode: 0644]
patches/omp-riscv64.patch [new file with mode: 0644]
patches/openmp-fix-runtimes-build.diff [new file with mode: 0644]
patches/openmp-soname.diff [new file with mode: 0644]
patches/openmp/openmp-check-execstack.diff [new file with mode: 0644]
patches/protobuf_3.21.patch [new file with mode: 0644]
patches/python-clangpath.diff [new file with mode: 0644]
patches/python3-shebang.patch [new file with mode: 0644]
patches/python3.13-quote.diff [new file with mode: 0644]
patches/remove-apple-clang-manpage.diff [new file with mode: 0644]
patches/remove-test-freezing.diff [new file with mode: 0644]
patches/revert-update-doc.diff [new file with mode: 0644]
patches/scan-build-clang-path.diff [new file with mode: 0644]
patches/scan-build-py-fix-default-bin.diff [new file with mode: 0644]
patches/scan-view-fix-path.diff [new file with mode: 0644]
patches/series [new file with mode: 0644]
patches/silent-MCJIIT-tests.diff [new file with mode: 0644]
patches/silent-gold-test.diff [new file with mode: 0644]
patches/silent-gold-utils.diff [new file with mode: 0644]
patches/silent-llvm-isel-fuzzer.diff [new file with mode: 0644]
patches/silent-more-tests.diff [new file with mode: 0644]
patches/silent-test-failing-codeverage.diff [new file with mode: 0644]
patches/silent-test-macho.diff [new file with mode: 0644]
patches/symbolizer-path.diff [new file with mode: 0644]
patches/test-keep-alive.diff [new file with mode: 0644]
patches/ubuntu-plucky.patch [new file with mode: 0644]
patches/unwind-chain-inclusion.diff [new file with mode: 0644]
patches/unwind-force-pthread-dl.diff [new file with mode: 0644]
patches/wasm/wasm-compiler-rt-default.diff [new file with mode: 0644]
patches/wasm/wasm-ld-path.diff [new file with mode: 0644]
patches/wasm/wasm-sysroot-usr.diff [new file with mode: 0644]
pollycc.in [new file with mode: 0755]
prepare-new-release.sh [new file with mode: 0644]
python3-clang-X.Y.install.in [new file with mode: 0644]
python3-lldb-X.Y.install.in [new file with mode: 0644]
python3-lldb-X.Y.links.in [new file with mode: 0644]
qualify-clang.sh [new file with mode: 0755]
rules [new file with mode: 0755]
source/format [new file with mode: 0644]
source/lintian-overrides [new file with mode: 0644]
source/options [new file with mode: 0644]
tests/cmake-clang-test [new file with mode: 0755]
tests/cmake-clang-test.in [new file with mode: 0755]
tests/cmake-llvm-test [new file with mode: 0755]
tests/cmake-llvm-test.in [new file with mode: 0755]
tests/control [new file with mode: 0644]
tests/control.in [new file with mode: 0644]
tests/integration-test-suite-test [new file with mode: 0755]
tests/integration-test-suite-test.in [new file with mode: 0755]
unpack.sh [new file with mode: 0644]
usage-wrapper.py [new file with mode: 0755]
watch [new file with mode: 0644]

diff --git a/README b/README
new file mode 100644 (file)
index 0000000..b9b0d31
--- /dev/null
+++ b/README
@@ -0,0 +1,117 @@
+Organization of the repository
+==============================
+
+The debian package for each LLVM point release is maintained as a git branch.
+For example, the 10 release lives at in the "10" branch.
+
+The current snapshot release is maintained in the "snapshot" branch.
+
+The easiest way to get all branches is probably to have one
+clone per version:
+
+for f in 14 15 16 17 snapshot; do
+    git clone git@salsa.debian.org:pkg-llvm-team/llvm-toolchain.git -b $f $f
+done
+
+debian/control is generated from debian/control.in by running:
+
+debian/rules preconfigure
+
+
+Steps for manually building a snapshot release
+==============================================
+
+1) Retrieve the latest snapshot and create original tarballs.
+
+   Run the orig-tar.sh script,
+
+     $ sh snapshot/debian/orig-tar.sh
+
+   which will retrieve the latest version for each LLVM subproject (llvm,
+   clang, lldb, etc.) from the main development (upstream github). and repack it
+   as a set of tarballs.
+
+2) Unpack the original tarballs and apply quilt debian patches.
+
+   From the branches/ directory run the unpack.sh script,
+
+     $ sh unpack.sh
+
+   which will unpack the source tree inside a new directory such as
+   branches/llvm-toolchain-snapshot_3.9~+20191018225217+3b123a2be6d.
+   (date+hour+short git hash).
+   Depending on the current snapshot version number and git release,
+   the directory name will be
+   different.
+
+   Quilt patches will then be applied.
+
+3) Build the binary packages using,
+
+     $ fakeroot debian/rules binary
+
+When debugging, successive builds can be recompiled faster by using tools such
+as ccache (PATH=/usr/lib/ccache:$PATH fakeroot debian/rules binary).
+
+Retrieving a specific branch or release candidate with orig-tar.sh
+==================================================================
+
+When using orig-tar.sh, if you need to retrieve a specific branch, you can pass
+the branch name as the first argument. For example, to get the 10 release
+branch at
+  https://github.com/llvm/llvm-project/branches
+you should use,
+
+  $ sh 10/debian/orig-tar.sh release/10.x
+
+To retrieve a specific release candidate, you can pass the branch name as the
+first argument, and the tag rc number as the second argument. For example, to
+get the 9.0.1 release candidate rc3 at
+  https://github.com/llvm/llvm-project/tags
+you should use,
+
+  $ sh 10/debian/orig-tar.sh 10.0.1 rc3
+
+For a stable release, the syntax is:
+
+ $ sh 10/debian/orig-tar.sh 10.0.0
+
+
+Additional maintainer scripts
+=============================
+
+The script qualify-clang.sh that is found at the git debian/ directory
+should be used to quickly test a newly built package. It runs a short
+set of sanity-check tests and regression tests.
+It is executed in autopkgtest.
+
+The script releases/snapshot/debian/prepare-new-release.sh is used when
+preparing a new point release. It automatically replaces version numbers
+in various files of the package.
+
+Making a change to all versions
+===============================
+
+Sometimes, we want to make a change on all branches.
+In that case, start to make the change from the older
+version (example: 8), then, change branch (example: 9) and
+$ git merge origin/8
+to retrieve the changes
+
+
+Change in major upstream version
+================================
+TODO update with the git commands
+
+$ svn copy snapshot VERSION
+$ svn commit -m "VERSION branched" VERSION
+$ cd VERSION
+$ sed -i -e '0,/llvm-toolchain-snapshot/s/llvm-toolchain-snapshot/llvm-toolchain-VERSION/' debian/changelog debian/control
+$ svn commit -m "snapshot => VERSION"
+$ cd ../snapshot
+$ emacs debian/prepare-new-release.sh
+# Change the version
+$ bash debian/prepare-new-release.sh
+$ svn commit -m "new snapshot release"
+
+Now, try build build it.
diff --git a/README.source b/README.source
new file mode 100644 (file)
index 0000000..fbd46fa
--- /dev/null
@@ -0,0 +1,46 @@
+All programs and libraries shipped in this package are trying to stay as close
+as possible from upstream.
+
+However, because of the objectives of Debian, besides paths, some changes are
+made.
+
+The Debian packaging is also used by apt.llvm.org.
+
+From 12.0.1-10 & 13.0.0-9, the build system use the runtimes build system.
+This is now the upstream preferred way to build llvm.
+It means that some projects like libc++ or compiler-rt are built once clang
+is built.
+
+= File names =
+
+* To make sure that most of the llvm-toolchain packages are co-installable,
+files are installed in /usr/lib/llvm-X/
+and symlinks are managed by the other package llvm-defaults
+
+
+= CPU extensions =
+
+* For x86, SSE2 extensions are disabled (and the target CPU is i686 instead of
+  pentium4).
+
+* For armel, uses float ABI instead of hard.
+
+* For armv7-a, NEON extensions are disabled.
+
+* For mips, FPXX is enabled, MADD4 instructions are disabled.
+
+* For riscv64, the hard-float ABI is used instead of the float one, and
+  the target CPU is set to RV64GC instead of RV64I.
+
+* For s390x: set default abi to z196 for debian, and z13 for ubuntu.
+  See https://bugs.launchpad.net/ubuntu/+source/llvm-toolchain-10/+bug/1864226
+
+= Libraries =
+
+* sonames are created
+
+* Build-ID are enabled
+
+
+ -- Sylvestre Ledru <sylvestre@debian.org>, Mon, 30 Mar 2020 11:08:10 +0200
+
diff --git a/TODO b/TODO
new file mode 100644 (file)
index 0000000..b0f378d
--- /dev/null
+++ b/TODO
@@ -0,0 +1,14 @@
+* package utils/creduce-clang-crash.py
+
+* add the support of libclang in llvm default (for now, it is
+called libclang1-3.3.so)
+
+* move the header at the right place in libclang-dev
+
+* In 1:7.0.1~+rc2-5, we did:
+  * Fix a baseline violation on armhf (Closes: #914268)
+    clang-arm-default-vfp3-on-armv7a.patch has been updated to disable
+    neon in another place
+It caused 200+ tests to fail on arm:
+https://buildd.debian.org/status/fetch.php?pkg=llvm-toolchain-7&arch=amd64&ver=1%3A7.0.1%7E%2Brc2-4&stamp=1542503855&raw=0
+https://buildd.debian.org/status/fetch.php?pkg=llvm-toolchain-7&arch=amd64&ver=1%3A7.0.1%7E%2Brc2-5&stamp=1542863723&raw=0
diff --git a/bolt-X.Y.install.in b/bolt-X.Y.install.in
new file mode 100644 (file)
index 0000000..1119f0f
--- /dev/null
@@ -0,0 +1,11 @@
+usr/bin/llvm-bolt-@LLVM_VERSION@
+usr/bin/llvm-bolt-heatmap-@LLVM_VERSION@
+usr/bin/llvm-boltdiff-@LLVM_VERSION@
+usr/bin/merge-fdata-@LLVM_VERSION@
+usr/bin/perf2bolt-@LLVM_VERSION@
+usr/lib/llvm-@LLVM_VERSION@/bin/llvm-bolt
+usr/lib/llvm-@LLVM_VERSION@/bin/llvm-bolt-heatmap
+usr/lib/llvm-@LLVM_VERSION@/bin/llvm-boltdiff
+usr/lib/llvm-@LLVM_VERSION@/bin/merge-fdata
+usr/lib/llvm-@LLVM_VERSION@/bin/perf2bolt
+
diff --git a/changelog b/changelog
new file mode 100644 (file)
index 0000000..47d4ef4
--- /dev/null
+++ b/changelog
@@ -0,0 +1,7639 @@
+llvm-toolchain-19 (1:19.1.7-3) unstable; urgency=medium
+
+  * conditionalize the binutils-gold build-dep
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Fri, 14 Mar 2025 10:48:31 +0100
+
+llvm-toolchain-19 (1:19.1.7-2) unstable; urgency=medium
+
+  [ Sylvestre Ledru ]
+  * Skip some autopkgtests on non intel cpu. Closes: #1094233.
+  * clang-19 recommends clang-tools-19
+    https://github.com/llvm/llvm-project/issues/117333
+  * Also add binutils-gold in the integration-test-suite-test testsuite
+  * Add binutils-gold as build dep
+  * Install hwasan_symbolize on x32 (Closes: #1100161)
+    Thanks to Jing Luo for the patch
+
+  [ Matthias Klose ]
+  * d/t/control.in: Add binutils-gold as explicit test dependency.
+    Don't add binutils-gold as a build dependency, just build with the
+    default linker.
+  * Do changes from last upload in d/t/control.in, not in d/t/control.
+  * d/rules: Simplify permission settings for generated debhelper files.
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 25 Feb 2025 18:05:48 +0100
+
+llvm-toolchain-19 (1:19.1.7-1) unstable; urgency=medium
+
+  [ Matthias Klose ]
+  * Update libclang1 symbols file.
+
+  [ Sylvestre Ledru ]
+  * New upstream release
+  * Rewrite qualify-clang.sh with bats
+    Might fail on some archs
+  * Tests: integration-test-suite-test
+    Remove explicit dep libstdc++-14
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 14 Jan 2025 14:16:47 +0100
+
+llvm-toolchain-19 (1:19.1.6-1) unstable; urgency=medium
+
+  [ Sylvestre Ledru ]
+  * New upstream release. Should be the last of 19
+    And the one in the next Debian release
+  * Remove the capability to be able to disable C++ Exceptions in libc++
+  * Bring back C++ exceptions on s390x for libc++ (LP: #2086782)
+  * Disable -Bsymbolic-function on Ubuntu for causing:
+    https://github.com/llvm/llvm-project/issues/59432#issuecomment-2500694332
+
+  [ Matthias Klose ]
+  * bolt: Disable the check for /proc/self/map_files. Might not be available
+    on build machines. LP: #2084316.
+  * Fix compatibility with Python 3.13. Closes: #1084638.
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 18 Dec 2024 10:01:43 +0100
+
+llvm-toolchain-19 (1:19.1.5-1) unstable; urgency=medium
+
+  [ Matthias Klose ]
+  * Better correct than less cryptic. Fix BD_ALT_HELLO substitutions.
+
+  [ John Paul Adrian Glaubitz ]
+  * Install liborc_rt-powerpc64.a on powerpc
+
+  [ Sylvestre Ledru ]
+  * New upstream release
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 04 Dec 2024 13:11:08 +0100
+
+llvm-toolchain-19 (1:19.1.4-1) unstable; urgency=medium
+
+  [ Sylvestre Ledru ]
+  * New upstream release
+  * Decrease the risk of getting "hello" as package (instead of installing
+    wasi-libc)
+    (Closes: #1086702)
+
+  [ Matthias Klose ]
+  * d/rules: Add a BD_ALT_HELLO macro. Set it to anything else than "yes" to avoid
+    generating alternative build dependencies on hello in the control file.
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 26 Nov 2024 10:14:24 +0100
+
+llvm-toolchain-19 (1:19.1.3-2) unstable; urgency=medium
+
+  * enable OpenMP (without offloading) on riscv64 (and mips64el and loong64)
+    Thanks to Aurélien Jarno for this patch
+    (Closes: #1087280)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Mon, 11 Nov 2024 12:45:14 +0100
+
+llvm-toolchain-19 (1:19.1.3-1) unstable; urgency=medium
+
+  * New release
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 30 Oct 2024 21:56:13 +0100
+
+llvm-toolchain-19 (1:19.1.2-2) unstable; urgency=medium
+
+  [ Samuel Thibault ]
+  * Disable time64_t ABI on hurd-i386 too.
+
+  [ Sylvestre Ledru ]
+  * Use the | hello trick for g++-multilib for s390x / Ubuntu Oracular
+  * Enable compiler-rt runtime again for 32bit time_t64 architectures.
+    (Closes: #1085853)
+  * Backport Ubuntu 25.04 - Plucky Puffin support
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sun, 27 Oct 2024 21:05:41 +0100
+
+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 <sylvestre@debian.org>  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
+  * 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)
+
+  [ Matthias Klose ]
+  * New upstream release
+  * Update watch file and add .git* files to exclude in the tarball.
+
+ -- Matthias Klose <doko@debian.org>  Wed, 02 Oct 2024 06:11:01 +0200
+
+llvm-toolchain-19 (1:19.1.0-4) unstable; urgency=medium
+
+  [ Sylvestre Ledru ]
+  * Adjust the workaround for apt.llvm.org version upgrades
+    https://github.com/llvm/llvm-project/issues/109276
+  * Ensure that at least 1 CPU is used for build
+    Thanks to Santiago Vila for the patch
+    (Closes: #1082360)
+
+  [ Matthias Klose ]
+  * Don't relax versioned shlibs dependencies for snapshot builds and
+    prerelease versions.
+  * libllvm19: No symlinks in the llvm-19 subdir. Closes: #1081192, #1082495.
+
+ -- Matthias Klose <doko@debian.org>  Sun, 22 Sep 2024 16:36:31 +0200
+
+llvm-toolchain-19 (1:19.1.0-3) unstable; urgency=medium
+
+  * Fix typo in dh_makeshlibs calls.
+
+ -- Matthias Klose <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  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
+    to the envvar ELF_PACKAGE_METADATA.
+
+  [ Emanuele Rocca ]
+  * Enable bolt on arm64, now supported upstream.
+
+  [ Sylvestre Ledru ]
+  * remove llvm-cgdata - see 9e90c40564e21dc5f1a12e08cfdf29305aaf9f50
+  * New snapshot release
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 20 Aug 2024 19:52:02 +0200
+
+llvm-toolchain-19 (1:19.1.0~++rc2-1~exp1) experimental; urgency=medium
+
+  * New testing release
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Mon, 05 Aug 2024 15:25:06 +0200
+
+llvm-toolchain-19 (1:19.1.0~++20240724103243+7af27be6633a-1~exp1) experimental; urgency=medium
+
+  [ John Paul Adrian Glaubitz ]
+  * Disable LLVM testsuite on x32
+  * Install liborc_rt-x86_64.a on x32
+  * Install hwasan_symbolize on x32
+
+  [ Norbert Lange ]
+  * build lldb with Intel PT support on x86, amd64
+
+  [ 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 <sylvestre@debian.org>  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 <sylvestre@debian.org>  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.
+
+  [ Sylvestre Ledru ]
+  * New snapshot release
+  * Also install libMLIRExecutionEngineShared.so
+  * Remove lang-to-external-fc to match upstream change in
+    4841d70a4b7d7cd8c492c16a9da339ec75bca135
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sun, 21 Apr 2024 14:21:37 +0200
+
+llvm-toolchain-snapshot (1:19~++20240304085905+c7fdd8c11e54-1~exp1) experimental; urgency=medium
+
+  [ Sylvestre Ledru ]
+  * 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
+
+  [ John Paul Adrian Glaubitz ]
+  * Install *clang_rt* on sparc and sparc64
+  * Run chrpath for libclang on sparc and sparc64
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Mon, 04 Mar 2024 09:00:56 +0100
+
+llvm-toolchain-snapshot (1:19~++20240125092523+41fe98a6e7e5-1~exp1) experimental; urgency=medium
+
+  * 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
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Thu, 25 Jan 2024 14:51:10 +0100
+
+llvm-toolchain-18 (1:18.1.8-15) unstable; urgency=medium
+
+  [ Matthias Klose ]
+  * d/t/control: Remove explicit dependency on libstdc++-N-dev.
+
+  [ Sylvestre Ledru ]
+  * Skip some autopkgtests on non intel cpu
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Thu, 16 Jan 2025 14:16:06 +0100
+
+llvm-toolchain-18 (1:18.1.0~rc4-1) unstable; urgency=medium
+
+  [ 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)
+  [ 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 <sylvestre@debian.org>  Wed, 28 Feb 2024 11:08:41 +0100
+
+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 <locutusofborg@debian.org>  Thu, 22 Feb 2024 17:58:05 +0100
+
+llvm-toolchain-18 (1:18.1.0~rc2-3) unstable; urgency=medium
+
+  * Add abi=+time64,+lfs only on 64bits system
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sun, 11 Feb 2024 14:29:31 +0100
+
+llvm-toolchain-18 (1:18.1.0~rc2-2) unstable; urgency=medium
+
+  [ Gianfranco Costamagna ]
+  * Try gold linker on mips64el
+  * Add also lfs on top of time64, to fix FTBFS on 32bit
+
+  [ Sylvestre Ledru ]
+  * add new symbols in libomp5
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org>  Thu, 08 Feb 2024 16:38:35 +0100
+
+llvm-toolchain-18 (1:18.1.0~rc2-1) unstable; urgency=medium
+
+  * New snapshot release
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 07 Feb 2024 21:15:53 +0100
+
+llvm-toolchain-18 (1:18.1.0~rc1-3) unstable; urgency=medium
+
+  * 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
+  * Fix an underlinking on qualify-clang.sh
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org>  Wed, 07 Feb 2024 15:05:08 +0100
+
+llvm-toolchain-18 (1:18.1.0~rc1-2) unstable; urgency=medium
+
+  [ Steve Langasek ]
+  * Use ABI time64 to avoid a transition for a new package
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org>  Mon, 05 Feb 2024 08:26:26 +0100
+
+llvm-toolchain-18 (1:18.1.0~rc1-1) unstable; urgency=medium
+
+  [ Samuel Thibault ]
+  * control: Avoid hello build-dep getting pulled in on buildds.
+
+  [ Gianfranco Costamagna ]
+  * Fixup rc versioning, and go for sid
+
+  [ Sylvestre Ledru ]
+  * hwasan_symbolize is now built also on i386
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org>  Wed, 31 Jan 2024 10:36:07 +0100
+
+llvm-toolchain-18 (1:18.1.0-rc1-1~exp1) experimental; urgency=medium
+
+  * First RC
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 30 Jan 2024 09:01:06 +0100
+
+llvm-toolchain-18 (1:18.1.0~++20240126095841+0991d3c7b53d-1~exp1) experimental; urgency=medium
+
+  * Branching of 18
+    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 unconditionally defined -DLIBUNWIND_USE_COMPILER_RT=ON
+  * Also pass -DLIBCXXABI_USE_LLVM_UNWINDER:BOOL=OFF to libcxx-wasm32-wasi builds
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Fri, 26 Jan 2024 09:44:56 +0100
+
+llvm-toolchain-snapshot (1:18~++20231211102647+75193b192ad9-1~exp1) experimental; urgency=medium
+
+  [ Matthias Klose ]
+  * Set the cpu defaults for the ARM32 architectures:
+    - armel: arm926ej-s. Addresses: #1056115.
+    - armhf: cortex-a8.
+    Thanks to Arnd Bergmann and Ard Biesheuvel for the fixes.
+  * Apply the proposed fix for D158491, build failure on mips64el, still
+    unreviewed upstream. Addresses: #1056116.
+
+  [ Sylvestre Ledru ]
+  * New snapshot release
+  * Fix a libc++ conflicts (Closes: #1057899)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Mon, 11 Dec 2023 10:26:59 +0100
+
+llvm-toolchain-snapshot (1:18~++20231203063627+9f78edbd20ed-1~exp1) experimental; urgency=medium
+
+  [ Sylvestre Ledru ]
+  * replace python3-recommonmark by myst-parser
+    to follow upstream change b7ff03206d668cd5a620a9d4e1b22ea112ed56e3
+    And disable generation of the doc on old distro
+  * Ship tblgen-to-irdl as part of mlir-tools
+  * Rename lldb-vscode => lldb-dap
+  * Ship tblgen-to-irdl as part of mlir-tools
+  * Remove __tgt_rtl_deinit_plugin & __tgt_rtl_deinit_device symbols from
+    openmp https://github.com/llvm/llvm-project/pull/73557
+
+  [ Matthias Klose ]
+  * Limit the number of parallel processes based on the available memory
+    and the packages to be built (flang has some memory hogs).
+  * Also install liborc_rt*.a on ppc64 and ppc64el.
+  * Fix stripping build flags on Ubuntu/ppc64el.
+  * libclang1-18: Only encode the major version in the soname. See #1056126.
+  * Restore the patch for D148945, searching /usr/lib/llvm-18/lib by default.
+    Addresses: #1056580.
+  * Also use the free swap to determine the number of parallel processes.
+  * Set the cpu defaults for the ARM32 architectures:
+    - armel: arm9e. Closes: #1056115.
+    - armhf: cortex-a7.
+
+  [ John Paul Adrian Glaubitz ]
+  * Don't install *clang_rt* on sparc and sparc64
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sun, 03 Dec 2023 18:38:51 +0100
+
+llvm-toolchain-17 (1:17.0.3-1~exp1) experimental; urgency=medium
+
+  [ Matthias Klose ]
+  * Consolidate the build flags for the wasm builds.
+  * Disable the clc and wasm builds when not building binary indep packages.
+  * Limit the parallel links to 2 on riscv64.
+  * d/rules: Be less noisy when building without grpc.
+  * Build-depend on libncurses-dev instead of libncurses5-dev.
+  * Use a stamps subdirectory for all build stamps.
+  * Factor-out the calls to dh_listpackages.
+  * d/rules/preconfigure: Print info about build environment.
+
+ -- Matthias Klose <doko@debian.org>  Sun, 08 Oct 2023 08:10:51 +0200
+
+llvm-toolchain-snapshot (1:18~++20230818040015+c931f2e6fd0c-1~exp2) UNRELEASED; urgency=medium
+
+  [ John Paul Adrian Glaubitz ]
+  * Disable wasm support on powerpc and powerpcspe
+  * Remove powerpc from BINUTILS_GOLD_ARCHS again
+
+ -- John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>  Wed, 30 Aug 2023 11:49:01 +0200
+
+llvm-toolchain-snapshot (1:18~++20230818040015+c931f2e6fd0c-1~exp1) experimental; urgency=medium
+
+  * snapshot is now 18
+  * Remove llvm-remark-size-diff & llvm-tapi-diff from llvm-X.Y-dev
+  * Remove lldb-disable-swig-error.diff - no longer necessary
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Fri, 18 Aug 2023 16:00:36 +0200
+
+llvm-toolchain-snapshot (1:18~++20230725115106+b6847edfc235-1~exp1) experimental; urgency=medium
+
+  * snapshot is now 18
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 25 Jul 2023 23:52:42 +0200
+
+llvm-toolchain-17 (1:17.0.6-6) UNRELEASED; urgency=medium
+
+  [ chenli ]
+  * Enable flang on loong64
+
+  [ Sylvestre Ledru ]
+  * try to enable sccache on 'my' s390x machines
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 24 Jan 2024 13:29:35 +0100
+
+llvm-toolchain-17 (1:17.0.6-5) unstable; urgency=medium
+
+  [ Faidon Liambotis ]
+  * Revert "Enable COMPILER_RT_BUILD_BUILTINS for armel"
+  * Fix i386 FTBFS resulting from COMPILER_RT_DEFAULT_TARGET_ONLY
+    (Closes: #1060440)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Thu, 11 Jan 2024 14:15:09 +0100
+
+llvm-toolchain-17 (1:17.0.6-4) unstable; urgency=medium
+
+  * debian/qualify-clang.sh: remove the compiler-rt test of i386
+    use libclang-rt-17-dev:i386 instead
+
+  [ Matthias Klose ]
+  * libclang1-17: Remove the full version symlinks.
+
+  [ Faidon Liambotis ]
+  * Enable COMPILER_RT_DEFAULT_TARGET_ONLY for all archs
+  * Enable COMPILER_RT_BUILD_BUILTINS for armel
+  * Drop two unreferenced debian/patches
+  * Mark documentation packages as Multi-Arch: foreign
+  * Convert libclang-common-*-dev to Arch: all/M-A: foreign
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 09 Jan 2024 13:03:56 +0100
+
+llvm-toolchain-17 (1:17.0.6-3) unstable; urgency=medium
+
+  * Cherry pick the wasm fix from 16
+    (Closes: #1057838)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Fri, 15 Dec 2023 18:51:57 +0100
+
+llvm-toolchain-17 (1:17.0.6-2) unstable; urgency=medium
+
+  [ Gianfranco Costamagna ]
+  * Add new cmake-clang-test to spot issues such as
+    Debian bug #1057151
+  * Fix cmake file (Closes: #1057151)
+  * Drop sed command, useless now
+
+  [ Matthias Klose ]
+  * Also use the free swap to determine the number of parallel processes.
+  * libclang1-17: Hard-code the last full versions for the symlinks.
+  * Also use the free swap to determine the number of parallel processes.
+  * Set the cpu defaults for the ARM32 architectures:
+    - armel: arm926ej-s. Closes: #1056115.
+    - armhf: cortex-a8.
+    Thanks to Arnd Bergmann and Ard Biesheuvel for the fixes.
+  * Apply the proposed fix for D158491, build failure on mips64el, still
+    unreviewed upstream. Addresses: #1056116.
+
+  [ Sylvestre Ledru ]
+  * Move the symlink /usr/lib/*/libc++experimental.a from libc++abi-17-dev
+    to libc++-17-dev
+  * Remove some old break/replaces from 16
+  * Fix the EmitBackendOutput test in debian/qualify-clang.sh
+  * Also add back /usr/lib/llvm-17/lib/libclang-17.so.1
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org>  Fri, 08 Dec 2023 09:49:04 +0100
+
+llvm-toolchain-17 (1:17.0.6-1) unstable; urgency=medium
+
+  [ Matthias Klose ]
+  * Further limit the number of parallel processes
+  * Don't build-depend on llvm-spirv-17 on armel and mipsel (LLVM 17 is not
+    yet built on these architectures).
+  * Fix stripping build flags on Ubuntu/ppc64el.
+  * libclang1-17: Only encode the major version in the soname. Closes: #1056126.
+  * libclang1-17: Provide a symlink for the last soname with the full version.
+  * Restore the patch for D148945, searching /usr/lib/llvm-17/lib by default.
+    Closes: #1056580.
+
+  [ Sylvestre Ledru ]
+  * New upstream release
+  * Add a symlink for libc++experimental.a to /usr/lib/*/libc++experimental.a
+    to fix https://github.com/llvm/llvm-project/issues/72753
+  * try to relax the wasi-libc dep declaration for apt.llvm.org
+  * add a check that, if we are going to build wasm, wasi-libc is installed
+    on the system
+
+  [ John Paul Adrian Glaubitz ]
+  * Don't install *clang_rt* on sparc and sparc64
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 28 Nov 2023 11:43:43 +0100
+
+llvm-toolchain-17 (1:17.0.5-1) unstable; urgency=medium
+
+  [ John Paul Adrian Glaubitz ]
+  * Don't run chrpath for libclang on sparc and sparc64
+
+  [ Matthias Klose ]
+  * Build-depend on llvm-spirv-17.
+
+  [ Sylvestre Ledru ]
+  * New upstream release
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 14 Nov 2023 11:27:22 +0100
+
+llvm-toolchain-17 (1:17.0.2-1~exp1) experimental; urgency=medium
+
+  * New upstream release
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 03 Oct 2023 09:18:45 +0200
+
+llvm-toolchain-17 (1:17.0.1-1~exp2) experimental; urgency=medium
+
+  * Also remove omp from cmake file (Closes: #1052533)
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org>  Thu, 28 Sep 2023 11:24:39 +0200
+
+llvm-toolchain-17 (1:17.0.1-1~exp1) experimental; urgency=medium
+
+  * New upstream release
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 19 Sep 2023 10:43:02 +0200
+
+llvm-toolchain-17 (1:17.0.0~+rc4-1~exp6) experimental; urgency=medium
+
+  * Enable again python3-lldb on bionic (apt.llvm.org)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Mon, 18 Sep 2023 11:22:37 +0200
+
+llvm-toolchain-17 (1:17.0.0~+rc4-1~exp5) experimental; urgency=medium
+
+  * debian/patches/D158066.patch:
+    - cherry-pick change from 1:16.0.6-11
+  * Make sure at least spirv 17 is used, FTBFS with older version
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org>  Tue, 12 Sep 2023 08:51:38 +0200
+
+llvm-toolchain-17 (1:17.0.0~+rc4-1~exp4) experimental; urgency=medium
+
+  [ Gianfranco Costamagna ]
+  * Don't depend on spirv, the version 16 is too old to work
+
+  [ Sylvestre Ledru ]
+  * Also ignore "-mbranch-protection=standard" (used on arm64)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Fri, 08 Sep 2023 13:49:38 +0200
+
+llvm-toolchain-17 (1:17.0.0~+rc4-1~exp3) experimental; urgency=medium
+
+  * Update control file
+  * Fixup build failures from 16 branch
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org>  Thu, 07 Sep 2023 23:04:28 +0200
+
+llvm-toolchain-17 (1:17.0.0~+rc4-1~exp2) experimental; urgency=medium
+
+  * Strip -fcf-protection for wasm build - new flag added in dpkg 1.22
+  * Explicitly depend on libcurl4-openssl-dev
+    Thanks to Samuel Henrique for the fix
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 06 Sep 2023 22:44:15 +0200
+
+llvm-toolchain-17 (1:17.0.0~+rc4-1~exp1) experimental; urgency=medium
+
+  [ John Paul Adrian Glaubitz ]
+  * Disable wasm support on powerpc and powerpcspe
+  * Remove powerpc from BINUTILS_GOLD_ARCHS again
+
+  [ Sylvestre Ledru ]
+  * new upstream release
+  * Disable python3-lldb on mips64el to unbreak the build
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 05 Sep 2023 14:30:50 +0200
+
+llvm-toolchain-17 (1:17.0.0~+rc3-1~exp1) experimental; urgency=medium
+
+  * New snapshot release
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 22 Aug 2023 19:22:57 +0200
+
+llvm-toolchain-17 (1:17.0.0~+rc2-1~exp2) UNRELEASED; urgency=medium
+
+  * debian/tests/control: update gcc to 10 => 13
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sat, 19 Aug 2023 10:07:19 +0200
+
+llvm-toolchain-17 (1:17.0.0~+rc2-1~exp1) experimental; urgency=medium
+
+  * New snapshot release:
+  * Fix the libclang-rt-17-dev: ships
+    /usr/lib[...]/wasi/libclang_rt.builtins-wasm*.a, already in
+    libclang-rt-17-dev-wasm* (closes: #1041388)
+  * Also install llvm-debuginfod in llvm-X.Y
+  * Fix for real the libclang-rt-17-dev issue
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 15 Aug 2023 19:25:12 +0000
+
+llvm-toolchain-snapshot (1:17~++20230723074821+3ebe606592fb-1~exp1) UNRELEASED; urgency=medium
+
+  * experimental New snapshot release
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sun, 23 Jul 2023 19:48:42 +0200
+
+llvm-toolchain-snapshot (1:17~++20230709044550+c54ff51be9c1-1~exp1) experimental; urgency=medium
+
+  * Install usr/lib/llvm-17/lib/clang/17/include/llvm_libc_wrappers/*.h
+    in libclang-common-X.Y-dev
+  * fix the libclang & libomp5 symbol files
+  * Add new symbol to libclang1:
+    clang_CXXMethod_isExplicit
+    clang_createIndexWithOptions
+    clang_getBinaryOperatorKindSpelling
+    clang_getCursorBinaryOperatorKind
+    clang_getCursorUnaryOperatorKind
+    clang_getUnaryOperatorKindSpelling
+
+  [ Samuel Thibault ]
+  * Fix hurd build by fixing Linux-specific lines.
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sun, 09 Jul 2023 15:15:34 +0200
+
+llvm-toolchain-snapshot (1:17~++20230701095046+dc6c8b8d1e35-1~exp1) experimental; urgency=medium
+
+  * llvm-debuginfod not installed anymore
+    https://github.com/llvm/llvm-project/commit/8ac330bde40e9e0a0b2d0708ba6c7888fb1ce225
+  * New snapshot release
+  * Yet a new element (omp) to disable in cmake detection. Upstream #62622
+  * remove some mlir example (libMyExtensionCh*.a)
+  * Try to pass MAKE_C_COMPILER_LAUNCHER and CMAKE_CXX_COMPILER_LAUNCHER
+    in CLANG_BOOTSTRAP_PASSTHROUGH for sccache in stage2
+  * Disable python3-lldb-17 for buster (it has been this way for a while)
+  * Try to workaround issue 63613
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 04 Jul 2023 13:16:48 +0200
+
+llvm-toolchain-snapshot (1:17~++20230128060150+75153adeda1a-1~exp1) experimental; urgency=medium
+
+  * Snapshot is now 17
+  * ship libHLFIRTransforms & libHLFIRDialect in libflang
+  * Also install liborc_rt-x86_64.a in libclang-rt
+  * Adjust some path since upstream changed the path from
+    /usr/lib/llvm-16/lib/clang/16.0.0/ to
+    /usr/lib/llvm-16/lib/clang/16/
+  * Workaround some missing files on buster
+  * Replace LLVM_CONFIG by LLVM_CMAKE_DIR
+  * Bring back -DBUILTINS_CMAKE_ARGS & -DRUNTIMES_CMAKE_ARGS options
+    https://github.com/llvm/llvm-project/issues/59097
+  * unbreak a symlink to fix to libclang
+  * Add a symlink /usr/lib/x86_64-linux-gnu/{libclang-16.so.16.0.0 => libclang-16.so.1}
+    Expected by program like the firefox build system
+  * ship amdgpu-arch & nvptx-arch in clang-tools
+  * ship llvm-omp-kernel-replay in libomp-X.Y-dev
+  * Disable flang on s390x. Seems that it is breaking
+  * compiler-rt: Only build liborc on amd64, i386 & arm64
+  * Don't build omptarget on i386
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sat, 28 Jan 2023 18:07:40 +0100
+
+llvm-toolchain-16 (1:16.0.6-18) unstable; urgency=medium
+
+  [ Gianfranco Costamagna ]
+  * Upload to sid
+
+  [ Sylvestre Ledru ]
+  * Change the logic to disable SPIRV. Disable it on most of the versions because
+    it needs llvm-spirv-16.
+    Enabled on trixie/sid, Ubuntu Mantic
+    FAILED: spirv-mesa3d-.spv /build/source/libclc/build/spirv-mesa3d-.spv
+    cd /build/source/libclc/build && /usr/bin/llvm-spirv-15
+       --spirv-max-version=1.1 -o spirv-mesa3d-.spv builtins.link.spirv-mesa3d-.bc
+    Unknown attribute kind (86) (Producer: 'LLVM16.0.6' Reader: 'LLVM 15.0.6')
+  * For Ubuntu bionic, improve the deactivation of lldb python
+
+  [ Steve Langasek ]
+  * Add noble as supported Ubuntu release
+
+  [ John Paul Adrian Glaubitz ]
+  * Don't run chrpath for libclang on sparc and sparc64
+
+  [ Sylvestre Ledru ]
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sat, 11 Nov 2023 09:57:35 +0100
+
+llvm-toolchain-16 (1:16.0.6-17exp1) experimental; urgency=medium
+
+  * Fixup the move from all to any
+  * Update debian/README documentation
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org>  Tue, 24 Oct 2023 12:38:21 +0200
+
+llvm-toolchain-16 (1:16.0.6-17) unstable; urgency=medium
+
+  * Try to fix the wasm path detection (Closes: #1052002)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Thu, 19 Oct 2023 22:37:29 +0200
+
+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 dependent
+    However, it causes issues for cross build.
+    So, back to any and libclang-common-@LLVM_VERSION@-dev (= ${binary:Version})
+    instead of source
+
+  [ Sylvestre Ledru ]
+  * Bring back old version of spirv - necessary for apt.llvm.org
+
+  [ Alexandre Detiste ]
+  * Remove python-six as dep
+
+  [ Li Chen ]
+  * Add support for loongarch64 (Closes: #1053658)
+  * Cherry-pick upstream patch D142688 to fix the build failure on loong64
+    (Closes: #1053655)
+
+  [ Matthias Klose ]
+  * Disable the clc and wasm builds when not building binary indep packages.
+  * Limit the parallel links to 2 on riscv64.
+  * d/rules: Be less noisy when building without grpc.
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sun, 08 Oct 2023 09:11:38 +0200
+
+llvm-toolchain-16 (1:16.0.6-15) unstable; urgency=medium
+
+  * Second attempt to refresh D158066.patch (Closes: #1049362)
+    (SIMD compatibility headers on ppc64el)
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org>  Mon, 11 Sep 2023 15:40:42 +0200
+
+llvm-toolchain-16 (1:16.0.6-14) unstable; urgency=medium
+
+  [ Sylvestre Ledru ]
+  * On bionic & buster, for apt.llvm.org, pass -DLLVM_ENABLE_ZSTD=OFF
+    as libzstd is too old
+
+  [ Gianfranco Costamagna ]
+  * Add i386 and mips64el to spirv architectures.
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org>  Sun, 10 Sep 2023 08:14:36 +0200
+
+llvm-toolchain-16 (1:16.0.6-13) unstable; urgency=medium
+
+  [ Gianfranco Costamagna ]
+  * Also runtime-depend on {libzstd,zlib1g}-dev, from Paravoid (Closes:
+    #1047718)
+
+  [ Sylvestre Ledru ]
+  * Strip -fcf-protection for wasm build - new flag added in dpkg 1.22
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Thu, 07 Sep 2023 13:01:14 +0200
+
+llvm-toolchain-16 (1:16.0.6-12) unstable; urgency=medium
+
+  [ John Paul Adrian Glaubitz ]
+  * Disable wasm support on powerpc and powerpcspe
+  * Remove powerpc from BINUTILS_GOLD_ARCHS again
+
+  [ Sylvestre Ledru ]
+  * Disable python3-lldb on mips64el to unbreak the build
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sun, 03 Sep 2023 14:06:19 +0200
+
+llvm-toolchain-16 (1:16.0.6-11) unstable; urgency=medium
+
+  * debian/patches/D158066.patch:
+    - upstream fix for Debian bug: #1049362
+  * Also build-depend on libzstd-dev (Closes: #1047718)
+  * Explicitly depend on libcurl4-openssl-dev, since nss is being removed.
+    (Closes: #1043552)
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org>  Thu, 17 Aug 2023 10:19:13 +0200
+
+llvm-toolchain-16 (1:16.0.6-10) unstable; urgency=medium
+
+  * update test to depend on libstdc++-13-dev
+  * Also ignore mlir test on armel, hang
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org>  Mon, 07 Aug 2023 11:01:06 +0200
+
+llvm-toolchain-16 (1:16.0.6-9) unstable; urgency=medium
+
+  * Really enable spirv, and disable spirv on mips* since it's not yet
+    bootstrapped. Thanks <tjaalton> for the patch
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org>  Thu, 03 Aug 2023 14:20:06 +0200
+
+llvm-toolchain-16 (1:16.0.6-8) unstable; urgency=medium
+
+  * Make sure flang-16 depends on libflang-16-dev (Closes: #1041202)
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org>  Wed, 02 Aug 2023 09:30:36 +0200
+
+llvm-toolchain-16 (1:16.0.6-7) unstable; urgency=medium
+
+  * Use spirv-16 to build llvm. This should fix libclc-16 content
+    and fix mesa build
+  * Don't reduce parallel builds anymore on riscv64
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org>  Wed, 02 Aug 2023 09:10:31 +0200
+
+llvm-toolchain-16 (1:16.0.6-6) unstable; urgency=medium
+
+  * Do the delete of wasi in libclang-rt regardless (Closes: #1041834)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Mon, 24 Jul 2023 08:29:14 +0200
+
+llvm-toolchain-16 (1:16.0.6-5) unstable; urgency=medium
+
+  [ Samuel Thibault ]
+  * Fix hurd build by fixing Linux-specific lines.
+  * Fix wasi-libc build-deps on i386 !linux-i386
+
+  [ Sylvestre Ledru ]
+  * set -DCMAKE_SYSTEM_NAME=Generic to build wasm to fix upstream #63799
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 11 Jul 2023 22:28:59 +0200
+
+llvm-toolchain-16 (1:16.0.6-4) unstable; urgency=medium
+
+  * lldb-16: lldb no longer depend on llvm-dev (Closes: #1039490)
+  * Unbreak the libclang links (Closes: #1040205)
+    And add tests to make sure we don't regress
+  * Fix the libclang-16.so symbol file
+  * Remove broken symlinks (closes: #857680)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sun, 09 Jul 2023 15:08:24 +0200
+
+llvm-toolchain-16 (1:16.0.6-3) unstable; urgency=medium
+
+  [ Sylvestre Ledru ]
+  * Only pass -Bno-symbolic if it exists
+
+  [ Gianfranco Costamagna ]
+  * Revert LIBCXXABI_ARM_EHABI => _LIBCXXABI_ARM_EHABI change,
+    FTBFS on arm*.
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org>  Tue, 27 Jun 2023 08:58:16 +0200
+
+llvm-toolchain-16 (1:16.0.6-2) unstable; urgency=medium
+
+  * Remove debian/NEWS to fix debian-news-entry-has-unknown-version
+  * Fix libomp-16-doc: documentation-package-not-architecture-independent
+  * Fix llvm-16-dev: depends-on-obsolete-package Depends: libtinfo-dev => libncurses-dev
+  * Enable Xtensa experimental backend (Closes: #1033911)
+  * Fix the path /usr/lib/llvm-16/lib/clang/16/ (Closes: #1036623)
+  * Refresh the list of symbol of libclang1-16
+  * Refresh the list of symbol for libomp.so.5
+  * Add symbols files for libomptarget.rtl* and libomptarget.so
+
+  [ Gianfranco Costamagna ]
+  * Try to unbreak HURD
+  * Add back powerpc to gold architectures
+  * Use bfd linker on p*pc*
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 14 Jun 2023 08:06:04 +0200
+
+llvm-toolchain-16 (1:16.0.6-1) unstable; urgency=medium
+
+  * New upstream release
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 14 Jun 2023 08:06:04 +0200
+
+llvm-toolchain-16 (1:16.0.5-1) unstable; urgency=medium
+
+  [ Gianfranco Costamagna ]
+  * Add patch from llvm-15 (Graham Inggs) to update Ubuntu releases names
+    to include Ubuntu mantic
+
+  [ Sylvestre Ledru ]
+  * Upload to unstable
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sun, 11 Jun 2023 13:15:48 +0200
+
+llvm-toolchain-16 (1:16.0.5-1~exp1) experimental; urgency=medium
+
+  * New upstream release
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sat, 03 Jun 2023 12:00:55 +0200
+
+llvm-toolchain-16 (1:16.0.4-1~exp1) experimental; urgency=medium
+
+  * New upstream release
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 17 May 2023 09:25:29 +0200
+
+llvm-toolchain-16 (1:16.0.3-1~exp1) experimental; urgency=medium
+
+  * New upstream release
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 03 May 2023 10:38:19 +0200
+
+llvm-toolchain-16 (1:16.0.2-1~exp1) experimental; urgency=medium
+
+  * New upstream release
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sat, 22 Apr 2023 22:57:25 +0200
+
+llvm-toolchain-16 (1:16.0.1-1~exp2) experimental; urgency=medium
+
+  [ Sylvestre Ledru ]
+  * cherry pick changes from snapshot for sccache
+
+  [ Gianfranco Costamagna ]
+  * Use parallel=2 on riscv64
+  * Add omptarget again to optional interfaces (Closes: #1033933)
+  * Adapt test when llvm is built without Z3 support (error message changed)
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org>  Tue, 11 Apr 2023 14:09:36 +0200
+
+llvm-toolchain-16 (1:16.0.1-1~exp1) experimental; urgency=medium
+
+  * New upstream release
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 05 Apr 2023 13:25:21 +0200
+
+llvm-toolchain-16 (1:16.0.0-1~exp5) experimental; urgency=medium
+
+  * Don't ship liborc on armel too
+  * Install ASAN symbolize on riscv64
+  * Limit parallel building to 3 on riscv64, should speed up extremely slow builds due to too many concurrent threads
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org>  Mon, 27 Mar 2023 08:53:13 +0200
+
+llvm-toolchain-16 (1:16.0.0-1~exp4) experimental; urgency=medium
+
+  * Use 16 for wasm libs instead of 16.0.0
+    https://github.com/llvm/llvm-project/issues/61550
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 22 Mar 2023 23:36:45 +0100
+
+llvm-toolchain-16 (1:16.0.0-1~exp3) experimental; urgency=medium
+
+  * Revert gold linker on riscv64, FTBFS
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org>  Tue, 21 Mar 2023 11:27:33 +0100
+
+llvm-toolchain-16 (1:16.0.0-1~exp2) experimental; urgency=medium
+
+  [ Matthias Klose <doko@ubuntu.com> ]
+  * Install liborc_rt-armhf.a on armhf.
+  * Don't ship gdb scripts for ompd on armhf.
+  * Don't run MLIR tests on armhf, timeouts on the buildds.
+
+  [ Gianfranco Costamagna ]
+  * Try to use gold linker on riscv64, to see if the build goes to
+    the end successfully
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org>  Tue, 21 Mar 2023 09:41:39 +0100
+
+llvm-toolchain-16 (1:16.0.0-1~exp1) experimental; urgency=medium
+
+  * New upstream release
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sat, 18 Mar 2023 21:41:44 +0100
+
+llvm-toolchain-16 (1:16.0.0~+rc4-1~exp1) experimental; urgency=medium
+
+  * New snapshot release
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sat, 11 Mar 2023 10:50:01 +0100
+
+llvm-toolchain-16 (1:16.0.0~+rc3-1~exp1) experimental; urgency=medium
+
+  * New snapshot release
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 22 Feb 2023 09:22:05 +0100
+
+llvm-toolchain-16 (1:16.0.0~+rc2-1~exp1) experimental; urgency=medium
+
+  * New snapshot release
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 08 Feb 2023 19:40:52 +0100
+
+llvm-toolchain-16 (1:16.0.0~+rc1-1~exp1) experimental; urgency=medium
+
+  * First rc of 16
+  * Branching of 16 (snapshot is now 17)
+  * ship libHLFIRTransforms & libHLFIRDialect in libflang
+  * Also install liborc_rt-x86_64.a in libclang-rt
+  * Adjust some path since upstream changed the path from
+    /usr/lib/llvm-16/lib/clang/16.0.0/ to
+    /usr/lib/llvm-16/lib/clang/16/
+  * Workaround some missing files on buster
+  * Replace LLVM_CONFIG by LLVM_CMAKE_DIR
+  * Bring back -DBUILTINS_CMAKE_ARGS & -DRUNTIMES_CMAKE_ARGS options
+    https://github.com/llvm/llvm-project/issues/59097
+  * unbreak a symlink to fix to libclang
+  * Add a symlink /usr/lib/x86_64-linux-gnu/{libclang-16.so.16.0.0 => libclang-16.so.1}
+    Expected by program like the firefox build system
+  * ship amdgpu-arch & nvptx-arch in clang-tools
+  * ship llvm-omp-kernel-replay in libomp-X.Y-dev
+  * Disable flang on s390x. Seems that it is breaking
+  * compiler-rt: Only build liborc on amd64, i386 & arm64
+  * Don't build omptarget on i386
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sat, 19 Nov 2022 10:16:49 +0100
+
+llvm-toolchain-16 (1:16~++20230115053056+df5fc4504b86-1~exp2) UNRELEASED; urgency=medium
+
+  * Don't build omptarget on armhf either
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Mon, 30 Jan 2023 10:09:21 +0100
+
+llvm-toolchain-snapshot (1:16~++20221111053703+a77a02aa5794-1~exp1) experimental; urgency=medium
+
+  * New snapshot release
+  * mlir: Disable test on i386 because of
+    https://github.com/llvm/llvm-project/issues/58357
+  * Install llvm-debuginfo-analyzer in llvm-X.Y
+  * Install clang-include-cleaner in clang-tools-X.Y
+  * Build of openmp: use PROJECTS instead of RUNTIMES
+    See https://github.com/llvm/llvm-project/issues/58219
+  * Install usr/lib/llvm-16/include/__libunwind_config.h
+    usr/lib/llvm-16/include/libunwind.h
+    usr/lib/llvm-16/include/mach-o/compact_unwind_encoding.h
+    usr/lib/llvm-16/include/unwind.h
+    usr/lib/llvm-16/include/unwind_arm_ehabi.h
+    usr/lib/llvm-16/include/unwind_itanium.h
+    in libunwind-X.Y-dev
+  * Install llvm-bat-dump in bolt-X.Y
+  * disable-openmpd.diff: Disable the test of openmpd
+    because of https://github.com/llvm/llvm-project/issues/58941
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Fri, 11 Nov 2022 17:43:40 +0100
+
+llvm-toolchain-snapshot (1:16~++20220830053930+25fdcb8e6ce3-1~exp1) experimental; urgency=medium
+
+  * Main is now 16. A branch for 15 has been created
+  * clang doesn't have a specific SONAME anymore.
+    See https://reviews.llvm.org/D129160 for the rational
+  * Install clang-tblgen in clang-tools-X.Y
+  * For apt.llvm.org on stretch, from snapshot, also use libc++ for the
+    build. It adds a dependency on libc++. It might be extended in
+    the future for for now, it is Debian/stretch only
+  * Remove clang-offload-wrapper & clang-nvlink-wrapper like upstream
+  * Set CLANG_FORCE_MATCHING_LIBCLANG_SOVERSION to make sure that version of
+    libclang == clang. this to simplify the packaging, the coinstability
+    and to have more consistency.
+  * Install usr/lib/llvm-@LLVM_VERSION@/share/gdb/python/ompd/ in libomp-16-dev
+  * Remove ompt-multiplex.h from libomp
+  * Install llvm-remarkutil in llvm-X.Y
+  * Don't build libclc-16 as it needs a more recent version of llvm-spirv
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 30 Aug 2022 17:40:55 +0200
+
+llvm-toolchain-snapshot (1:16~++20220731055325+02b3a358926e-1~exp1) experimental; urgency=medium
+
+  * Main is now 16. A branch for 15 has been created
+  * clang doesn't have a specific SONAME anymore.
+    See https://reviews.llvm.org/D129160 for the rational
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 27 Jul 2022 21:36:27 +0200
+
+llvm-toolchain-15 (1:15.0.7-6) unstable; urgency=medium
+
+  [ Sylvestre Ledru ]
+  * Only pass -Bno-symbolic if it exists
+
+  [ Gianfranco Costamagna ]
+  * Revert LIBCXXABI_ARM_EHABI => _LIBCXXABI_ARM_EHABI change,
+    FTBFS on arm*.
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Mon, 26 Jun 2023 10:13:40 +0200
+
+llvm-toolchain-15 (1:15.0.7-5) unstable; urgency=medium
+
+  [ Graham Inggs ]
+  * debian/patches/ubuntu-releases.patch: Update the list of
+    Ubuntu release names
+
+  [ Gianfranco Costamagna ]
+  * Add powerpc to GOLD architectures
+  * Cherry-pick upstream fix for newer cmake-related build failure
+  * Cherry-pick upstream fix for HIP search path depending on os-release (Closes: #1037452)
+
+  [ Steve Langasek ]
+  * debian/rules: disable -Wl,-Bsymbolic-functions for libomp.  LP: #2016471.
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org>  Sat, 24 Jun 2023 20:04:59 +0200
+
+llvm-toolchain-15 (1:15.0.7-5~exp2) experimental; urgency=medium
+
+  * Also apply the workaround of issue #62621 for focal
+    and to include libpolly-15-dev
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sat, 10 Jun 2023 11:52:14 +0200
+
+llvm-toolchain-15 (1:15.0.7-5~exp1) experimental; urgency=medium
+
+  * Remove old code to manage Debian stretch
+  * Force the replacement of new Ubuntu packages introduced in
+    https://bugs.launchpad.net/ubuntu/+source/llvm-toolchain-15/+bug/2008755
+  * Adjust LIBCXXABI_ARM_EHABI => _LIBCXXABI_ARM_EHABI
+    Issue: https://github.com/llvm/llvm-project/issues/59240
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sun, 04 Jun 2023 11:35:54 +0200
+
+llvm-toolchain-15 (1:15.0.7-4) unstable; urgency=medium
+
+  * Fix debian/libclang1-15.symbols soname
+  * Remove build artifacts if any
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 15 Mar 2023 21:45:46 +0100
+
+llvm-toolchain-15 (1:15.0.7-3) unstable; urgency=medium
+
+  * Disable the flang autopkgtests on unsupported architectures
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sun, 12 Mar 2023 11:19:54 +0100
+
+llvm-toolchain-15 (1:15.0.7-2) unstable; urgency=medium
+
+  [ Sylvestre Ledru ]
+  * Yeah, we would like to have this version in bookworm
+    (Closes: #1032316)
+  * Adjust some lintian overrides
+  * Disable flang on s390x. Seems that it is breaking
+
+  [ Gianfranco Costamagna ]
+  * Update print lldb python patch, following what was done
+    in automake for newer python
+
+  [ Samuel Thibault ]
+  * Fix disabling amdgpu on non-Linux.
+
+  [ John Paul Adrian Glaubitz ]
+  * Don't run chrpath for libclang on powerpc and powerpcspe
+
+  [ Faidon Liambotis ]
+  * Update the wasm-sysroot-usr.diff patch to restore functionality that was
+    accidentally dropped when the patch was forward-ported from 14 to 15. This
+    resolves an issue in which clang++ builds would fail if libc++-15-dev was
+    installed alongside libc++-15-dev-wasm32. (Closes: #1029010, #1032317)
+
+  [ Cordell Bloor ]
+  * Backport support for HIP in /usr and add Debian paths
+    for rocm-device-libs to search list (Closes: #1031808)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sun, 15 Jan 2023 10:54:41 +0100
+
+llvm-toolchain-15 (1:15.0.7-1~exp1) UNRELEASED; urgency=medium
+
+  * experimental New snapshot release
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Fri, 13 Jan 2023 15:12:11 +0100
+
+llvm-toolchain-15 (1:15.0.7-1) unstable; urgency=medium
+
+  * New upstream release
+  * Upload to unstable
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sun, 08 Jan 2023 12:31:57 +0100
+
+llvm-toolchain-15 (1:15.0.6-5~exp3) experimental; urgency=medium
+
+  * Don't always build flang
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sat, 07 Jan 2023 23:46:18 +0100
+
+llvm-toolchain-15 (1:15.0.6-5~exp2) experimental; urgency=medium
+
+  * Restrict flang on 64bits archs:
+    (amd64 arm64 mips64el ppc64el kfreebsd-amd64 s390x ppc64 sparc64 riscv64)
+    See: https://github.com/llvm/llvm-project/issues/59845
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Fri, 06 Jan 2023 13:19:48 +0100
+
+llvm-toolchain-15 (1:15.0.6~++20230102020141+088f33605d8a-1~exp1) UNRELEASED; urgency=medium
+
+  * experimental New snapshot release
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Mon, 02 Jan 2023 14:01:53 +0100
+
+llvm-toolchain-15 (1:15.0.6-5~exp1) experimental; urgency=medium
+
+  * Add flang-15 and libraries support
+  * Several changes coming from the branch -14:
+  * wasm support significantly improved with several packages:
+    - libc++-15-dev-wasm32
+    - libc++abi-15-dev-wasm32
+    - libclang-rt-15-dev-wasm32
+    - libclang-rt-15-dev-wasm64
+    It is now as easy as:
+    $ apt install clang-15 lld-15 libclang-rt-15-dev-wasm32 wasi-libc
+    $ clang-15 --target=wasm32-wasi helloworld.c -o helloworld.wasm
+    Many thanks to Faidon Liambotis
+  * libclang-common-15-dev split into different packages:
+    - libclang-rt-15-dev
+    - libpolly-15-dev
+    - libclang-rt-15-dev-wasm32
+    - libclang-rt-15-dev-wasm64
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 03 Jan 2023 00:40:25 +0100
+
+llvm-toolchain-15 (1:15.0.6-4) unstable; urgency=medium
+
+  * link-grpc.diff: add the detection of other libs necessary for
+    grpc (Closes: #1025530)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sun, 01 Jan 2023 15:46:39 +0100
+
+llvm-toolchain-15 (1:15.0.6-3) unstable; urgency=medium
+
+  * Build on spirv-15 for riscv64 too.
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org>  Wed, 30 Nov 2022 16:15:42 +0100
+
+llvm-toolchain-15 (1:15.0.6-2) unstable; urgency=medium
+
+  * Fix build on riscv64 by disabling WASM for now.
+  * Explicitly depend on spirv-14 for riscv64, to bootstrap spirv there.
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org>  Wed, 30 Nov 2022 15:31:52 +0100
+
+llvm-toolchain-15 (1:15.0.6-1) unstable; urgency=medium
+
+  * New upstream release
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 29 Nov 2022 15:25:58 +0100
+
+llvm-toolchain-15 (1:15.0.5-5) unstable; urgency=medium
+
+  * Add riscv64 to spirv-15 supported list, now that the bootstrap is
+    finished.
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org>  Tue, 22 Nov 2022 12:41:35 +0100
+
+llvm-toolchain-15 (1:15.0.5-4) unstable; urgency=medium
+
+  * Explicitly depend on spirv-14 for riscv64, to bootstrap spirv there.
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org>  Tue, 22 Nov 2022 10:58:27 +0100
+
+llvm-toolchain-15 (1:15.0.5-3) unstable; urgency=medium
+
+  * Depend again on spirv-15 for mips64el.
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org>  Sun, 20 Nov 2022 06:54:23 +0100
+
+llvm-toolchain-15 (1:15.0.5-2) unstable; urgency=medium
+
+  [ Gianfranco Costamagna ]
+  * Add libomp target library to mips64el (Closes: #1023101)
+  * Explicitly depend on spirv-14 for mips64el, to ease bootstrapping
+    on buildds (this should be dropped once we build a spirv-15 in archive)
+  * Cherry-pick two upstream patches to unblock mesa build on arm* (Closes:
+    #1022577)
+
+  [ Sylvestre Ledru ]
+  * store the sccache results in /tmp/buildd/source/sccache-stats.json
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org>  Sat, 19 Nov 2022 23:25:04 +0100
+
+llvm-toolchain-15 (1:15.0.5-1) unstable; urgency=medium
+
+  * New upstream release
+  * Remove the swig patches (applied upstream)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 16 Nov 2022 09:11:01 +0100
+
+llvm-toolchain-15 (1:15.0.4-1) unstable; urgency=medium
+
+  [ Jordan Justen ]
+  * d/rules: Rename LLVM_SPIR_VERSION to LLVM_SPIRV_VERSION
+  * d/rules: Call bash to use 'command -v' to locate llvm-spirv executable
+  * debian: Bump llvm-spirv to 15 to match the llvm version
+  * d/rules: Set LLVM_SPIRV with cmake for libclc
+  * d/patches: Drop libclc-llvm-spirv.diff now that we are setting LLVM_SPIRV
+  * d/rules: Restore building libclc .bc output without spir-v support
+  * d/rules: Check for previous version of llvm-spirv as well
+  * d/control: Add llvm-spirv-14 as an alternative to llvm-spirv-15
+
+  [ Sylvestre Ledru ]
+  * New upstream release (Closes: #1023455)
+  * Cherry-pick patches to fix the FTBFS with swig + lldb (Closes: #1023444)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 02 Nov 2022 08:50:23 +0100
+
+llvm-toolchain-15 (1:15.0.3-2) unstable; urgency=medium
+
+  * Cherry-pick upstream fix to unbreak mips (closes: #1022169)
+    Thanks to YunQiang Su for the patch
+    https://reviews.llvm.org/D135553
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Fri, 28 Oct 2022 10:25:45 +0200
+
+llvm-toolchain-15 (1:15.0.3-1) unstable; urgency=medium
+
+  * Upload to unstable now that autopkgtest is green
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sun, 23 Oct 2022 10:34:58 +0200
+
+llvm-toolchain-15 (1:15.0.3-1~exp2) experimental; urgency=medium
+
+  * Fix autopkgtest (remove move stuff from the cmake search)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Fri, 21 Oct 2022 23:53:23 +0200
+
+llvm-toolchain-15 (1:15.0.3-1~exp1) experimental; urgency=medium
+
+  * New stable release
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 18 Oct 2022 14:04:32 +0200
+
+llvm-toolchain-15 (1:15.0.2-2~exp6) experimental; urgency=medium
+
+  * Disable LTO for now
+  * don't search for llvm-bolt, merge-fdata, etc in cmake
+    https://github.com/llvm/llvm-project/issues/58317
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 12 Oct 2022 16:19:03 +0200
+
+llvm-toolchain-15 (1:15.0.2-2~exp5) experimental; urgency=medium
+
+  * Only enable LTO for some archs
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 11 Oct 2022 09:15:56 +0200
+
+llvm-toolchain-15 (1:15.0.2-2~exp4) experimental; urgency=medium
+
+  * Only ship libbolt_rt_hugify.a & libbolt_rt_instr.a on amd64
+  * fix the cmake detection with libmlir
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sun, 09 Oct 2022 20:09:46 +0200
+
+llvm-toolchain-15 (1:15.0.2-2~exp3) experimental; urgency=medium
+
+  * Build using LTO - better performances of the llvm-toolchain
+    binaires
+  * Build libfuzzer with C++ 17 ot unbreak it
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sat, 08 Oct 2022 15:06:37 +0200
+
+llvm-toolchain-15 (1:15.0.2-2~exp2) experimental; urgency=medium
+
+  * Fix a typo to silent lintian (Closes: #1018770)
+  * Fix some hardcoded paths (Closes: #1020847)
+  * Suggest wasi-libc for clang
+
+  [ Witold Baryluk ]
+  * Allow libunwind-dev to be coinstallable (Closes: #1004112)
+
+  [ Faidon Liambotis ]
+  * Add better support for the WebAssembly (wasm32/wasm64) targets:
+    - Ship compiler-rt for the wasm32 and wasm64 targets. (Closes: #1010932)
+    - Add patch wasm-compiler-rt-default.diff to default to compiler-rt for
+      these targets. libgcc does not currently exist for WebAssembly in neither
+      Debian nor upstream, and therefore compiler-rt is the only option.
+    - Add patch wasm-sysroot-usr.diff to support a system-installed (i.e. shipped
+      in /usr) wasi-libc. (Closes: #1020746)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Thu, 06 Oct 2022 17:04:24 +0200
+
+llvm-toolchain-15 (1:15.0.2-2~exp1) experimental; urgency=medium
+
+  * Ship bolt
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 04 Oct 2022 15:21:19 +0200
+
+llvm-toolchain-15 (1:15.0.2-1) unstable; urgency=medium
+
+  * New upstream release
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 04 Oct 2022 12:46:25 +0200
+
+llvm-toolchain-15 (1:15.0.1-1) unstable; urgency=medium
+
+  * Upload to unstable now that we have removed 12 from the archive
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 04 Oct 2022 09:24:55 +0200
+
+llvm-toolchain-15 (1:15.0.1-1~exp2) experimental; urgency=medium
+
+  * Unbreak the clang symlink. See
+    https://github.com/llvm/llvm-project/issues/57857
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 21 Sep 2022 00:20:54 +0200
+
+llvm-toolchain-15 (1:15.0.1-1~exp1) experimental; urgency=medium
+
+  * New upstream release
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 20 Sep 2022 08:55:01 +0200
+
+llvm-toolchain-15 (1:15.0.0-2) experimental; urgency=medium
+
+  * Fix build on ppc64 and riscv64 (Closes: #1019582)
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org>  Mon, 12 Sep 2022 17:58:08 +0200
+
+llvm-toolchain-15 (1:15.0.0-1~exp1) experimental; urgency=medium
+
+  * New stable release
+  * syscall-mips64el-def.diff: fix the call to undeclared function 'syscall';
+    on mips
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 06 Sep 2022 09:13:19 +0200
+
+llvm-toolchain-15 (1:15.0.0~+rc3-1~exp2) experimental; urgency=medium
+
+  * Update of the build dep from llvm-spirv => llvm-spirv-14
+    as it is now versioned. It should build libclc
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 31 Aug 2022 17:10:33 +0200
+
+llvm-toolchain-15 (1:15.0.0~+rc3-1~exp1) experimental; urgency=medium
+
+  * New snapshot release
+  * For Debian Stretch for apt.llvm.org, use clang-14 to build
+    itself as gcc 7 isn't available
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Thu, 25 Aug 2022 13:32:14 +0200
+
+llvm-toolchain-15 (1:15.0.0~+rc2-1~exp1) experimental; urgency=medium
+
+  * Second testing release of 15
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 09 Aug 2022 17:47:53 +0200
+
+llvm-toolchain-15 (1:15.0.0~+rc1-1~exp1) experimental; urgency=medium
+
+  * First testing release of 15
+  * Remove 'debian/patches/revert-openmp-path.diff'
+    applied upstream
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Mon, 01 Aug 2022 09:30:39 +0200
+
+llvm-toolchain-15 (1:15~++20220727091640+d77882e66779-1~exp1) experimental; urgency=medium
+
+  * main is now 16. Creating a branch for 15.
+  * clang doesn't have a specific SONAME anymore.
+    See https://reviews.llvm.org/D129160 for the rational
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 27 Jul 2022 09:27:50 +0200
+
+llvm-toolchain-snapshot (1:15~++20220724113059+7feab85df8e8-1~exp1) experimental; urgency=medium
+
+  * New snapshot release
+  * Force the SSE2 on amd64 for compiler-rt/builtin:
+    https://reviews.llvm.org/D107082#3626632
+  * Ship llvm-debuginfod & llvm-dwarfutil in llvm-X.Y
+  * Install usr/lib/llvm-15/lib/libomptarget.so.15 in libomp5-15
+    And libomptarget.rtl.amdgpu.so.15, libomptarget.rtl.cuda.so.15 and
+    libomptarget.rtl.x86_64.so.15
+  * Add usr/lib/llvm-15/lib/libomptarget.devicertl.a to libomp-X-dev
+    only for [amd64 ppc64el arm64]
+  * On Debian Buster, unwind fails to link because pthread & dl aren't found.
+    Force the declaration as it is probably the case for every Debian & Ubuntu anyway.
+    See unwind-force-pthread-dl.diff & https://github.com/llvm/llvm-project/issues/55629
+  * Install llvm-driver-template.cpp.in in llvm-X.Y-dev
+  * Remove debian/patches/x86-fuzzer.patch (done differently upstream)
+  * Install UnicodeNameMappingGenerator in llvm-X.Y-tools
+  * Disable libclc when spir is below 14
+    Explicit load/store type does not match pointee type of pointer operand (Producer: 'LLVM15.0.0' Reader: 'LLVM 13.0.1')
+  * Add the option -DLLVM_ENABLE_CURL=ON
+    See https://github.com/llvm/llvm-project/issues/55289
+  * Install new binary clang-offload-packager in
+    clang-tools-15
+
+  [ John Paul Adrian Glaubitz ]
+  * Enable GRPC build dependency only on supported targets
+  * Disable compiler-rt built-ins on x32
+  * Limit parallel link jobs for all stages on sparc and sparc64
+  * Built compiler-rt for default target only on sparc and sparc64
+  * Drop sparc64-specific patch D98574.patch
+  * Drop sparc64-specific patch D98575.patch
+
+  [ Roman Lebedev ]
+  * Install new binary tblgen-lsp-server into mlir-15-tools
+
+  [ Michael Biebl ]
+  * Add support for systemd-binfmt (Closes: #1012370)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sun, 24 Jul 2022 14:25:19 +0200
+
+llvm-toolchain-snapshot (1:15~++20220309105819+8bef17ed59aa-1~exp1) experimental; urgency=medium
+
+  * Try to unbreak the build (issue #54242)
+    MLIR undef issue
+  * New snapshot release
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 09 Mar 2022 22:58:29 +0100
+
+llvm-toolchain-snapshot (1:15~++20220202093833+1a3137dc8451-1~exp1) experimental; urgency=medium
+
+  * Install new llvm-remark-size-diff in llvm-X.Y
+  * Install clang-pseudo in clang-tools-X.Y
+  * mlir: use the cmake option to avoid installing object files
+    MLIR_INSTALL_AGGREGATE_OBJECTS
+    Closes upstream #53134
+  * Build clangd with GRPC support
+    Thanks to Sam McCall for the patch
+  * snapshot is now 15. 14 is in it own branch now
+  * Ship clang-linker-wrapper in clang-tools-X.Y
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sun, 13 Feb 2022 23:25:57 +0100
+
+llvm-toolchain-14 (1:14.0.6-11) UNRELEASED; urgency=medium
+
+  [ Sylvestre Ledru ]
+  * Update SV to 4.6.2
+  * Disable libc++-$(LLVM_VERSION)-dev-wasm32 on old Debian & Ubuntu:
+    bionic buster focal bullseye jammy
+    either wasi-libc isn't available or too old or we face bug
+    https://sourceware.org/bugzilla/show_bug.cgi?id=27558
+  * adjust the lintian override format with the []
+  * hardcode a bit less sccache usage
+
+  [ Gianfranco Costamagna ]
+  * Fix riscv64 build by adding spirv again (from @paravoid)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sun, 15 Jan 2023 09:40:55 +0100
+
+llvm-toolchain-14 (1:14.0.6-10) unstable; urgency=medium
+
+  * Upload to unstable
+  * Add missing epoch (Closes: #1027699)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sun, 01 Jan 2023 15:42:15 +0100
+
+llvm-toolchain-14 (1:14.0.6-10~exp6) experimental; urgency=medium
+
+  * Move libPolly in libpolly-X.Y-dev for real
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sun, 01 Jan 2023 15:42:04 +0100
+
+llvm-toolchain-14 (1:14.0.6-10~exp5) experimental; urgency=medium
+
+  * Create a libpolly-X.Y-dev package
+  * Fix the libclang-rt-14-dev-wasm64 description
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 28 Dec 2022 12:35:04 +0100
+
+llvm-toolchain-14 (1:14.0.6-10~exp4) experimental; urgency=medium
+
+  * Move the compiler-rt content into a new package called
+    libclang-rt-X.Y-dev (including polly)
+  * the wasm targets are shipped into libclang-rt-14-dev-wasm32
+    and libclang-rt-14-dev-wasm64
+  * libclang-common-X.Y-dev arch moved to all
+    then ${binary:Version} => ${source:Version}
+    to avoid not-binnmuable-any-depends-all
+  * link-grpc.diff: add the detection of other libs necessary for
+    grpc (Closes: #1025529)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 21 Dec 2022 13:48:40 +0100
+
+llvm-toolchain-14 (1:14.0.6-10~exp3) experimental; urgency=medium
+
+  * Transform debian/control into debian/control.in (preparation for
+    flang support)
+  * Do not install wasm-libc if doesn't exist
+
+  [ Faidon Liambotis ]
+  * Try to unbreak the builds with wasm
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Mon, 19 Dec 2022 11:09:58 +0100
+
+llvm-toolchain-14 (1:14.0.6-10~exp1) experimental; urgency=medium
+
+  * More WebAssembly (wasm32/wasm64) work:
+    - Update patch wasm-sysroot-usr to stop including /usr/include when
+      building for the non-OS (unknown) wasm targets, to avoid inadvertently
+      including the host's (glibc) headers.
+    - Re-enable builds on all architectures, previously disabled for
+      arm64 armel mips64el mipsel ppc64el armhf in 1:14.0.6-4, due to an FTBFS
+      related to the /usr/include issue above.
+    - Update patch wasm-sysroot-usr to adjust system include paths for C++
+      headers as well.
+    - Build libc++ and libc++abi for wasm32-wasi, generating two new binary
+      packages, and introducing a build dependency on wasi-libc.
+    - Misc code organization fixes to debian/rules.
+
+ -- Faidon Liambotis <paravoid@debian.org>  Fri, 18 Nov 2022 08:21:02 +0200
+
+llvm-toolchain-14 (1:14.0.6-9) unstable; urgency=medium
+
+  * Cherry-pick upstream commit c081bf4098c729afacf20303cc9df62bf13c3362
+    to fix chromium failure in basic_string (Closes: #1025394)
+  * Disable the MLIR testsuite run because of a freeze
+    (Closes: #1024154)
+    See https://github.com/llvm/llvm-project/issues/58357
+  * Disable wasm on riscv64
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org>  Sun, 04 Dec 2022 09:03:06 +0100
+
+llvm-toolchain-14 (1:14.0.6-8) unstable; urgency=medium
+
+  * Fix the lldb swig issues (closes: #1023444)
+  * Enable LLVM_USE_RELATIVE_PATHS_IN_DEBUG_INFO to help with caching
+  * Adjust to protobuf 3.21 (Closes: #1023533)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Fri, 04 Nov 2022 19:36:56 +0100
+
+llvm-toolchain-14 (1:14.0.6-7) unstable; urgency=medium
+
+  * Disable the cmake search for all binaries
+    (cmake_import_check_files_for.*/bin/). Dunno why it regressed
+    but we wasted too much time on this.
+  * disable sccache on bionic
+
+  [ Jordan Justen ]
+  * d/rules: Call bash to use 'command -v' to location llvm-spirv executable
+  * d/rules: Set LLVM_SPIRV with cmake for libclc
+  * d/patches: Drop libclc-llvm-spirv.diff now that we are setting LLVM_SPIRV
+  * d/rules: Check for llvm-spirv with version suffix
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Thu, 27 Oct 2022 12:47:19 +0200
+
+llvm-toolchain-14 (1:14.0.6-6) unstable; urgency=medium
+
+  * Unbreak the cmake detection (Closes: #1021857, #1022414)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sun, 23 Oct 2022 16:07:45 +0200
+
+llvm-toolchain-14 (1:14.0.6-5) unstable; urgency=medium
+
+  * Update of the build dep llvm-spirv => llvm-spirv-14
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 11 Oct 2022 08:39:18 +0200
+
+llvm-toolchain-14 (1:14.0.6-4) unstable; urgency=medium
+
+  * fix the cmake detection with libmlir
+  * Don't build wasm target on arm64 armel mips64el mipsel ppc64el armhf
+    for now
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Mon, 10 Oct 2022 13:47:25 +0200
+
+llvm-toolchain-14 (1:14.0.6-3) unstable; urgency=medium
+
+  * Fix a typo to silent lintian (Closes: #1018770)
+  * Fix some hardcoded paths (Closes: #1020847)
+  * Suggest wasi-libc for clang
+
+  [ Witold Baryluk ]
+  * Allow libunwind-dev to be coinstallable (Closes: #1004112)
+
+  [ Faidon Liambotis ]
+  * Add better support for the WebAssembly (wasm32/wasm64) targets:
+    - Ship compiler-rt for the wasm32 and wasm64 targets. (Closes: #1010932)
+    - Add patch wasm-compiler-rt-default.diff to default to compiler-rt for
+      these targets. libgcc does not currently exist for WebAssembly in neither
+      Debian nor upstream, and therefore compiler-rt is the only option.
+    - Add patch wasm-sysroot-usr.diff to support a system-installed (i.e. shipped
+      in /usr) wasi-libc. (Closes: #1020746)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 30 Aug 2022 16:10:33 +0200
+
+llvm-toolchain-14 (1:14.0.6-2) unstable; urgency=medium
+
+  [ Sam McCall ]
+  * Add conventional symlink to libc++ headers in /usr/include/c++/v1
+    See https://salsa.debian.org/pkg-llvm-team/llvm-toolchain/-/merge_requests/95
+    for more information
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sat, 23 Jul 2022 23:01:02 +0200
+
+llvm-toolchain-14 (1:14.0.6-1) unstable; urgency=medium
+
+  * New upstream release
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sat, 25 Jun 2022 09:56:23 +0200
+
+llvm-toolchain-14 (1:14.0.5-1) unstable; urgency=medium
+
+  * New upstream release
+  * Only install grpc files libclang-X.Y-dev when grpc built
+  * Remove cv-insn-support.patch (applied upstream)
+
+  [ John Paul Adrian Glaubitz ]
+  * Disable compiler-rt built-ins on x32
+
+  [ Michael Biebl ]
+  * Add support for systemd-binfmt (Closes: #1012368)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sat, 11 Jun 2022 09:09:03 +0200
+
+llvm-toolchain-14 (1:14.0.4-4) unstable; urgency=medium
+
+  * autopkgtest: Restrict debian/qualify-clang.sh on
+    amd64 arm64 i386
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Fri, 03 Jun 2022 10:52:10 +0200
+
+llvm-toolchain-14 (1:14.0.4-3) unstable; urgency=medium
+
+  * Fix GRPC installation path and files
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org>  Tue, 31 May 2022 12:09:28 +0200
+
+llvm-toolchain-14 (1:14.0.4-2) unstable; urgency=low
+
+  * Add breaks/replaces for grpc binaries being placed in another package in Ubuntu
+  * Fix GRPC installation for ports architectures
+  * Add support for Ubuntu kinetic
+  * rules: take some patches from Ubuntu to save extra space during build
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org>  Sun, 29 May 2022 12:53:47 +0200
+
+llvm-toolchain-14 (1:14.0.4-1) unstable; urgency=medium
+
+  [ John Paul Adrian Glaubitz ]
+  * Enable GRPC build dependency only on supported targets
+
+  [ Sylvestre Ledru ]
+  * New upstream release
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 25 May 2022 08:49:20 +0200
+
+llvm-toolchain-14 (1:14.0.3-2) unstable; urgency=medium
+
+  * Fix an autopkgtest on arm (Closes:# 1010716)
+    Thanks to Pino Toscano for the patch
+  * Fix the search path for hip (Closes: #1010467)
+  * Add the option -DLLVM_ENABLE_CURL=ON
+    See https://github.com/llvm/llvm-project/issues/55289
+    (LP: #1971743)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Mon, 09 May 2022 20:40:39 +0200
+
+llvm-toolchain-14 (1:14.0.3-1) unstable; urgency=medium
+
+  * New upstream release
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Fri, 29 Apr 2022 09:23:16 +0200
+
+llvm-toolchain-14 (1:14.0.2-1) unstable; urgency=medium
+
+  * New upstream release
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 27 Apr 2022 08:36:00 +0200
+
+llvm-toolchain-14 (1:14.0.1-1) unstable; urgency=medium
+
+  * New upstream release
+    Fixes the ABI issues
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 13 Apr 2022 09:33:24 +0200
+
+llvm-toolchain-14 (1:14.0.0-1) unstable; urgency=medium
+
+  * New stable release
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 23 Mar 2022 08:41:26 +0100
+
+llvm-toolchain-14 (1:14.0.0~+rc4-1) unstable; urgency=medium
+
+  * New snapshot release (rc3 isn't a thing)
+  * Add an ugly workaround for Ubuntu jammy (some python files are installed in local/lib)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Fri, 11 Mar 2022 18:28:07 +0100
+
+llvm-toolchain-14 (1:14.0.0~+rc2-1~exp1) unstable; urgency=medium
+
+  * New snapshot release
+  * Also path LD_LIBRARY_PATH for install
+    when cmake binary backport like on bionic s390x (for apt.llvm.org)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Fri, 04 Mar 2022 20:06:44 +0100
+
+llvm-toolchain-14 (1:14.0.0~+rc1-1) unstable; urgency=medium
+
+  * First testing release of 14
+  * Upload to unstable
+  Changes for 13:
+  * mlir: use the cmake option to avoid installing object files
+    MLIR_INSTALL_AGGREGATE_OBJECTS
+    Closes upstream #53134
+  * Build clangd with GRPC support
+    Thanks to Sam McCall for the patch
+  * Revert e80c52986e1bb3afa6a92c58b1cb897877923a66 to be able to build on stretch
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Thu, 10 Feb 2022 09:25:26 +0100
+
+llvm-toolchain-14 (1:14~++20220202101403+91632c8ac97f-1~exp1) experimental; urgency=medium
+
+  * snapshot = 15, first 14 package
+  * Ship clang-linker-wrapper in clang-tools-X.Y
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 02 Feb 2022 22:14:13 +0100
+
+llvm-toolchain-14 (1:14~++20220128082735+c962b3fdf8dd-1~exp1) UNRELEASED; urgency=medium
+
+  * snapshot = 15, first 14 package
+  * Ship clang-linker-wrapper in clang-tools-X.Y
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Fri, 28 Jan 2022 08:27:53 +0100
+
+llvm-toolchain-snapshot (1:14~++20220123085548+413684313d9d-1~exp2) experimental; urgency=medium
+
+  * Hide some symbols for omp/arm* and other archs
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Mon, 24 Jan 2022 13:56:35 +0100
+
+llvm-toolchain-snapshot (1:14~++20220123085548+413684313d9d-1~exp1) experimental; urgency=medium
+
+  [ Sylvestre Ledru ]
+  * Ugly workaround to enable scan-build on runtimes
+    debian/patches/use-scan-build-runtimes.diff
+  * Python 2 => 3 to unbreak the 'scanbuild_py_makefile.txt' test
+  * Enable CLANG_DEFAULT_PIE_ON_LINUX
+  * Lower the debhelper dep to 10 for debian stretch
+  * Rename ocaml-nox => ocaml-base
+  * Update of the ocaml doc path to catch a different path
+
+  [ Samuel Thibault ]
+  * Explicitly link against -latomic on hurd-i386 as well.
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sun, 23 Jan 2022 20:48:09 +0100
+
+
+llvm-toolchain-snapshot (1:14~++20220107114130+3a604fdbcd5f-1~exp1) experimental; urgency=medium
+
+  * New snapshot release
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Fri, 07 Jan 2022 23:58:01 +0100
+
+llvm-toolchain-snapshot (1:14~++20211230084136+a96fe1bf3b32-1~exp1) experimental; urgency=medium
+
+  * New snapshot release
+  * Build and ship MLIR as 3 new packages (libmlir-14-dev, libmlir-14
+    and mlir-14-tools)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 29 Dec 2021 21:08:20 +0100
+
+llvm-toolchain-snapshot (1:14~++20211221121559+9e3ae8d296aa-1~exp1) experimental; urgency=medium
+
+  * New snapshot release
+  * Remove some old mach lld libraries. Remove upstream in 9e3552523ebd3385487e01e3e7af37b8c0efaf57
+    liblldReaderWriter.a liblldDriver.a liblldYAML.a liblldCore.a liblldMachOOld.a
+  * Also install llvm-debuginfod-find in llvm-14
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Fri, 03 Dec 2021 13:19:39 +0100
+
+llvm-toolchain-snapshot (1:14~++20211113111058+6a40854ce507-1~exp1) experimental; urgency=medium
+
+  * experimental New snapshot release
+  * Adjust the libomp5 symbols
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sat, 13 Nov 2021 23:15:48 +0100
+
+llvm-toolchain-snapshot (1:14~++20211113102219+b5ff187b7b51-1~exp1) experimental; urgency=medium
+
+  * Remove the triple patch. it is causing the library search path to fail.
+    Add a test in debian/qualify-clang.sh to verify we don't regress
+  * Fix the "all" build
+  * Disable LIBCXX_USE_COMPILER_RT on s390x, armel and x32 as it fails. See bug 52022
+  * Adjust the libomp_start_tool visibility on armhf
+  * Be more flexible to install libomptarget-*.bc
+    (ex: libomptarget-new-nvptx-*.bc are new)
+  * Force the i386 triple -DLLVM_HOST_TRIPLE=i386-linux-gnu
+    Sometimes, on i386, the library detection is failing (often on z3
+    or ffi)
+    'Could NOT find Z3:'
+  * Add '-DCMAKE_FIND_DEBUG_MODE=true' to help with debugging
+  * Disable the build of libclc on old Ubuntu (Groovy & focal)
+    as llvm-spir is too old on these version.
+    See bug #52200
+  * Adjust the sphinx build as the makefile have been removed
+  * If lua is available on the system at built time, a lua lldb binding
+    was created. It was leading to some build failures depending
+    on the package installed on the build system.
+    Force the deactivation of the lua build when lldb is built.
+  * libomp: add new symbols
+    - GOMP_5.0.1
+    - GOMP_alloc
+    - GOMP_free
+    - __kmpc_aligned_alloc
+    - __kmpc_atomic_bool_1_cas
+    - __kmpc_atomic_bool_1_cas_cpt
+    - __kmpc_atomic_bool_2_cas
+    - __kmpc_atomic_bool_2_cas_cpt
+    - __kmpc_atomic_bool_4_cas
+    - __kmpc_atomic_bool_4_cas_cpt
+    - __kmpc_atomic_bool_8_cas
+    - __kmpc_atomic_bool_8_cas_cpt
+    - __kmpc_atomic_float10_max
+    - __kmpc_atomic_float10_max_cpt
+    - __kmpc_atomic_float10_min
+    - __kmpc_atomic_float10_min_cpt
+    - __kmpc_atomic_val_1_cas
+    - __kmpc_atomic_val_1_cas_cpt
+    - __kmpc_atomic_val_2_cas
+    - __kmpc_atomic_val_2_cas_cpt
+    - __kmpc_atomic_val_4_cas
+    - __kmpc_atomic_val_4_cas_cpt
+    - __kmpc_atomic_val_8_cas
+    - __kmpc_atomic_val_8_cas_cpt
+    - omp_aligned_alloc
+    - omp_aligned_calloc
+  * Install llvm-tli-checker in llvm-X.Y
+
+  [ Erik Maciejewski ]
+  * Merge migration to 2stage runtimes build 13 => 14
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sat, 13 Nov 2021 10:26:41 +0100
+
+llvm-toolchain-snapshot (1:14~++20211111061527+d56b171ee965-1~exp1) experimental; urgency=medium
+
+  * Remove the triple patch. it is causing the library search path to fail.
+    Add a test in debian/qualify-clang.sh to verify we don't regress
+  * Fix the "all" build
+  * Disable LIBCXX_USE_COMPILER_RT on s390x, armel and x32 as it fails. See bug 52022
+  * Adjust the libomp_start_tool visibility on armhf
+  * Be more flexible to install libomptarget-*.bc
+    (ex: libomptarget-new-nvptx-*.bc are new)
+  * Force the i386 triple -DLLVM_HOST_TRIPLE=i386-linux-gnu
+    Sometimes, on i386, the library detection is failing (often on z3
+    or ffi)
+    'Could NOT find Z3:'
+  * Add '-DCMAKE_FIND_DEBUG_MODE=true' to help with debugging
+  * Disable the build of libclc on old Ubuntu (Groovy & focal)
+    as llvm-spir is too old on these version.
+    See bug #52200
+  * Adjust the sphinx build as the makefile have been removed
+  * If lua is available on the system at built time, a lua lldb binding
+    was created. It was leading to some build failures depending
+    on the package installed on the build system.
+    Force the deactivation of the lua build when lldb is built.
+  * libomp: add new symbols
+    - GOMP_5.0.1
+    - GOMP_alloc
+    - GOMP_free
+    - __kmpc_aligned_alloc
+    - __kmpc_atomic_bool_1_cas
+    - __kmpc_atomic_bool_1_cas_cpt
+    - __kmpc_atomic_bool_2_cas
+    - __kmpc_atomic_bool_2_cas_cpt
+    - __kmpc_atomic_bool_4_cas
+    - __kmpc_atomic_bool_4_cas_cpt
+    - __kmpc_atomic_bool_8_cas
+    - __kmpc_atomic_bool_8_cas_cpt
+    - __kmpc_atomic_float10_max
+    - __kmpc_atomic_float10_max_cpt
+    - __kmpc_atomic_float10_min
+    - __kmpc_atomic_float10_min_cpt
+    - __kmpc_atomic_val_1_cas
+    - __kmpc_atomic_val_1_cas_cpt
+    - __kmpc_atomic_val_2_cas
+    - __kmpc_atomic_val_2_cas_cpt
+    - __kmpc_atomic_val_4_cas
+    - __kmpc_atomic_val_4_cas_cpt
+    - __kmpc_atomic_val_8_cas
+    - __kmpc_atomic_val_8_cas_cpt
+    - omp_aligned_alloc
+    - omp_aligned_calloc
+
+  [ Erik Maciejewski ]
+  * Merge migration to 2stage runtimes build 13 => 14
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Thu, 11 Nov 2021 18:19:57 +0100
+
+llvm-toolchain-snapshot (1:14~++20210926041028+6063e6b499c7-1~exp1) experimental; urgency=medium
+
+  * experimental New snapshot release
+  * Bring back the libc++/libc++abi options
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sun, 26 Sep 2021 16:14:44 +0200
+
+llvm-toolchain-snapshot (1:14~++20210924122635+4a57f5d1e1c5-1~exp1) experimental; urgency=medium
+
+  [ Sylvestre Ledru ]
+  * experimental New snapshot release
+  * remove "scan-build-py-force-utf-8-opening.diff"
+    merged upstream
+  * Also install libomptarget-nvptx in libomp-X.Y-dev next to amdgcn
+  * Add -DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=OFF. it was turn on by default
+    in https://reviews.llvm.org/D107799
+    It was causing the second cmake (stage2) build to fail on z3 or libffi.
+    Sign that the compiler didn't work correctly.
+  * libcxxabi: Unbreak the CI by adding a silly symlink to _config_site
+    Far from perfect but it should be fixed by the runtime move:
+    https://reviews.llvm.org/D89013#3017317
+  * New symbols in libomp5-14:
+    - __kmpc_end_scope
+    - __kmpc_scope
+    - libomp_start_tool
+    (and remove some old missing symbols)
+
+  [ John Paul Adrian Glaubitz ]
+  * Disable libunwind on m68k, sparc64 and x32
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Fri, 24 Sep 2021 12:31:05 +0200
+
+llvm-toolchain-snapshot (1:14~++20210924092749+e325ebb9c70b-1~exp1) experimental; urgency=medium
+
+  [ Sylvestre Ledru ]
+  * experimental New snapshot release
+  * remove "scan-build-py-force-utf-8-opening.diff"
+    merged upstream
+  * Also install libomptarget-nvptx in libomp-X.Y-dev next to amdgcn
+  * the libc++* & libunwind builds are installed in directory with triple
+  * remove the libc++ & libc++abi tasks as they are part of the process now
+  * Add -DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=OFF. it was turn on by default
+    in https://reviews.llvm.org/D107799
+    It was causing the second cmake (stage2) build to fail on z3 or libffi.
+    Sign that the compiler didn't work correctly.
+  * libcxxabi: Unbreak the CI by adding a silly symlink to _config_site
+    Far from perfect but it should be fixed by the runtime move:
+    https://reviews.llvm.org/D89013#3017317
+
+  [ John Paul Adrian Glaubitz ]
+  * Disable libunwind on m68k, sparc64 and x32
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Fri, 24 Sep 2021 23:09:21 +0200
+
+llvm-toolchain-snapshot (1:14~++20210831081106+387a8dea7234-1~exp1) UNRELEASED; urgency=medium
+
+  [ Sylvestre Ledru ]
+  * experimental New snapshot release
+  * remove "scan-build-py-force-utf-8-opening.diff"
+    merged upstream
+  * Also install libomptarget-nvptx in libomp-X.Y-dev next to amdgcn
+
+  [ John Paul Adrian Glaubitz ]
+  * Disable libunwind on m68k, sparc64 and x32
+
+  [ Sylvestre Ledru ]
+  * experimental New snapshot release
+  * experimental New snapshot release
+  * experimental New snapshot release
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 31 Aug 2021 08:15:00 +0200
+
+llvm-toolchain-snapshot (1:14~++20210827020436+15b2a8e7faf6-1~exp2) UNRELEASED; urgency=medium
+
+  [ John Paul Adrian Glaubitz ]
+  * Disable libunwind-X.Y{-dev} packages on sparc and sparc64
+
+  [ Sylvestre Ledru ]
+  * Ship clang-repl as part of clang-tools-XX
+    See https://reviews.llvm.org/D106813
+  * Ship clang-nvlink-wrapper as part of clang-tools-XX
+    See https://reviews.llvm.org/D108291
+  * debuginfo-tests has been renamed to cross-project-tests
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 31 Aug 2021 22:17:35 +0200
+
+llvm-toolchain-snapshot (1:14~++20210827071740+3ec634e65a02-1~exp1) experimental; urgency=medium
+
+  [ Sylvestre Ledru ]
+  * experimental New snapshot release
+  * remove "scan-build-py-force-utf-8-opening.diff"
+    merged upstream
+  * Also install libomptarget-nvptx in libomp-X.Y-dev next to amdgcn
+  * Upload the various changes from 12 & 13
+  * remove "scan-build-py-force-utf-8-opening.diff"
+    merged upstream
+  * Also install libomptarget-nvptx in libomp-X.Y-dev next to amdgcn
+
+  [ John Paul Adrian Glaubitz ]
+  * Disable libunwind on m68k, sparc64 and x32
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Fri, 27 Aug 2021 21:56:14 +0200
+
+llvm-toolchain-snapshot (1:14~++20210827020436+15b2a8e7faf6-1~exp2) UNRELEASED; urgency=medium
+
+  [ John Paul Adrian Glaubitz ]
+  * Disable libunwind-X.Y{-dev} packages on sparc and sparc64
+
+ -- John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>  Sun, 29 Aug 2021 21:28:50 +0200
+
+llvm-toolchain-13 (1:13.0.0~+rc2-1) unstable; urgency=medium
+
+  [ John Paul Adrian Glaubitz ]
+  * Disable libunwind on m68k, sparc64 and x32
+
+  [ Gianfranco Costamagna ]
+  * integration-test-suite-test: fix build by using 13 as default version
+
+  [ Sylvestre Ledru ]
+  * New testing release
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Fri, 27 Aug 2021 09:43:28 +0200
+
+llvm-toolchain-snapshot (1:14~++20210715093511+afc760ef3527-1~exp2) unstable; urgency=medium
+
+  * revert the s390 as it is probably fixed
+  * Rename some lld libs. Following 7a6482216ff02f81ed02ff4936f1b22d4b5a9a6c
+    lldMachO=>lldMachOOld and lldMachO2=>lldMach
+  * scan-build-py - Force the file open in utf-8. Fails on -14 on bionic
+    otherwise
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Fri, 06 Aug 2021 08:40:58 +0200
+
+llvm-toolchain-13 (1:13.0.1-9) UNRELEASED; urgency=medium
+
+  * d/rules: Don't send an empty string to cmake when llvm-spirv is not found
+
+ -- Jordan Justen <jljusten@debian.org>  Fri, 28 Oct 2022 10:17:57 -0700
+
+llvm-toolchain-13 (1:13.0.1-8) unstable; urgency=medium
+
+  [ Sylvestre Ledru ]
+  * Disable the build of libclc on old Ubuntu (Groovy & focal)
+    as llvm-spir is too old on these version.
+    See bug #52200
+
+  [ Jordan Justen ]
+  * d/rules: Call bash to use 'command -v' to location llvm-spirv executable
+  * d/rules: Set LLVM_SPIRV with cmake for libclc
+  * d/patches: Drop libclc-llvm-spirv.diff now that we are setting LLVM_SPIRV
+  * d/rules: Check for llvm-spirv with version suffix
+
+ -- Jordan Justen <jljusten@debian.org>  Wed, 26 Oct 2022 10:13:59 -0700
+
+llvm-toolchain-13 (1:13.0.1-7) unstable; urgency=medium
+
+  [ Michael Biebl ]
+  * Add support for systemd-binfmt (Closes: #1012367)
+
+  [ Sam McCall ]
+  * Add conventional symlink to libc++ headers in /usr/include/c++/v1
+    See https://salsa.debian.org/pkg-llvm-team/llvm-toolchain/-/merge_requests/95
+    for more information
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Fri, 22 Jul 2022 15:10:20 +0200
+
+llvm-toolchain-13 (1:13.0.1-6) unstable; urgency=medium
+
+  [ John Paul Adrian Glaubitz ]
+  * Disable compiler-rt built-ins on x32
+
+  [ Gianfranco Costamagna ]
+  * Enable grpc on riscv64
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org>  Sat, 04 Jun 2022 15:30:38 +0200
+
+llvm-toolchain-13 (1:13.0.1-5) unstable; urgency=medium
+
+  [ John Paul Adrian Glaubitz ]
+  * Enable GRPC build dependency only on supported targets
+  * Exclude lib{Monitoring,RemoteIndex}*Proto.a on m68k and sparc64
+
+  [ Gianfranco Costamagna ]
+  * fix grpc architectures, avoiding to install them where not available
+  * Break/Replaces the Ubuntu library that moved GRPC binaries into the wrong location
+  * newline/tab fix in rules
+  * fix GRPC installation in port architectures
+  * Add patches from Upstream/Ubuntu to:
+    - Backport upstream patches to allow building EFI images for Ubuntu Core
+       for arm64 (LP: #1960300)
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org>  Thu, 26 May 2022 09:30:17 +0200
+
+llvm-toolchain-13 (1:13.0.1-4) unstable; urgency=medium
+
+  * Backport D115098 for Rust 1.59 (Closes: #1010150)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Mon, 09 May 2022 20:47:26 +0200
+
+llvm-toolchain-13 (1:13.0.1-3) unstable; urgency=medium
+
+  * Fix a typo in an header (closes: #1005195)
+
+  * Also install usr/lib/llvm-@LLVM_VERSION@/lib/libRemoteIndexProto.a
+    usr/lib/llvm-@LLVM_VERSION@/lib/libRemoteIndexServiceProto.a
+    usr/lib/llvm-@LLVM_VERSION@/lib/libMonitoringServiceProto.a
+    in libclang-X.Y-dev
+    (Closes: #1005666)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 08 Feb 2022 21:39:18 +0100
+
+llvm-toolchain-13 (1:13.0.1-2) unstable; urgency=medium
+
+  * mlir: use the cmake option to avoid installing object files
+    MLIR_INSTALL_AGGREGATE_OBJECTS
+    Closes upstream #53134
+  * Build clangd with GRPC support
+    Thanks to Sam McCall for the patch
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 05 Jan 2022 23:21:56 +0100
+
+llvm-toolchain-13 (1:13.0.1-1) unstable; urgency=medium
+
+  * New stable release
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Thu, 03 Feb 2022 10:21:56 +0100
+
+llvm-toolchain-13 (1:13.0.1~+rc3-1~exp1) experimental; urgency=medium
+
+  [ Samuel Thibault ]
+  * Explicitly link against -latomic on all ports, not only the Linux ones.
+  * Stop hardcoding -DCMAKE_SYSTEM_NAME=Linux as cmake parameter, as it breaks
+    stage2 builds on non-Linux architectures
+
+  [ Pino Toscano ]
+  * debian/rules: Disable 64bit runtime build on hurd-i386 (Closes: #1003081).
+
+  [ Sylvestre Ledru ]
+  * New rc
+  * Lower the debhelper dep to 10 for debian stretch
+  * Rename ocaml-nox => ocaml-base (Closes: #1002609)
+  * Remove Build-Conflicts: ocaml
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Thu, 13 Jan 2022 21:17:23 +0100
+
+llvm-toolchain-13 (1:13.0.1~+rc1-1~exp4) experimental; urgency=medium
+
+  * Fix the cmake file with the mlir introducing
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Thu, 06 Jan 2022 14:30:59 +0100
+
+llvm-toolchain-13 (1:13.0.1~+rc1-1~exp3) experimental; urgency=medium
+
+  * Build and ship MLIR as 3 new packages (libmlir-13-dev, libmlir-13
+    and mlir-13-tools)
+  * Install bfd plugins in
+    /usr/lib/bfd-plugins/LLVMgold-@LLVM_VERSION@.so
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Fri, 31 Dec 2021 12:22:38 +0100
+
+llvm-toolchain-13 (1:13.0.1~+rc1-1~exp2) experimental; urgency=medium
+
+  * Bring back the dependency clang => llvm-13-linker-tools
+  * Unbreak llvm-toolchain-13 on buster.
+    -fuse-ld=gold wasn't passed to compiler-rt. it was using bfd.
+    And binutils shipping in buster has a bug preventing this to work:
+    https://github.com/llvm/llvm-project/issues/42339
+  * Remove AVR from LLVM_EXPERIMENTAL_TARGETS_TO_BUILD. stable since 11
+    https://releases.llvm.org/11.0.0/docs/ReleaseNotes.html#changes-to-the-avr-target
+  * Use the version suffix when calling wasm-ld => wasm-ld-13
+    https://bugzilla.mozilla.org/show_bug.cgi?id=1747145
+  * Fix run-clang-tidy symlink. it moved from /usr/lib/llvm-13/share/clang/run-clang-tidy
+    to /usr/lib/llvm-13/bin/run-clang-tidy
+    (Closes: #1001748)
+  * Install LLVMgold in usr/lib/bfd-plugins to help various tools to understand the
+    format (Closes: #919020)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Thu, 16 Dec 2021 14:28:09 +0100
+
+llvm-toolchain-13 (1:13.0.1~+rc1-1~exp1) experimental; urgency=medium
+
+  * New testing release
+  * Use parallel + -4 for the xz tarballs compression to make it faster
+  * Add manpages for git-clang-format & run-clang-tidy
+  * Add back -DLLVM_VERSION_SUFFIX=. Useless for 13 but necessary for snapshot
+    Otherwise, it adds "git" to the libs
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Thu, 11 Nov 2021 22:45:25 +0100
+
+llvm-toolchain-13 (1:13.0.0-9) unstable; urgency=medium
+
+  * Upload to unstable (all green on exp)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Mon, 08 Nov 2021 14:09:25 +0100
+
+llvm-toolchain-13 (1:13.0.0-9~exp2) experimental; urgency=medium
+
+  * patch compiler-rt build to add option to disable scudo standalone allocator
+    as it is not always supported by all debian baseline arch profiles
+  * add COMPILER_RT_BUILD_SCUDO_STANDALONE=OFF to armel build in debian/rules
+    since the baseline armv5t arch profile is not supported
+
+ -- Erik Maciejewski <mr.emacski@gmail.com>  Fri, 05 Nov 2021 16:38:43 -0700
+
+llvm-toolchain-13 (1:13.0.0-9~exp1) experimental; urgency=medium
+
+  * Merge migration to 2stage runtimes build 12 => 13
+  * Adjust openmp runtime quilt patches from branch 12 for changes in upstream
+    (llvmorg-13.0.0) sources
+
+ -- Erik Maciejewski <mr.emacski@gmail.com>  Wed, 03 Nov 2021 20:03:56 -0700
+
+llvm-toolchain-13 (1:13.0.0-8) unstable; urgency=medium
+
+  * Disable lldb on mipsel and mips64el as it isn't supported
+    See https://reviews.llvm.org/D102872
+    (Closes: #997011)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sat, 23 Oct 2021 10:33:56 +0200
+
+llvm-toolchain-13 (1:13.0.0-7) unstable; urgency=medium
+
+  * Remove omp-device-info from LLVMExports.cmake (Closes: #996551)
+    For real this time
+  * Fix the link issue (hopefully on all archs) (Closes: #995827)
+    customs LDFLAGS were not passed to the stage2
+  * Trim trailing whitespace.
+  * Update watch file format version to 4.
+  * Update to compat 11.
+    oldstable has 12
+    bionic has 11
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 20 Oct 2021 07:36:28 +0200
+
+llvm-toolchain-13 (1:13.0.0-6) unstable; urgency=medium
+
+  * Remove omp-device-info from LLVMExports.cmake (Closes: #996551)
+  * Fix a atomic issue. Thanks to YunQiang Su for the patch
+    Partial fix for #995827
+  * Bring back the llvm manpages (Closes: #995684)
+    Were generated at the wrong place
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Fri, 15 Oct 2021 10:45:30 +0200
+
+llvm-toolchain-13 (1:13.0.0-5) unstable; urgency=medium
+
+  *  Restrict the dependency on libunwind-13-dev from Package: libc++-13-dev
+     on amd64 arm64 armhf i386 mips64el ppc64el ppc64 riscv64
+     (Closes: #996462)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Thu, 14 Oct 2021 12:33:15 +0200
+
+llvm-toolchain-13 (1:13.0.0-4) unstable; urgency=medium
+
+  * Instead of using llvm-* to install binaries in llvm-X.Y
+    list all the binaries one by one.
+    It will prevent "llvm-omp-device-info" to be installed in
+    llvm-X.Y which caused an explicit dependency on libomp
+    which caused llvm-X.Y to be NOT coinstallable anymore
+  * Move llvm-omp-device-info-X.Y from llvm-X to libompX-dev
+    Fixes upstream #52162
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 13 Oct 2021 13:29:51 +0200
+
+llvm-toolchain-13 (1:13.0.0-3) unstable; urgency=medium
+
+  * libc++-13-dev should depends on libunwind-13-dev
+    (Closes: #995810)
+  * Disable a tsan and two lldb tests on i386
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 06 Oct 2021 12:52:10 +0200
+
+llvm-toolchain-13 (1:13.0.0-2) unstable; urgency=medium
+
+  * Fix the libclang detection in cmake
+    (Closes: #994827)
+  * Adjust the testsuite after various changes
+    (rpass, libclang, polly lib, etc)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sun, 03 Oct 2021 22:38:18 +0200
+
+llvm-toolchain-13 (1:13.0.0-1) unstable; urgency=medium
+
+  * New upstream release
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Fri, 01 Oct 2021 09:08:08 +0200
+
+llvm-toolchain-13 (1:13.0.0~+rc4-1) unstable; urgency=medium
+
+  * New testing release
+  * Ship clang-repl
+    See https://reviews.llvm.org/D106813
+  * Replace make by ninja for the build process
+    It is now more tested than make by upstream
+    And it is supposed to be faster
+    Removed openmp/bootstrap-with-openmp-version-export-missing.diff
+    as it seems that the ninja move fixed it
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sat, 18 Sep 2021 19:30:47 +0200
+
+llvm-toolchain-13 (1:13.0.0~+rc3-1) unstable; urgency=medium
+
+  * New testing release
+  * Remove debian/patches/disable-no-omit-leaf.diff
+    as it is fixed upstream
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sat, 11 Sep 2021 09:48:23 +0200
+
+llvm-toolchain-13 (1:13.0.0~+rc2-3) unstable; urgency=medium
+
+  * compiler-rt scudo, don't add the option
+    -mno-omit-leaf-frame-pointer when building on
+    armel & armhf
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Thu, 02 Sep 2021 21:35:26 +0200
+
+llvm-toolchain-13 (1:13.0.0~+rc2-2) unstable; urgency=medium
+
+  * Build with -DCMAKE_POSITION_INDEPENDENT_CODE=ON to libc++ and libc++abi
+  * The changes from 12.0.1-7
+
+  [ John Paul Adrian Glaubitz ]
+  * Disable libunwind-X.Y{-dev} packages on sparc and sparc64
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sun, 29 Aug 2021 14:52:16 +0200
+
+llvm-toolchain-13 (1:13.0.0~+rc2-2) UNRELEASED; urgency=medium
+
+  * Build with -DCMAKE_POSITION_INDEPENDENT_CODE=ON to libc++ and libc++abi
+
+  [ John Paul Adrian Glaubitz ]
+  * Disable libunwind-X.Y{-dev} packages on sparc and sparc64
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sun, 29 Aug 2021 14:52:16 +0200
+
+llvm-toolchain-13 (1:13.0.0~+rc1-2) unstable; urgency=medium
+
+  * clang-soname-extract-version.diff: improve the upstream declaration
+  * Fix the libclang links
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Thu, 19 Aug 2021 18:13:56 +0200
+
+llvm-toolchain-13 (1:13.0.0~+rc1-1) unstable; urgency=medium
+
+  * Upload to Unstable
+  * Add symbol clang_CompileCommand_getNumMappedSources to libclang
+  * Add a new variable called SONAME_CLANG as
+    clang soname has started with llvm-toolchain-13.
+    it is normal that 13 is what is seen in 14 or later version as
+    it is bumped only with abi changes
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Mon, 16 Aug 2021 16:00:12 +0200
+
+llvm-toolchain-13 (1:13.0.0~+rc1-1~exp1) unstable; urgency=medium
+
+  * New snapshot release
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 03 Aug 2021 09:36:26 +0200
+
+llvm-toolchain-13 (1:13~++20210731010128+6eaf46beb462-1~exp1) experimental; urgency=medium
+
+  * Branching of snapshot into 13
+  * Adjust libclang:
+    - upstream decided to make it stable starting from 13, with the soname
+    - for now, I am not planning to rename libclang1-13 to libclang13 as it will
+      cause too much churn for a small gain as we will keep libllvm (while
+      losing the capability to have different versions in parallel installed)
+      See upstream c7b3a91017d26266d7556b1ac7c49b06f0109b91
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 20 Jul 2021 09:40:58 +0200
+
+llvm-toolchain-snapshot (1:13~++20210715093511+afc760ef3527-1~exp1) experimental; urgency=medium
+
+  * Refresh the lib of symbols in libomp
+  * As scan-build-py is installed by default ( https://reviews.llvm.org/D104138 )
+    update of the code
+  * Revert "Revert D94333.diff as it breaks the ci
+    https://reviews.llvm.org/D94333#2829043"
+  * Install usr/lib/llvm-13/lib/cmake/openmp/FindOpenMPTarget.cmake
+    in libomp-13-dev.install
+  * Revert of D103865 for causing bug 51026
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Thu, 15 Jul 2021 21:46:58 +0200
+
+llvm-toolchain-snapshot (1:13~++20210622112436+600074980410-1~exp1) UNRELEASED; urgency=medium
+
+  * Refresh the lib of symbols in libomp
+  * As scan-build-py is installed by default ( https://reviews.llvm.org/D104138 )
+    update of the code
+  * Fix the path to analyze-{cc,c++} for scan-build-py with
+    --intercept-first (scan-build-py-fix-analyze-path.diff)
+  * experimental New snapshot release
+  * experimental New snapshot release
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 22 Jun 2021 23:28:47 +0200
+
+llvm-toolchain-snapshot (1:13~++20210620054946+4c44b02d87bc-1~exp1) experimental; urgency=medium
+
+  * Enable lld on s390x
+  * remove libomptarget from openmp. done by upstream
+    in f2f88f3e7a110b2d4d9da446e45f0dba040e62b2
+    but install /usr/lib/llvm-13/lib/libomptarget-amdgcn-*.bc
+    Only install these files on amd64, ppc64el & arm64
+    See openmp/libomptarget/deviceRTLs/amdgcn/CMakeLists.txt
+  * Revert D94333.diff as it breaks the ci
+    https://reviews.llvm.org/D94333#2829043
+
+  [ John Paul Adrian Glaubitz ]
+  * Disable OpenMP on m68k
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sat, 08 May 2021 13:12:43 +0200
+
+llvm-toolchain-snapshot (1:13~++20210418105309+a0898f0cecc7-1~exp1) experimental; urgency=medium
+
+  [ Sylvestre Ledru ]
+  * New snapshot release
+  * "run-clang-tidy" install it
+  * Only enable libomp-13-doc on supported archs
+  * Verify that /proc is mounted. It makes some unexpected issues when
+    building from a chroot without /proc
+  * Fix the __config_site include issue
+  * Revert D95727 for causing bug 49818
+
+  [ John Paul Adrian Glaubitz ]
+  * Add upstream patch D98574 to fix clang macro definitions on sparc64
+  * Add upstream patch D98575 to fix 32-bit compiler-rt build on sparc64
+  * Enable building the new experimental M68k backend
+  * Set LLVM_HOST_TRIPLE to x86_64-linux-gnux32 on x32
+  * Set LLVM_DEFAULT_TARGET_TRIPLE to x86_64-linux-gnux32 on x32
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sun, 18 Apr 2021 11:00:31 +0200
+
+llvm-toolchain-snapshot (1:13~++20210129063721+010b176cdefb-1~exp2) experimental; urgency=medium
+
+  * Enable OpenMP offload capabilities for NVDIA GPUs
+    See https://bugzilla.redhat.com/show_bug.cgi?id=1922914
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Mon, 01 Feb 2021 09:04:16 +0100
+
+llvm-toolchain-snapshot (1:13~++20201124100523+245052ac3080-1~exp1) experimental; urgency=medium
+
+  [ Sylvestre Ledru ]
+  * New branch (12 => 13)
+  * Workaround a static_assert on https://bugs.llvm.org/show_bug.cgi?id=48259
+    "static assertion failed: Recycler allocation size is less than object size!"
+  * Also install usr/lib/llvm-12/bin/ld64.lld.darwinnew & usr/bin/ld64.lld.darwinnew-12
+  * Also install usr/lib/llvm-12/lib/libomptarget.so.12 in libomp5-12
+
+  [ Gianfranco Costamagna ]
+  * Add upstream patch D92052 to fix a gcn offload compiler issue with gcc (Closes: #975692)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 27 Jan 2021 16:02:16 +0100
+
+llvm-toolchain-12 (1:12.0.1-20) unstable; urgency=medium
+
+  * Also install usr/lib/llvm-@LLVM_VERSION@/lib/libRemoteIndexProto.a
+    usr/lib/llvm-@LLVM_VERSION@/lib/libRemoteIndexServiceProto.a
+    in libclang-X.Y-dev
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sun, 13 Feb 2022 14:04:40 +0100
+
+llvm-toolchain-12 (1:12.0.1-19) unstable; urgency=medium
+
+  * Build clangd with GRPC support
+    Thanks to Sam McCall for the patch
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sat, 29 Jan 2022 10:17:38 +0100
+
+llvm-toolchain-12 (1:12.0.1-18) unstable; urgency=medium
+
+  * Unbreak llvm-toolchain-12 on buster.
+    -fuse-ld=gold wasn't passed to compiler-rt. it was using bfd.
+    And binutils shipping in buster has a bug preventing this to work:
+    https://github.com/llvm/llvm-project/issues/42339
+  * Rename ocaml-nox => ocaml-base (Closes: #1002608)
+  * Remove Build-Conflicts: ocaml
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Thu, 16 Dec 2021 17:49:22 +0100
+
+llvm-toolchain-12 (1:12.0.1-17) unstable; urgency=medium
+
+  * Rebuild to workaround the coinstallability issue (Closes: #996858)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 30 Nov 2021 19:32:51 +0100
+
+llvm-toolchain-12 (1:12.0.1-16) unstable; urgency=medium
+
+  [ Erik Maciejewski ]
+  * use make variables populated by /usr/share/dpkg/buildflags.mk and remove
+    _EXTRA suffix from STAGE_1_ and STAGE_2_ flag vars to improve clarity and
+    readability for the multi-stage setup in debian/rules
+  * remove some redundant cmake options (options with the same value as their
+    default) from, and move PYTHON_EXECUTABLE cmake option to, the cmake
+    configure command in debian/rules
+  * re-disable fixfilepath in dpkg-buildflags in favor of using the more llvm
+    aware implementation provided by the llvm-project by setting
+    LLVM_USE_RELATIVE_PATHS_IN_FILES=ON in both stages of the toolchain
+    build in debian/rules
+
+  [ Sylvestre Ledru ]
+  * autopkgtest/integration-test-suite-test: restrict to arm64/amd64 for now
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Thu, 28 Oct 2021 16:45:49 +0200
+
+llvm-toolchain-12 (1:12.0.1-15) unstable; urgency=medium
+
+  * Disable lldb on mipsel and mips64el as it isn't supported
+    See https://reviews.llvm.org/D102872
+    (Closes: #997011)
+
+  [ Erik Maciejewski ]
+  * disable compiler-rt builtins for unsupported arch s390x in debian/rules
+  * set arm toolchain arch profiles explicitly to debian baselines in
+    debian/rules as the target host triples alone are ambiguous and compiler
+    defaults and debian baselines may not align
+  * add arch specific config for powerpc to debian/rules and set host target
+    triple and compiler-rt config to force correct arch profile for builtins
+  * set LIBCXX_USE_COMPILER_RT to OFF in debian/rules to disable builtins when
+    libunwind is not enabled since the unwind implementation with gnu builtins
+    will then be required
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sat, 23 Oct 2021 10:33:56 +0200
+
+llvm-toolchain-12 (1:12.0.1-14) unstable; urgency=medium
+
+  * fix build flag inconsistencies (potentially causing build failures) by
+    utilizing dpkg-buildflags for defaults where appropriate and making sure all
+    flags intended for a given stage are also applied to the stage's builtins
+    and runtimes builds
+  * re-enable fixfilepath for use with dpkg-buildflags in debian/rules as it has
+    been supported since clang-10
+  * establish a consistent STAGE_[stage]_ prefix naming scheme for stage
+    variables and replace STAGE1_AND_STAGE2_ prefix with STAGE_ALL_ prefix for
+    better future-proofing in debian/rules
+  * modify stage dir var names to use new prefix scheme in debian/rules
+  * add explicit s390x build options to debian/rules, set
+    LLVM_HOST_TRIPLE=s390x-linux-gnu and COMPILER_RT_DEFAULT_TARGET_ONLY=ON
+    so that builtins are only built for the explicit host arch (Closes: #996802)
+
+ -- Erik Maciejewski <mr.emacski@gmail.com>  Fri, 22 Oct 2021 03:12:48 -0700
+
+llvm-toolchain-12 (1:12.0.1-13) unstable; urgency=medium
+
+  * update rules to incorporate relevant arch specific configs from snapshot
+  * patch llvm runtimes cmake build to add a check and only set up and build
+    compiler-rt builtins if they have not been disabled in a runtimes build
+  * patch compiler-rt builtins cmake build to fix default arch detection for
+    armhf by adding the same target triple handling used for compiler-rt libs
+  * remove legacy var for use when libcxx was a standalone build
+
+ -- Erik Maciejewski <mr.emacski@gmail.com>  Wed, 20 Oct 2021 09:04:42 -0700
+
+llvm-toolchain-12 (1:12.0.1-12) unstable; urgency=medium
+
+  * re-disable building builtins on armel as they still fail (Closes: #996828)
+  * add patch to libcxxabi cmake build for adding builtins to lib flags fixing
+    an issue where builtins were not being linked into libcxxabi when
+    LIBCXXABI_USE_COMPILER_RT=ON (Closes: #996796)
+
+ -- Erik Maciejewski <mr.emacski@gmail.com>  Tue, 19 Oct 2021 01:28:50 -0700
+
+llvm-toolchain-12 (1:12.0.1-11) unstable; urgency=medium
+
+  * add missing LIBUNWIND_USE_COMPILER_RT to CLANG_BOOTSTRAP_PASSTHROUGH to link
+    correct compiler-rt lib in stage2
+  * consolidate two conditionals for libatomic that were essentially the same,
+    but the one removed could conflict with BOOTSTRAP_SHARED_LINK_FLAGS
+    elsewhere in the rules file
+  * attempt to fix arm builtins by adding COMPILER_RT_DEFAULT_TARGET_ONLY=ON to
+    armel and armhf toolchain build options to prevent related arches that might
+    not be supported on the build host from being included in the build (like
+    armv6m soft-float on the armhf build host)
+  * reorganize flags and cmake options around stages for the toolchain build
+  * set baseline arch to armv5t, remove older 3.8 workaround for armel build
+  * update to debian host triple for the armhf build
+
+  [ Jordan Justen ]
+  * d/rules: Add amdgcn-mesa-mesa3d to libclc build.
+    Closes: #993904, #995069
+
+  [ Sylvestre Ledru ]
+  * Bring back the llvm manpages (Closes: #995684)
+    Were generated at the wrong place
+
+ -- Erik Maciejewski <mr.emacski@gmail.com>  Sat, 16 Oct 2021 09:07:25 -0700
+
+llvm-toolchain-12 (1:12.0.1-10) unstable; urgency=medium
+
+  * evolve llvm build configuration in rules to leverage the two stage build
+    with runtimes support whereby the resulting stage2 (final) compiler is used
+    to build the stage2 (final) runtimes as part of a single monolithic build
+  * the stage2 runtimes build now includes compiler-rt, libcxx and libcxxabi as
+    well as libunwind and openmp where supported. Additionally, legacy
+    corresponding standalone build targets are removed from the rules file
+  * patch openmp build to include required runtimes as dependencies to build
+    targets so they are built first when included as part of a runtimes build
+    since openmp can depend on them
+  * patch libclc build to set rpath for prepare_builtins build utility to find
+    correct stage2 libs at runtime when executed as part of a build
+  * patch libcxx build so that if libatomic is found, only link it if libgcc is
+    the rtlib
+  * patch compiler-rt build to suppress xray and testing warns when not enabled
+  * patch llvm linker detection to account for vendor being prepended to lld
+    version string
+  * remove several existing patches incorporating workarounds no longer required
+    by the modified build configuration
+
+  [ Sylvestre Ledru ]
+  * If parallel is not set in DEB_BUILD_OPTIONS, use nproc
+  * Add source-is-missing llvm/test/* / lldb/test/* / lld/test/*
+    to the source override
+  * Remove old override 'outdated-autotools-helper-file'
+
+  [ John Paul Adrian Glaubitz ]
+  * Disable libunwind on sparc, sparc64 and x32
+
+ -- Erik Maciejewski <mr.emacski@gmail.com>  Wed, 06 Oct 2021 01:25:08 -0700
+
+llvm-toolchain-12 (1:12.0.1-9) unstable; urgency=medium
+
+  * Replace make by ninja for the build process
+    It is now more tested than make by upstream
+    And it is supposed to be faster
+    Removed openmp/bootstrap-with-openmp-version-export-missing.diff
+    as it seems that the ninja move fixed it
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sat, 18 Sep 2021 11:03:29 +0200
+
+llvm-toolchain-12 (1:12.0.1-8) unstable; urgency=medium
+
+  * Add back CMAKE_EXTRA to build LLVM gold (Closes: #993664)
+
+  [  Gianfranco Costamagna ]
+  * Refresh symbols on riscv64
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sat, 04 Sep 2021 16:38:24 +0200
+
+llvm-toolchain-12 (1:12.0.1-7) unstable; urgency=medium
+
+  * Add debian/source/options to ignore the diff (much much faster to repack)
+  * cmake: use ON instead of YES for consistency
+  * Don't generate the llvm-mcmarkup & lldb-mi manpages (don't exist anymore)
+    (LP: #1940713)
+
+  [  Gianfranco Costamagna ]
+  * Add a patch to fix omp build on riscv64
+  * Don't build lldb on riscv64, fails to build due to missing
+    CreateHostNativeRegisterContextLinux implementation on this architecture.
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 31 Aug 2021 20:56:40 +0200
+
+llvm-toolchain-12 (1:12.0.1-6) unstable; urgency=medium
+
+  * Fixup build process on riscv64, the architecture building was enabled
+    in control file but not in rules file, neither required build-deps were
+    installed. (note: this should fail, but at least we will have a build log
+    stored.
+  * Add ocaml support on riscv64.
+  * Don't require hello package on i386 (helps Ubuntu alternate dependencies)
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org>  Thu, 26 Aug 2021 15:33:24 +0200
+
+llvm-toolchain-12 (1:12.0.1-5) unstable; urgency=medium
+
+  [ Jordan Justen ]
+  * Include SPIR-V (*.spv) outputs in libclc package
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 25 Aug 2021 10:18:14 +0200
+
+llvm-toolchain-12 (1:12.0.1-4) unstable; urgency=medium
+
+  * Make libunwind-dev depends on libunwind
+  * Don't build libunwind on hurd, armel, powerpc & mipsel
+  * Remove old svn reference in the usage dh_strip & dh_makeshlibs
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Mon, 16 Aug 2021 22:04:17 +0200
+
+llvm-toolchain-12 (1:12.0.1-3) unstable; urgency=medium
+
+  * Build libunwind only on amd64 arm64 armhf i386
+    mips64el ppc64el ppc64 riscv64 sparc sparc64
+    Not supported on s390x for example
+  * libc++ & libc++ abi: only pass -DLIBCXXABI_USE_LLVM_UNWINDER=YES
+    if libunwind is available on the platform
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sun, 01 Aug 2021 11:42:20 +0200
+
+llvm-toolchain-12 (1:12.0.1-2) unstable; urgency=medium
+
+  * Generate libunwind-12 & libunwind-12-dev packages
+  * Add the following option to the libc++ build:
+    -DLIBCXX_ENABLE_STATIC_ABI_LIBRARY=ON
+    -DLIBCXX_STATICALLY_LINK_ABI_IN_STATIC_LIBRARY=ON
+    -DLIBCXX_STATICALLY_LINK_ABI_IN_SHARED_LIBRARY=OFF
+     to address upstream bug 46321
+  * Make libc++abi use libunwind
+
+  [ Kasper Kantz ]
+  * Add riscv64 architecture in control
+    enable liblldb, libomp and others which are
+    currently unavailable in riscv64 repository.
+
+  [ Krzysztof Aleksander Pyrkosz ]
+  * Add libxml2 as a dependency as it is necessary
+    for llvm manifest tool (llvm-mt)
+    (Closes: #990537)
+
+  [ Jordan Justen ]
+  * d/rules: Adjust cmake defines to fix libclc.pc paths
+  * Add the following option to the libc++ build:
+    -DLIBCXX_ENABLE_STATIC_ABI_LIBRARY=ON
+    -DLIBCXX_STATICALLY_LINK_ABI_IN_STATIC_LIBRARY=ON
+    -DLIBCXX_STATICALLY_LINK_ABI_IN_SHARED_LIBRARY=OFF
+     to address upstream bug 46321
+  * Build libunwind
+
+  [ Kasper Kantz ]
+  * Add riscv64 architecture in control
+    enable liblldb, libomp and others which are
+    currently unavailable in riscv64 repository.
+
+  [ Krzysztof Aleksander Pyrkosz ]
+  * Add libxml2 as a dependency as it is necessary
+    for llvm manifest tool (llvm-mt)
+    (Closes: #990537)
+
+  [ Jordan Justen ]
+  * d/rules: Adjust cmake defines to fix libclc.pc paths
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Mon, 12 Jul 2021 08:19:59 +0200
+
+llvm-toolchain-12 (1:12.0.1-1) unstable; urgency=medium
+
+  * New upstream release
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Fri, 09 Jul 2021 09:13:12 +0200
+
+llvm-toolchain-12 (1:12.0.1~+rc4-1) unstable; urgency=medium
+
+  * New testing upstream release
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sat, 03 Jul 2021 00:17:36 +0200
+
+llvm-toolchain-12 (1:12.0.1~+rc3-1) unstable; urgency=medium
+
+  * New testing upstream release
+  * Fix the path to analyze-{cc,c++} for scan-build-py with
+    --intercept-first (scan-build-py-fix-analyze-path.diff)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sat, 26 Jun 2021 10:00:56 +0200
+
+llvm-toolchain-12 (1:12.0.1~+rc2-1) unstable; urgency=medium
+
+  * New testing upstream release
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Mon, 21 Jun 2021 16:06:36 +0200
+
+llvm-toolchain-12 (1:12.0.1~+rc1-1) unstable; urgency=medium
+
+  [ John Paul Adrian Glaubitz ]
+  * Add upstream patch D98574 to fix clang macro definitions on sparc64
+  * Add upstream patch D98575 to fix 32-bit compiler-rt build on sparc64
+
+  [ Sylvestre Ledru ]
+  * backport D101773 to fix an llvm ir issue on mipsel
+    in mips/mips-D101773-reloc.patch
+    thanks to Ximin Luo
+    (Closes: #988965)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Fri, 28 May 2021 23:27:27 +0200
+
+llvm-toolchain-12 (1:12.0.1~+rc1-1~exp1) unstable; urgency=medium
+
+  * New testing upstream release
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 26 May 2021 13:10:29 +0200
+
+llvm-toolchain-12 (1:12.0.0-3) unstable; urgency=medium
+
+  [ Timo Aaltonen ]
+  * Build libclc. (Closes: #942709)
+
+  [ Sylvestre Ledru ]
+  * Upload to unstable
+  * Also build lld on s390x
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sat, 01 May 2021 19:33:27 +0200
+
+llvm-toolchain-12 (1:12.0.0-2) experimental; urgency=medium
+
+  [ Matthias Klose ]
+  * Improve the clean rule
+  * Disable again LTO
+  * Create a new package llvm-12-linker-tools:
+    Contains the LLVMgold and LLVMPolly linker plugins.
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Thu, 15 Apr 2021 13:27:57 +0200
+
+llvm-toolchain-12 (1:12.0.0-1) unstable; urgency=medium
+
+  * New upstream release
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Thu, 15 Apr 2021 07:57:57 +0200
+
+llvm-toolchain-12 (1:12.0.0~++rc5-2) unstable; urgency=medium
+
+  * Add -DCMAKE_SUPPRESS_REGENERATION=ON to limit the number of calls
+    to cmake
+    Try to workaround a bug on llvm-toolchain-stretch-12-binaries
+    architecture=s390x,stretch
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sat, 10 Apr 2021 14:59:07 +0200
+
+llvm-toolchain-12 (1:12.0.0~++rc5-1) unstable; urgency=medium
+
+  * New testing upstream release
+  * Verify that /proc is mounted. It makes some unexpected issues when
+    building from a chroot without /proc
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Thu, 08 Apr 2021 18:04:07 +0200
+
+llvm-toolchain-12 (1:12.0.0~++rc4-1) unstable; urgency=medium
+
+  * New testing upstream release
+  * Cherry-pick https://reviews.llvm.org/D99501 to allow -flto=auto
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Thu, 01 Apr 2021 08:56:19 +0200
+
+llvm-toolchain-12 (1:12.0.0~++rc3-4) unstable; urgency=medium
+
+  * Don't fail fsanitize=thread on i386, not supported
+  * Don't hard fail on z3 failures with "set -e" at the begin, if z3 support is not available we do fail and exit testsuite without checking the log
+  * Don't force gcc-11 anymore on riscv64, gcc-10 has the fixes now
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org>  Sat, 20 Mar 2021 17:16:26 +0100
+
+llvm-toolchain-12 (1:12.0.0~++rc3-3) unstable; urgency=medium
+
+  * Cherry-pick upstream commit e3cd3a3c91524c957e06bb0170343548f02b6842
+    bring back Reporter.py needing to make scan-view work.
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org>  Wed, 17 Mar 2021 13:11:46 +0100
+
+llvm-toolchain-12 (1:12.0.0~++rc3-2) unstable; urgency=medium
+
+  * Fixup omptarget regex error, missing escape
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org>  Mon, 15 Mar 2021 21:04:46 +0100
+
+llvm-toolchain-12 (1:12.0.0~++rc3-1) unstable; urgency=medium
+
+  [ Gianfranco Costamagna ]
+  * Upload to sid
+
+  [ Sylvestre Ledru ]
+  * Ignore source: invalid-arch-string-in-source-relation riscv64 [build-depends: g++-11 [riscv64]]
+
+  [ Matthias Klose ]
+  * Also disable CMake's package validation check for omptarget target files (Closes: #983838).
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org>  Mon, 15 Mar 2021 11:18:42 +0100
+
+llvm-toolchain-12 (1:12.0.0~++rc3-1~exp1) experimental; urgency=medium
+
+  * New testing upstream release
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 10 Mar 2021 16:11:07 +0100
+
+llvm-toolchain-12 (1:12.0.0~++rc2-1~exp2) experimental; urgency=medium
+
+  * Refresh the openmp symbol list
+    In libomp.so.5:
+    - GOMP_taskwait_depend
+    - GOMP_teams_reg
+    - __kmpc_calloc
+    - __kmpc_realloc
+    - __kmpc_taskloop_5
+    And all libomptarget.so.12
+  * Only enable libomp-12-doc on supported archs
+
+  [ Matthias Klose <doko@ubuntu.com> ]
+  * Build using GCC 11 on riscv64 (Closes: #983837).
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 02 Mar 2021 13:25:24 +0100
+
+llvm-toolchain-12 (1:12.0.0~++rc2-1~exp1) experimental; urgency=medium
+
+  * New rc release
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 24 Feb 2021 10:18:02 +0100
+
+llvm-toolchain-12 (1:12.0.0~++20210127035054+8e464dd76bef-1~exp1) experimental; urgency=medium
+
+  [ Sylvestre Ledru ]
+  * experimental New snapshot release now 12 as branched
+  * Workaround a static_assert on https://bugs.llvm.org/show_bug.cgi?id=48259
+    "static assertion failed: Recycler allocation size is less than object size!"
+  * Also install usr/lib/llvm-12/bin/ld64.lld.darwinnew & usr/bin/ld64.lld.darwinnew-12
+  * Also install usr/lib/llvm-12/lib/libomptarget.so.12 in libomp5-12
+
+  [ Gianfranco Costamagna ]
+  * Add upstream patch D92052 to fix a gcn offload compiler issue with gcc (Closes: #975692)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 27 Jan 2021 15:54:15 +0100
+
+llvm-toolchain-snapshot (1:12~++20201105093023+cc2a2bb5ce5-1~exp1) experimental; urgency=medium
+
+  * experimental New snapshot release
+  * lld-use-link-atomic-i386.diff Try to workaround a linker error
+    error: undefined reference to '__atomic_load'
+    on sid i386
+  * Bring back gold for ppc64el. Doko thinks it is fixed.
+
+  [ John Paul Adrian Glaubitz ]
+  * Limit maximum parallel link jobs to 4 on sparc and sparc64
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Thu, 05 Nov 2020 09:42:14 +0100
+
+llvm-toolchain-snapshot (1:12~++20201019023155+5a8ac3cc63d-1~exp1) UNRELEASED; urgency=medium
+
+  * experimental New snapshot release
+  * experimental New snapshot release
+  * experimental New snapshot release
+  * experimental New snapshot release
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Mon, 19 Oct 2020 14:35:27 +0200
+
+llvm-toolchain-snapshot (1:12~++20200929085817+962a247aebb-1~exp1) experimental; urgency=medium
+
+  [ Sylvestre Ledru ]
+  * New snapshot release
+  * Install omp.h in instead of /usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION_FULL@/include/
+    instead of /usr/lib/llvm-@LLVM_VERSION@/include/openmp/omp
+  * Install split-file in llvm-X-tools (like lit)
+  * Add new symbols to libclang1:
+   - clang_CXRewriter_create
+   - clang_CXRewriter_dispose
+   - clang_CXRewriter_insertTextBefore
+   - clang_CXRewriter_overwriteChangedFiles
+   - clang_CXRewriter_removeText
+   - clang_CXRewriter_replaceText
+   - clang_CXRewriter_writeMainFileToStdOut
+   - clang_Cursor_getVarDeclInitializer
+   - clang_Cursor_hasVarDeclExternalStorage
+   - clang_Cursor_hasVarDeclGlobalStorage
+
+  [ John Paul Adrian Glaubitz ]
+  * Link against libatomic on mipsel to fix FTBFS in stage2
+  * Link against libatomic on powerpc to fix FTBFS in stage2
+  * Use dh-exec to exclude lib/libPolly*.a on powerpc and
+    powerpcspe from libclang-common-X.Y-dev.install.in
+  * Drop powerpcspe patches merged upstream:
+    - debian/patches/powerpcspe/D49754-powerpcspe-clang.diff
+    - debian/patches/powerpcspe/D54583-powerpcspe-double-parameter.diff
+    - debian/patches/powerpcspe/D56703-powerpcspe-register-spilling.diff
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 29 Sep 2020 21:01:53 +0200
+
+llvm-toolchain-snapshot (1:12~++20200902060857+888049b97a7-1~exp1) UNRELEASED; urgency=medium
+
+  [ Sylvestre Ledru ]
+  * Install omp.h in instead of /usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION_FULL@/include/
+    instead of /usr/lib/llvm-@LLVM_VERSION@/include/openmp/omp
+  * Install split-file in llvm-X-tools (like lit)
+
+  [ John Paul Adrian Glaubitz ]
+  * Link against libatomic on mipsel to fix FTBFS in stage2
+  * Link against libatomic on powerpc to fix FTBFS in stage2
+  * Use dh-exec to exclude lib/libPolly*.a on powerpc and
+    powerpcspe from libclang-common-X.Y-dev.install.in
+
+  [ Sylvestre Ledru ]
+  * experimental New snapshot release
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 02 Sep 2020 18:12:46 +0200
+
+llvm-toolchain-snapshot (1:12~++20200804122259+4be13b15d69-1~exp2) UNRELEASED; urgency=medium
+
+  [ Sylvestre Ledru ]
+  * New snapshot release
+  * Install omp.h in instead of /usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION_FULL@/include/
+    instead of /usr/lib/llvm-@LLVM_VERSION@/include/openmp/omp
+  * Install split-file in llvm-X-tools (like lit)
+  * Add new symbols to libclang1:
+   - clang_CXRewriter_create
+   - clang_CXRewriter_dispose
+   - clang_CXRewriter_insertTextBefore
+   - clang_CXRewriter_overwriteChangedFiles
+   - clang_CXRewriter_removeText
+   - clang_CXRewriter_replaceText
+   - clang_CXRewriter_writeMainFileToStdOut
+   - clang_Cursor_getVarDeclInitializer
+   - clang_Cursor_hasVarDeclExternalStorage
+   - clang_Cursor_hasVarDeclGlobalStorage
+
+  [ John Paul Adrian Glaubitz ]
+  * Link against libatomic on mipsel to fix FTBFS in stage2
+  * Link against libatomic on powerpc to fix FTBFS in stage2
+  * Use dh-exec to exclude lib/libPolly*.a on powerpc and
+    powerpcspe from libclang-common-X.Y-dev.install.in
+  * Drop powerpcspe patches merged upstream:
+    - debian/patches/powerpcspe/D49754-powerpcspe-clang.diff
+    - debian/patches/powerpcspe/D54583-powerpcspe-double-parameter.diff
+    - debian/patches/powerpcspe/D56703-powerpcspe-register-spilling.diff
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 29 Sep 2020 20:57:09 +0200
+
+llvm-toolchain-snapshot (1:12~++20200715052739+d6e79e3dd6d-1~exp1) experimental; urgency=medium
+
+  [ Sylvestre Ledru ]
+  * Snapshot is now -12
+
+  [ Samuel Thibault ]
+  * debian/patches/hurd/hurd-EIEIO-undef.diff: Remove, upstreamed.
+  * debian/patches/hurd/hurd-cxx-paths.diff: Remove, upstreamed.
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 08 Jul 2020 15:19:14 +0200
+
+llvm-toolchain-11 (1:11.1.0-3) unstable; urgency=medium
+
+  * Add two patches from ubuntu to fix lto and gcc-11 build failures
+  * Use minimum version for cmake-test
+  * Don't require libclang-11-dev on cmake-test
+  * Add new llvm-11-linker-tools (from Ubuntu)
+  * Merge new fixes from branch=9
+  * clang-11: Drop Recommends: libomp-11-dev
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org>  Mon, 27 Sep 2021 15:50:46 +0200
+
+llvm-toolchain-11 (1:11.1.0-2) unstable; urgency=medium
+
+  * Adjust the cmake test to unbreak autopkgtest
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sun, 26 Sep 2021 22:02:43 +0200
+
+llvm-toolchain-11 (1:11.1.0-1) unstable; urgency=medium
+
+  [ Sylvestre Ledru ]
+  * Upload to unstable
+  * bump autopkgtest cmake version (Closes: #994501)
+    Thanks to Timo Röhling for the patch
+
+  [ Gianfranco Costamagna ]
+  * Cherry-pick upstream commit to fix a libgl1-mesa-dri texture failure.
+    (Closes: #989545)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Fri, 24 Sep 2021 12:54:55 +0200
+
+llvm-toolchain-11 (1:11.1.0-1~exp2) experimental; urgency=medium
+
+  * Fix the default binary path for scan-build-py to clang-11 (instead of
+    clang) - see scan-build-py-fix-default-bin.diff
+    tested by
+    https://github.com/opencollab/llvm-toolchain-integration-test-suite/
+
+  [ Krzysztof Aleksander Pyrkosz ]
+  * Add libxml2 as a dependency as it is necessary
+    for llvm manifest tool (llvm-mt)
+    (Closes: #990537)
+    - not really working for now
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sat, 17 Jul 2021 20:13:57 +0200
+
+llvm-toolchain-11 (1:11.1.0-1~exp1) experimental; urgency=medium
+
+  * New upstream release
+    Should be mostly minor fixes
+    Was driven by https://bugs.llvm.org/show_bug.cgi?id=46526
+    but as we are not impacted, I reverted the change in
+    debian/patches/revert-abi-change-clang.diff
+  * Also build lld on s390x
+  * Fix the path to analyze-{cc,c++} for scan-build-py with
+    --intercept-first (scan-build-py-fix-analyze-path.diff)
+  * Backport bug #47591 to fix a miscompilation in bpftrace
+    (Closes: #990220)
+  * Only enable libomp-11-doc on supported archs
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Mon, 01 Mar 2021 10:50:19 +0100
+
+llvm-toolchain-11 (1:11.0.1-2) unstable; urgency=medium
+
+  * Fix the changelog
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 06 Jan 2021 20:16:26 +0100
+
+llvm-toolchain-11 (1:11.0.1-1) unstable; urgency=medium
+
+  [ Sylvestre Ledru ]
+  * New stable release
+
+  [ Gianfranco Costamagna ]
+  * Drop old patch, upstream now
+  * Run dh_makeshlibs with -V parameter (Closes: #977814)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 06 Jan 2021 09:21:24 +0100
+
+llvm-toolchain-11 (1:11.0.1~+rc2-1) unstable; urgency=medium
+
+  * New snapshot release
+  * Remove 'gnu-assembler-compat.diff' - merged upstream
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sat, 19 Dec 2020 09:38:48 +0100
+
+llvm-toolchain-11 (1:11.0.1~+rc1-1) unstable; urgency=medium
+
+  [ Alexander Volkov ]
+  * Fix description of libclang-cpp11-dev package.
+
+  [ Sylvestre Ledru ]
+  * Upload to unstable to help doko with gcc
+    11.0.1 will be released before the freeze
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 16 Dec 2020 22:41:48 +0100
+
+llvm-toolchain-11 (1:11.0.1~+rc1-1~exp1) experimental; urgency=medium
+
+  [ Gianfranco Costamagna ]
+  * gnu-assembler-compat.diff: Add upstream patch D92052 to fix a
+    gcn offload compiler issue with gcc (Closes: #975692)
+
+  [ Sylvestre Ledru ]
+  * New snapshot release
+  * Remove fix-clang-format-bug-47589.patch (applied upstream)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Thu, 26 Nov 2020 10:14:43 +0100
+
+llvm-toolchain-9 (1:9.0.1-19) unstable; urgency=medium
+
+  * Add two patches from ubuntu to fix lto and gcc-11 build failures
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org>  Mon, 27 Sep 2021 15:39:19 +0200
+
+llvm-toolchain-9 (1:9.0.1-18) unstable; urgency=medium
+
+  [ Gianfranco Costamagna ]
+  * Cherry-pick nmu again. (version 16.1)
+  * bump minimum cmake version on qualify-clang.sh too
+  * simplify cmake test without minor version
+  [ Andreas Beckmann <anbe@debian.org> ]
+  * clang-9: Drop Recommends: libomp-9-dev which is not co-installable with
+    libomp-11-dev (and libomp-dev) for smoother upgrades of libomp-dev from
+    buster to bullseye.  (Closes: #990452)
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org>  Mon, 27 Sep 2021 15:02:13 +0200
+
+llvm-toolchain-9 (1:9.0.1-17) unstable; urgency=medium
+
+  * Remove an old breaks/replaces for 9 which was causing
+    some issues on Debian buster. Thanks to Julien Wajsberg
+    for the bug report
+  * bump autopkgtest cmake version (Closes: #994501)
+    Thanks to Timo Röhling for the patch
+  * cherry pick 68d5235cb58f988c71b403334cd9482d663841ab to build
+    with newer version of the kernel
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sat, 25 Sep 2021 16:00:36 +0200
+
+llvm-toolchain-9 (1:9.0.1-16) unstable; urgency=medium
+
+  * Only enable libomp-9-doc on supported archs
+
+  [ Adrian Bunk ]
+  * Fix the fuzzer build on i386.
+
+  [ Sylvestre Ledru ]
+  * Ignore some tests on i386 to get autopkgtest fixed (Closes: #972334)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sat, 07 Nov 2020 15:53:51 +0100
+
+llvm-toolchain-11 (1:11.0.0-4) unstable; urgency=medium
+
+  * Cherry-pick some fixes from
+    https://github.com/opencollab/llvm-toolchain-integration-test-suite/
+  * Only install hwasan_symbolize when found
+  * Don't use gold on ppc64el. It fails to build in that case
+    (Closes: #972317)
+
+  [ John Paul Adrian Glaubitz ]
+  * Limit maximum parallel link jobs to 4 on sparc and sparc64
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sat, 31 Oct 2020 21:49:01 +0100
+
+llvm-toolchain-11 (1:11.0.0-3) unstable; urgency=medium
+
+  [ Sylvestre Ledru ]
+  * Rebuild to fix the coinstall issues (Closes: #972323)
+  * Replace use of deprecated $ADTTMP with $AUTOPKGTEST_TMP.
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Mon, 19 Oct 2020 14:21:50 +0200
+
+llvm-toolchain-11 (1:11.0.0-2) unstable; urgency=medium
+
+  * Fix a clang-format issue. Fix bug #47589
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Mon, 12 Oct 2020 15:15:27 +0200
+
+llvm-toolchain-11 (1:11.0.0-1) unstable; urgency=medium
+
+  * New upstream release
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Mon, 12 Oct 2020 11:14:19 +0200
+
+llvm-toolchain-11 (1:11.0.0~+rc6-1) unstable; urgency=medium
+
+  [ Sylvestre Ledru ]
+  * New rc release
+  * remove all artifacts after tests
+
+  [ Gianfranco Costamagna ]
+  * qualify-clang.sh: exclude z3 tests when support is not available,
+    not based on libz3-dev installation but on the error returned by
+    clang invocation
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 07 Oct 2020 16:38:40 +0200
+
+llvm-toolchain-11 (1:11.0.0~+rc5-1) unstable; urgency=medium
+
+  * New rc release
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 30 Sep 2020 20:15:40 +0200
+
+llvm-toolchain-11 (1:11.0.0~+rc4-1) unstable; urgency=medium
+
+  * New rc release
+  * Fix one more test in autopkgtest
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Mon, 28 Sep 2020 22:21:47 +0200
+
+llvm-toolchain-11 (1:11.0.0~+rc3-2) unstable; urgency=medium
+
+  * Update of the symbol list of libomp5:
+    - GOMP_loop_maybe_nonmonotonic_runtime_next
+    - GOMP_loop_maybe_nonmonotonic_runtime_start
+    - GOMP_loop_nonmonotonic_runtime_next
+    - GOMP_loop_nonmonotonic_runtime_start
+    - GOMP_loop_ull_maybe_nonmonotonic_runtime_next
+    - GOMP_loop_ull_maybe_nonmonotonic_runtime_start
+    - GOMP_loop_ull_nonmonotonic_runtime_next
+    - GOMP_loop_ull_nonmonotonic_runtime_start
+    - GOMP_parallel_loop_maybe_nonmonotonic_runtime
+    - GOMP_parallel_loop_nonmonotonic_runtime
+    - omp_display_env
+  * Bring back LLVM_POLLY_LINK_INTO_TOOLS=ON to workaround the error
+    clang (LLVM option parsing): Unknown command line argument '-polly'.
+    Try: 'clang (LLVM option parsing) --help'
+    Also found in autopkgtest
+  * In the autopkgtest tests, update the opt arguments (-q removed and
+    -basicaa renamed to -basic-aa)
+  * Disable test executions on mipsel (timeout)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sun, 27 Sep 2020 14:26:16 +0200
+
+llvm-toolchain-11 (1:11.0.0~+rc3-1) unstable; urgency=medium
+
+  * New rc release
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 22 Sep 2020 17:19:40 +0200
+
+llvm-toolchain-11 (1:11.0.0~+rc2-6) unstable; urgency=medium
+
+  * Fix "libc++-11-dev includes libc++abi-11-dev headers"
+    (Closes: #969274)
+  * Install llvm examples in llvm-11-examples (Closes: #969339)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Mon, 07 Sep 2020 13:32:26 +0200
+
+llvm-toolchain-11 (1:11.0.0~+rc2-5) unstable; urgency=medium
+
+  [ John Paul Adrian Glaubitz ]
+  * Link against libatomic on powerpc to fix FTBFS in stage2
+  * Use dh-exec to exclude lib/libPolly*.a on powerpc and
+    powerpcspe from libclang-common-X.Y-dev.install.in
+
+  [ Gianfranco Costamagna ]
+  * autopkgtests: ignore binfmts enable command return value.
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org>  Mon, 31 Aug 2020 12:26:58 +0200
+
+llvm-toolchain-11 (1:11.0.0~+rc2-4) unstable; urgency=medium
+
+  * integration-test-suite-test: change the configuration for 11
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Fri, 28 Aug 2020 23:08:33 +0200
+
+llvm-toolchain-11 (1:11.0.0~+rc2-3) unstable; urgency=medium
+
+  * Fix testsuite by ignoring binfmts test
+    (can't be enabled on autopkgtests)
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org>  Fri, 28 Aug 2020 21:56:49 +0200
+
+llvm-toolchain-11 (1:11.0.0~+rc2-2) unstable; urgency=medium
+
+  [ Gianfranco Costamagna ]
+  * Disable ocaml support on i386, not reasonable to support it there
+    (specially for Ubuntu)
+  * Enable binfmt support before using it in tests, to fix them
+
+  [ Sylvestre Ledru ]
+  * Also link against -latomic on mipsel to fix
+   /usr/[...]/atomic_base.h:426: undefined reference to `__atomic_load_8'
+   for lld to fix the FTBFS
+  * Fix a FTBFS on armel with libcxx-armhf-ftbfs.diff
+    atomic:2780:16: error: use of undeclared identifier '__libcpp_signed_lock_free'
+    typedef atomic<__libcpp_signed_lock_free> atomic_signed_lock_free;
+               ^
+    atomic:2781:16: error: unknown type name '__libcpp_unsigned_lock_free'; did you mean 'atomic_signed_lock_free'?
+    typedef atomic<__libcpp_unsigned_lock_free> atomic_unsigned_lock_free;
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 25 Aug 2020 10:44:00 +0200
+
+llvm-toolchain-11 (1:11.0.0~+rc2-1) unstable; urgency=medium
+
+  * New snapshot release
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Thu, 20 Aug 2020 22:17:47 +0200
+
+llvm-toolchain-11 (1:11.0.0~+rc1-2) unstable; urgency=medium
+
+  * Don't install ompt-multiplex.h on armhf, mipsel and mips64el
+    (Closes: #967944)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 05 Aug 2020 15:23:25 +0200
+
+llvm-toolchain-11 (1:11.0.0~+rc1-1) unstable; urgency=medium
+
+  * Testing release
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 29 Jul 2020 17:46:57 +0200
+
+llvm-toolchain-11 (1:11~++20200715043845+0e377e253c1-1~exp1) experimental; urgency=medium
+
+  [ Sylvestre Ledru ]
+  * branching of snapshot into 11
+
+  [ Samuel Thibault ]
+  * debian/patches/hurd/hurd-EIEIO-undef.diff: Remove, upstreamed.
+  * debian/patches/hurd/hurd-cxx-paths.diff: Remove, upstreamed.
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 15 Jul 2020 16:30:36 +0200
+
+llvm-toolchain-snapshot (1:11~++20200701093119+ffee8040534-1~exp1) experimental; urgency=medium
+
+  * New snapshot release
+  * libc++ requires the LLVM_PATH, adding it
+  * Remove no-z3.patch, seems to be merged upstream
+  * No longer install clang-import-test (upstream change)
+    See https://reviews.llvm.org/D82169
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 01 Jul 2020 09:34:28 +0200
+
+llvm-toolchain-snapshot (1:11~++20200623122106+cd6848f6e1d-1~exp1) experimental; urgency=medium
+
+  * experimental New snapshot release
+  * Add -DLLVM_POLLY_LINK_INTO_TOOLS=OFF to workaround
+    https://bugs.llvm.org/show_bug.cgi?id=45571
+  * New symbol clang_Type_getValueType added
+  * Install usr/lib/llvm-11/lib/cmake/lld/*.cmake
+    in liblld-11-dev
+  * Upstream change ad97ccf6b26a29262c9cbf5b3e7f6e84c6dcf55f
+    broke clangd-atomic-cmake.patch causing some undef symbol on
+    i386 and atomic
+  * Also install ompt-multiplex.h in libomp-X-dev
+  * revert-sphinx-deprecation.diff: revert the sphinx update as it breaks
+    debian buster
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 23 Jun 2020 00:24:07 +0200
+
+llvm-toolchain-snapshot (1:11~++20200621103028+10b0539772d-1~exp1) UNRELEASED; urgency=medium
+
+  * experimental New snapshot release
+  * Add -DLLVM_POLLY_LINK_INTO_TOOLS=OFF to workaround
+    https://bugs.llvm.org/show_bug.cgi?id=45571
+  * New symbol clang_Type_getValueType added
+  * Install usr/lib/llvm-11/lib/cmake/lld/*.cmake
+    in liblld-11-dev
+  * Upstream change ad97ccf6b26a29262c9cbf5b3e7f6e84c6dcf55f
+    broke clangd-atomic-cmake.patch causing some undef symbol on
+    i386 and atomic
+  * Also install ompt-multiplex.h in libomp-X-dev
+  * revert-sphinx-deprecation.diff: revert the sphinx update as it breaks debian
+    buster
+  * experimental New snapshot release
+  * Add -DLLVM_POLLY_LINK_INTO_TOOLS=OFF to workaround
+    https://bugs.llvm.org/show_bug.cgi?id=45571
+  * New symbol clang_Type_getValueType added
+  * Install usr/lib/llvm-11/lib/cmake/lld/*.cmake
+    in liblld-11-dev
+  * Upstream change ad97ccf6b26a29262c9cbf5b3e7f6e84c6dcf55f
+    broke clangd-atomic-cmake.patch causing some undef symbol on
+    i386 and atomic
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sun, 21 Jun 2020 10:33:23 +0200
+
+llvm-toolchain-snapshot (1:11~++20200520051603+e8f6b0e583c-1~exp1) UNRELEASED; urgency=medium
+
+  * experimental New snapshot release
+  * Add -DLLVM_POLLY_LINK_INTO_TOOLS=OFF to workaround
+    https://bugs.llvm.org/show_bug.cgi?id=45571
+  * New symbol clang_Type_getValueType added
+  * Install usr/lib/llvm-11/lib/cmake/lld/*.cmake
+    in liblld-11-dev
+  * Upstream change ad97ccf6b26a29262c9cbf5b3e7f6e84c6dcf55f
+    broke clangd-atomic-cmake.patch causing some undef symbol on
+    i386 and atomic
+  * experimental New snapshot release
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 20 May 2020 17:19:34 +0200
+
+llvm-toolchain-snapshot (1:11~++20200411120955+c65e6079fc9-1~exp1) experimental; urgency=medium
+
+  * New snapshot release
+  * Bring back libc++-experimental
+  * remove no-cgi.patch - applied upstream
+  * Also install liblldMachO2.a in liblld
+  * Reorder the cmake arg
+  * Update the copyright file with recent changes (Closes: #956287)
+    Thanks to Michael Lustfield for the detective work
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sat, 11 Apr 2020 12:27:18 +0200
+
+llvm-toolchain-snapshot (1:11~++20200409051253+d08105482e1-1~exp1) experimental; urgency=medium
+
+  * New snapshot release
+  * Bring back libc++-experimental
+  * remove no-cgi.patch - applied upstream
+  * Also install liblldMachO2.a in liblld
+  * Reorder the cmake arg
+  * Update the copyright file with recent changes (Closes: #956287)
+    Thanks to Michael Lustfield for the detective work
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Thu, 09 Apr 2020 17:21:05 +0200
+
+llvm-toolchain-snapshot (1:11~++20200307074845+ec1d1f6ae70-1~exp1) experimental; urgency=medium
+
+  [ Sylvestre Ledru ]
+  * experimental New snapshot release
+  * Install clang-tidy headers in libclang-X.Y-dev
+    Path: usr/lib/llvm-11/include/clang-tidy/
+    Introduced upstream in https://reviews.llvm.org/D73236
+
+  [ Samuel Thibault ]
+  * hurd/hurd-cxx-paths.diff: Drop part of patch applied upstream, fix it so
+    it can be applied.
+  * clang-tools-X.Y.install.in: Do not try to install hwasan_symbolize on
+    hurd-any.
+
+  [ Gianfranco Costamagna ]
+  * Add patch to port from old cgi to new html python3 method
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sat, 07 Mar 2020 19:51:40 +0100
+
+llvm-toolchain-snapshot (1:11~++20200123111717+04fd2041561-1~exp1) experimental; urgency=medium
+
+  [ Sylvestre Ledru ]
+  * experimental New snapshot release - 11
+  * Merge recent 9 changes (python 3 and testsuite mostly)
+
+  [ Gianfranco Costamagna ]
+  * fix lldb-10 -P path print (Closes: #945445)
+  * Fix lldb python installation path and symlinks
+  * Drop version constraint from libffi-dev library, satisfied since
+    old-old-stable
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Thu, 23 Jan 2020 14:52:30 +0100
+
+llvm-toolchain-10 (1:10.0.1-8) unstable; urgency=medium
+
+  * Don't use gold on ppc64el. It fails to build in that case
+    (Closes: #972317)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sat, 31 Oct 2020 14:13:25 +0100
+
+llvm-toolchain-10 (1:10.0.1-7) unstable; urgency=medium
+
+  [ Samuel Thibault ]
+  * debian/patches/hurd/hurd-cxx-paths.diff: Add missing GCC installation
+    initialization.
+
+  [ Sylvestre Ledru ]
+  * Replace use of deprecated $ADTTMP with $AUTOPKGTEST_TMP.
+  * Rebuild to address the incompat issues (Closes: #972282)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Thu, 22 Oct 2020 22:29:07 +0200
+
+llvm-toolchain-10 (1:10.0.1-6) unstable; urgency=medium
+
+  [ Sylvestre Ledru ]
+  * Add debian/* to the copyright file. Uses the same license
+    as LLVM
+
+  [ Julien Cristau ]
+  * Cherry-pick "[PowerPC] PPCBoolRetToInt: Don't translate Constant's
+    operands".  Fixes rustc crash building firefox-esr.
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 02 Sep 2020 13:55:46 +0200
+
+llvm-toolchain-10 (1:10.0.1-5) unstable; urgency=medium
+
+  [ John Paul Adrian Glaubitz ]
+  * Use dh-exec to exclude lib/libPolly*.a on powerpc and
+    powerpcspe from libclang-common-X.Y-dev.install.in
+
+  [ Gianfranco Costamagna ]
+  * autopkgtests: ignore binfmts enable command return value.
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org>  Mon, 31 Aug 2020 12:28:24 +0200
+
+llvm-toolchain-10 (1:10.0.1-4) unstable; urgency=medium
+
+  * Fix testsuite by ignoring binfmts test
+    (can't be enabled on autopkgtests)
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org>  Fri, 28 Aug 2020 21:54:05 +0200
+
+llvm-toolchain-10 (1:10.0.1-3) unstable; urgency=medium
+
+  * Fix testsuite by enabling binfmts support before using it
+    (the default is disabled)
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org>  Thu, 27 Aug 2020 12:42:20 +0200
+
+llvm-toolchain-10 (1:10.0.1-2) unstable; urgency=medium
+
+  [ Samuel Thibault ]
+  * patches/hurd/hurd-cxx-paths.diff: Refresh, some of the factorization was
+    backported from 11 to 10.
+
+  [ Gianfranco Costamagna ]
+  * debian/patches/mips-force-nomadd4.patch: Apply and rebase patch to disable
+    nomadd4 on mips* (Closes: #964989)
+    - thanks Yunqiang Su <wzssyqa@gmail.com> for the patch
+
+  [ Steve Langasek ]
+  * Drop ocaml support on i386, which pulls in a series of packages which
+    is not reasonable to support.
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org>  Sun, 23 Aug 2020 22:57:55 +0200
+
+llvm-toolchain-10 (1:10.0.1-1) unstable; urgency=medium
+
+  * New release
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 21 Jul 2020 18:29:06 +0200
+
+llvm-toolchain-10 (1:10.0.1~+rc4-1) unstable; urgency=medium
+
+  * New RC release (of course, I was wrong)
+  * Update the binfmt-support postinstall to match what is done elsewhere
+    in Debian
+  * Add binfmt-support to one of the autopkgtest tests
+    And make sure that the test is only executed when installed correctly
+    Otherwise, fails with
+    "./foo.bc: cannot execute binary file: Exec format error"
+  * patches/remove-trailing-space-version.diff: cherry-pick an upstream patch
+    to address https://bugs.llvm.org/show_bug.cgi?id=38998#c15
+    trailing whitespace of clang full version causing a display issue
+    when building the linux kernel with clang
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 08 Jul 2020 10:49:26 +0200
+
+llvm-toolchain-10 (1:10.0.1~+rc3-1) unstable; urgency=medium
+
+  * New rc release. Should be the last (this is why I am
+    uploading to unstable)
+  * Ship with integration-test-suite-test and run it with autopkgtest
+    integration-test-suite-test is a project started by Serge Guelton
+    and myself.
+    The goal is to provide a set of tests to verify that llvm/clang/etc
+    are working as expected in a distro (Linux, BSD, etc).
+    But also to bring a set of expectations of what a LLVM toolchain should
+    looks like when shipping to users.
+    Serge is taking care of that work for Fedora/Redhat.
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 07 Jul 2020 09:44:59 +0200
+
+llvm-toolchain-10 (1:10.0.1~+rc2-1~exp1) experimental; urgency=medium
+
+  * New rc release
+  * Pass CLANG_VENDOR to CLANG_BOOTSTRAP_PASSTHROUGH
+    Fix https://bugs.llvm.org/show_bug.cgi?id=38998
+    For our friends of https://github.com/ClangBuiltLinux/
+  * remove try-to-fix-polly-link.patch and D74453-riscv-atomic_cmp_xchg.diff
+    (applied upstream)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sat, 27 Jun 2020 11:28:28 +0200
+
+llvm-toolchain-10 (1:10.0.1~+rc1-1~exp1) experimental; urgency=medium
+
+  [ Sylvestre Ledru ]
+  * first rc of 10.0.1
+  * Enable LLVM_ENABLE_DUMP (Closes: #956966)
+  * Move binfmt-support as Recommends llvm-10-runtime
+    instead of a strong dependencies (Closes: #958127)
+  * build libc++ with -DLIBCXX_USE_COMPILER_RT=YES
+    and -DLIBCXXABI_USE_COMPILER_RT=YES
+  * Remove D76596.diff (merged upstream)
+
+  [ Gianfranco Costamagna ]
+  * Don't run tests on riscv64/Ubuntu for now, the virtual machines timeout
+    during testsuite (probably lack of proper capable hardware to run it)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 19 May 2020 08:17:26 +0200
+
+llvm-toolchain-10 (1:10.0.0-4) unstable; urgency=medium
+
+  * Also ship polly libs in libclang-common-10-dev.
+    Fixes bug #44870 (upstream)
+  * move risc patches into their own directory
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Fri, 10 Apr 2020 10:27:41 +0200
+
+llvm-toolchain-10 (1:10.0.0-3) unstable; urgency=medium
+
+  * ppc64el/autopkgtest: Just like with arm64, ignore two tests
+  * Update the copyright file with recent changes (Closes: #956287)
+    Thanks to Michael Lustfield for the detective work
+
+  [ Jessica Clarke ]
+  * Cherry-pick upstream patch D74453 to fix atomic compare-and-swap on
+    riscv64.
+
+  [ William Grant ]
+  * debian/patches/riscv64-multilib-empty.patch: Adjust riscv64 GCC detector
+    to also check for existence of crtbegin.o in the default multilib dir,
+    like most other ports. Fixes FTBFS on riscv64, since on Ubuntu
+    /usr/lib/gcc/riscv64-linux-gnu/10 exists but is empty (gcc-10-base is
+    installed, but libgcc-10-dev is not).
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Thu, 02 Apr 2020 21:48:13 +0200
+
+llvm-toolchain-10 (1:10.0.0-2) unstable; urgency=medium
+
+  [ Dimitri John Ledkov <xnox@ubuntu.com> ]
+  * s390x: set default abi to z196 for debian, and z13 for ubuntu.
+    LP: #1864226
+
+  [ Matthias Klose <doko@ubuntu.com> ]
+  * Apply D76596.diff, proposed backport from the trunk. LP: #1867173.
+    This was causing postgresql to FTBFS with llvm 10
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org>  Fri, 27 Mar 2020 05:16:28 +0100
+
+llvm-toolchain-10 (1:10.0.0-1) unstable; urgency=medium
+
+  * New release
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 24 Mar 2020 17:37:07 +0100
+
+llvm-toolchain-10 (1:10.0.0~+rc6-1) unstable; urgency=medium
+
+  [ Sylvestre Ledru ]
+  * Sixth RC release
+  * Really fix the arm64 autopkgtest
+
+  [ Gianfranco Costamagna ]
+  * debian/patches/d21664cce1db8debe2528f36b1fbd2b8af9c9401.patch:
+    - cherry-pick upstream commit to hopefully unbreak mesa builds
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Mon, 23 Mar 2020 20:39:36 +0100
+
+llvm-toolchain-10 (1:10.0.0~+rc5-1) unstable; urgency=medium
+
+  * Fifth RC release
+  * Make autopkgtest/qualify-clang.sh work on arm64
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Thu, 19 Mar 2020 15:59:43 +0100
+
+llvm-toolchain-10 (1:10.0.0~+rc4-1) unstable; urgency=medium
+
+  * Fourth RC release
+  * Disable the emmintrin.h build test in qualify-clang.sh on arm64
+  * Add some tests for clangd usage
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Fri, 13 Mar 2020 20:42:36 +0100
+
+llvm-toolchain-10 (1:10.0.0~+rc3-1) unstable; urgency=medium
+
+  * Third RC release
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 04 Mar 2020 14:56:12 +0100
+
+llvm-toolchain-10 (1:10.0.0~+rc2-3) unstable; urgency=medium
+
+  * Disable libfuzzer on x86
+    https://bugs.llvm.org/show_bug.cgi?id=43677
+    FTBFS otherwise
+  * Add a libclang-cpp10-dev package (needed to unbreak the cmake)
+    https://bugs.llvm.org/show_bug.cgi?id=42432
+    This makes libclang-cpp10 usable and polish the links and dups
+  * Fix the *clang* desc as C++17 is supported
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sun, 01 Mar 2020 20:59:25 +0100
+
+llvm-toolchain-10 (1:10.0.0~+rc2-2) unstable; urgency=medium
+
+  [ Sylvestre Ledru ]
+  * Bring back libfuzzer, for some reasons I don't remember
+    I disabled it:
+    https://bugs.llvm.org/show_bug.cgi?id=41956
+  * Silent the polly tests in debian/qualify-clang.sh
+    clang (LLVM option parsing): Unknown command line argument
+    '-polly'.  Try: 'clang (LLVM option parsing) --help'
+
+  [ Aurelien Jarno ]
+  * Also disable hwasan_symbolize on mipsel mips64el riscv64
+
+  [ Gianfranco Costamagna ]
+  * Patch to convert old python3 cgi method into the new html one
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sat, 29 Feb 2020 14:04:22 +0100
+
+llvm-toolchain-10 (1:10.0.0~+rc2-1) unstable; urgency=medium
+
+  * Upload to unstable to get ci.debian.net testing
+  * Also disable hwasan_symbolize on armel s390x powerpc ppc64
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sun, 16 Feb 2020 14:50:53 +0100
+
+llvm-toolchain-10 (1:10.0.0~+rc2-1~exp1) experimental; urgency=medium
+
+  * Second RC release
+    - Should fix the s390x issue (reported upstream)
+    (Closes: #950900)
+  * Do not try to install hwasan_symbolize on armhf ppc64el
+    as it isn't built
+    (Closes: #950899)
+
+  [ Samuel Thibault ]
+  * hurd/hurd-cxx-paths.diff: Fix patch so it can be applied.
+  * clang-tools-X.Y.install.in: Do not try to install hwasan_symbolize on
+    hurd-any.
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Thu, 06 Feb 2020 10:37:39 +0100
+
+llvm-toolchain-10 (1:10.0.0~+rc1-1~exp1) experimental; urgency=medium
+
+  [ Gianfranco Costamagna ]
+  * fix lldb-10 -P path print (Closes: #945445)
+  * Fix lldb python installation path and symlinks
+  * Drop version constraint from libffi-dev library, satisfied since
+    old-old-stable
+
+  [ Sylvestre Ledru ]
+  * First RC release
+  * For now, disable ThinLTO usage because:
+      - LLVM_ENABLE_LTO doesn't work with gcc >= 9 (option not accepted)
+      - BOOTSTRAP_LLVM_ENABLE_LTO is producing some large binary
+        (uses llvm ir instead of binary code)
+        See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=943623
+  * Thanks to this previous change, don't hardcode gcc 8
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Mon, 03 Feb 2020 10:30:50 +0100
+
+llvm-toolchain-10 (1:10~++20200121023453+de4b2a7fad6-1~exp1) experimental; urgency=medium
+
+  * Branch llvm-toolchain-10 into its own branch
+  * Merge recent 9 changes (python 3 and testsuite mostly)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 21 Jan 2020 14:38:02 +0100
+
+llvm-toolchain-snapshot (1:10~+20191229111838+6991d5728f1-1~exp1) experimental; urgency=medium
+
+  * experimental New snapshot release
+  * Add a '+' in the version (as the old upload is high than the one without)
+    Will be removed in 11
+  * Sync 9 into 10
+  * Change of the version layout date+short git version
+  * Install /usr/lib/llvm-@LLVM_VERSION@/lib/libarcher_static.a
+    /usr/lib/llvm-@LLVM_VERSION@/lib/libarcher.so in libomp-X-dev
+  * Install usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION_FULL@/bin/hwasan_symbolize in clang-tools-X.Y
+  * Introduce python3-clang-10 (closes: #942826)
+  * Remove python-lldb-10
+  * Remove Python 2 deps (Closes: #945695)
+  * Disable the polly testsuite:
+    - freezing in the current build
+    - not a big deal if failing
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sun, 29 Dec 2019 12:47:15 +0100
+
+llvm-toolchain-snapshot (1:10~+201911120943210600592dd459242-1~exp1) experimental; urgency=medium
+
+  * Repack to move to git
+  * Change the versioning scheme to git:
+    Infos of the last commit
+    - ~+ (this syntax is to make sure that this version > ~svn)
+    - date
+    - hour/minute/second
+    - short git hash
+  * Move the checkout of the sources from svn to git
+  * Use -DLLVM_ENABLE_PROJECTS instead of symlinks
+  * Use -DBOOTSTRAP_LLVM_ENABLE_LTO instead of
+    -DLLVM_ENABLE_LTO (not sure what it wasn't done)
+  * clang: Force the installation of libclang-cpp with the exact same version
+    and remove libclang as dep
+  * Bunch of changes coming from the branch 9
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 12 Nov 2019 16:51:40 +0100
+
+llvm-toolchain-snapshot (1:10~svn375339-1~exp1) experimental; urgency=medium
+
+  * New snapshot release
+  * Last upload before the move to git
+  * lldb-libname.diff: disable for now, seems it that it is now handled
+    by cmake https://reviews.llvm.org/D68858. TODO: check it still work
+  * Remove "revert-r373786-libclang-cpp.diff" (applied upstream)
+  * Add dependency between libclang-cpp => libllvm with the exact version
+    (Closes: #942526)
+  * Build using -DCLANG_LINK_CLANG_DYLIB=ON to force the usage of dynamic
+    library instead of static library when building clang tools.
+    Decreases the total size from 510M to 278M (amd64)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sat, 19 Oct 2019 12:19:36 +0200
+
+llvm-toolchain-snapshot (1:10~svn374655-1~exp1) experimental; urgency=medium
+
+  * New snapshot release
+  * Install pp-trace, clang-move and clang-offload-wrapper in
+    clang-tools-10
+  * Revert
+    "[clang-tools-extra] [cmake] Link against libclang-cpp whenever
+    possible" as it introduces a dep from libclang to libclang-cpp
+    Breaking the symbol list (and people should like to libclang-cpp
+    if they want to use C++ api)
+    https://bugs.llvm.org/show_bug.cgi?id=43589
+  * Added a check in debian/rules to prevent that from happening again
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sat, 12 Oct 2019 16:27:53 +0200
+
+llvm-toolchain-snapshot (1:10~svn372920-1~exp1) experimental; urgency=medium
+
+  * New snapshot release
+  * Add two new symbols to libclang1:
+    - clang_install_aborting_llvm_fatal_error_handler
+    - clang_uninstall_llvm_fatal_error_handler
+  * site-packages renamed to dist-packages in python3-lldb-10
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sat, 07 Sep 2019 09:07:01 +0200
+
+llvm-toolchain-snapshot (1:10~svn370840-1~exp1) experimental; urgency=medium
+
+  * New snapshot release
+  * Update of the license file. Upstream moved to Apache 2
+    with LLVM exception (Closes: #935149)
+  * Debian moved to gcc-9. This gcc version now refuses -flto="Thin"
+    Move from LLVM_ENABLE_LTO="Thin" to BOOTSTRAP_LLVM_ENABLE_LTO="Thin"
+    to mitigate the issue (the argument should be passed only at the
+    second stage of the build process)
+    See https://bugs.llvm.org/show_bug.cgi?id=43193
+  * Rename libclang-cpp1-10 to libclang-cpp10 to match the soname and libllvm10
+    naming (at some point, all libs should do that ...)
+  * New symbols in libomp5:
+   - GOMP_loop_nonmonotonic_dynamic_next
+   - GOMP_loop_nonmonotonic_dynamic_start
+   - GOMP_loop_nonmonotonic_guided_next
+   - GOMP_loop_nonmonotonic_guided_start
+   - GOMP_loop_ull_nonmonotonic_dynamic_next
+   - GOMP_loop_ull_nonmonotonic_dynamic_start
+   - GOMP_loop_ull_nonmonotonic_guided_next
+   - GOMP_loop_ull_nonmonotonic_guided_start
+   - GOMP_parallel_loop_nonmonotonic_dynamic
+   - GOMP_parallel_loop_nonmonotonic_guided
+  * Workaround bug https://bugs.llvm.org/show_bug.cgi?id=42994
+    (fails to link on Debian buster)
+  * for Ubuntu xenial: pass PYTHON_EXE to the stage2 build
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 04 Sep 2019 11:42:50 +0200
+
+llvm-toolchain-snapshot (1:10~svn368740-1~exp1) experimental; urgency=medium
+
+  [ Gianfranco Costamagna ]
+  * Fixed wrong shlib generation of libomp5 library
+  * clangd: fix missing epoch in breaks/replaces relationship
+  * testsuite, add python, used in some test
+  * Cherry-pick various fixes from branch 8 and 9, do not break anymore with libllvm3.9v4
+
+  [ Aurelien Jarno ]
+  * Add support for riscv64:
+    - Always link with -latomic on riscv64.
+    - patches/clang-riscv64-multiarch.diff: add multiarch paths for riscv64.
+    - patches/clang-riscv64-rv64gc.diff: default to lp64d ABI and rv64gc ISA.
+  * Document riscv64 debian specific changes in README.source.
+
+  [ Sylvestre Ledru ]
+  * New snapshot release
+  * lldb-mi removed
+  * Ship clangd-10 as a new package (Closes: #932432)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 13 Aug 2019 21:37:46 +0200
+
+llvm-toolchain-snapshot (1:10~svn368706-1~exp1) experimental; urgency=medium
+
+  [ Sylvestre Ledru ]
+  * lldb-mi removed
+
+  [ Gianfranco Costamagna ]
+  * clangd: fix missing epoch in breaks/replaces relationship
+  * testsuite, add python, used in some test
+  * Cherry-pick various fixes from branch 8 and 9, do not break anymore with libllvm3.9v4
+
+  [ Sylvestre Ledru ]
+  * New snapshot release
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 13 Aug 2019 17:55:41 +0200
+
+llvm-toolchain-snapshot (1:10~svn366440-1~exp1) experimental; urgency=medium
+
+  * New version in snapshot (10)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Thu, 18 Jul 2019 18:58:32 +0200
+
+llvm-toolchain-9 (1:9.0.1-15) unstable; urgency=low
+
+  * Replace use of deprecated $ADTTMP with $AUTOPKGTEST_TMP.
+  * Ensure fixfilepath feature is disabled.  The fixfilepath
+    feature sets a -ffile-prefix-map flag, which is only
+    supported in clang-10. (Closes: #972751).
+    Thanks to Vagrant Cascadian for the patch
+  * Don't use gold on ppc64el. It fails to build in that case
+    (Closes: #972317)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sat, 31 Oct 2020 14:09:15 +0100
+
+llvm-toolchain-9 (1:9.0.1-14) unstable; urgency=medium
+
+  * debian/patches/b288d90b39f4b905c02092a9bfcfd6d78f99b191.patch:
+  * debian/patches/3185c30c54d0af5bffbff3bcfd721668d086ff10.patch:
+    - cherry-pick upstream fixes for ppc64el build failure (Closes: #968174)
+  * Previous version closed bug: 964988 (Closes: #964988)
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org>  Sat, 15 Aug 2020 21:53:41 +0200
+
+llvm-toolchain-9 (1:9.0.1-13) unstable; urgency=medium
+
+  [ Aurelien Jarno ]
+  * Add mips-force-nomadd4.diff to default to +nomadd4 on MIPS. (Closes:
+    #964988)
+
+  [ Ximin Luo ]
+  * Add 373184.patch to fix soundness issue affecting rustc. (Closes: #959877)
+  * Add f8e146f3430de3a6cd904f3f3f7aa1bfaefee14c.patch to fix big-endian
+    miscompilation affecting rustc.
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 07 Jul 2020 18:18:00 +0200
+
+llvm-toolchain-9 (1:9.0.1-12) unstable; urgency=medium
+
+  [ Jessica Clarke ]
+  * Cherry-pick upstream patch D74453 to fix atomic compare-and-swap on
+    riscv64.
+
+  [ William Grant ]
+  * debian/patches/riscv64-multilib-empty.patch: Adjust riscv64 GCC detector
+    to also check for existence of crtbegin.o in the default multilib dir,
+    like most other ports. Fixes FTBFS on riscv64, since on Ubuntu
+    /usr/lib/gcc/riscv64-linux-gnu/10 exists but is empty (gcc-10-base is
+    installed, but libgcc-10-dev is not).
+
+ -- Jessica Clarke <jrtc27@debian.org>  Wed, 01 Apr 2020 16:23:55 +0100
+
+llvm-toolchain-9 (1:9.0.1-11) unstable; urgency=medium
+
+  * Allow one to build g++ 9 & 10 to fix a gcc build dependency
+    (closes: #955144)
+    And disable thin lto on all archs
+    It needs gcc-8 after after 8 will reject the -flto=thin arg
+    And BOOTSTRAP_LLVM_ENABLE_LTO will generate .so with llvm IR instead
+    of native code
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 31 Mar 2020 21:11:56 +0200
+
+llvm-toolchain-9 (1:9.0.1-10) unstable; urgency=medium
+
+  * debian/patches/947f9692440836dcb8d88b74b69dd379d85974ce.patch:
+    - cherry-pick upstream fix for glibc 2.31
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org>  Sat, 07 Mar 2020 01:01:35 +0100
+
+llvm-toolchain-9 (1:9.0.1-9) unstable; urgency=medium
+
+  * Add patch to fix python3.8 test failures with deprecated cgi method, move
+    to new html parser
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org>  Tue, 25 Feb 2020 15:28:58 +0100
+
+llvm-toolchain-9 (1:9.0.1-8) unstable; urgency=medium
+
+  * Add two new python autopkgtests to avoid regressions in the future
+  * Fix m68k architecture
+  * Add Myself to uploaders
+  * Revert site-packages/dist-packages hacking mv, this is done upstream now
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org>  Thu, 23 Jan 2020 14:30:57 +0100
+
+llvm-toolchain-9 (1:9.0.1-7) unstable; urgency=medium
+
+  * Add dependency on libclang-cpp-9 from llvm-9-dev (Closes: #946761)
+  * fix lldb-9 -P path print (Closes: #945445)
+  * Fix lldb python installation path and symlinks
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org>  Tue, 21 Jan 2020 13:05:06 +0100
+
+llvm-toolchain-9 (1:9.0.1-6) unstable; urgency=medium
+
+  * Team upload.
+  * Add some more python3 shebangs (Closes: #948497)
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org>  Fri, 10 Jan 2020 09:37:55 +0100
+
+llvm-toolchain-9 (1:9.0.1-5) unstable; urgency=medium
+
+  * Install clang in Python3 directory (Closes: #948409)
+    - thanks Mike Gabriel for the helpful report!
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org>  Wed, 08 Jan 2020 12:15:06 +0100
+
+llvm-toolchain-9 (1:9.0.1-4) unstable; urgency=medium
+
+  * Source only upload to sid
+  * Force a python3 shebang on python modules to fix testsuite
+  * Do not run z3 tests if z3 support is not enabled
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org>  Sat, 04 Jan 2020 08:52:02 +0100
+
+llvm-toolchain-9 (1:9.0.1-3) unstable; urgency=medium
+
+  [ John Paul Adrian Glaubitz ]
+  * Build polly docs and manpages only when polly is enabled (Closes: #947236)
+
+  [ Sylvestre Ledru ]
+  * Introduce python3-clang-9 (closes: #942826)
+  * Remove python-lldb-9
+  * Remove Python 2 deps (Closes: #945695)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sun, 29 Dec 2019 12:37:34 +0100
+
+llvm-toolchain-9 (1:9.0.1-2) unstable; urgency=medium
+
+  [ James Clarke ]
+  * Include upstream patch D71028 for rust mips tests (Closes: #946874)
+
+  [ Aurelien Jarno ]
+  * Include upstream patch D60657 for rust support on riscv64.
+
+ -- James Clarke <jrtc27@debian.org>  Fri, 20 Dec 2019 18:30:29 +0000
+
+llvm-toolchain-9 (1:9.0.1-1) unstable; urgency=medium
+
+  * New stable release
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Thu, 19 Dec 2019 13:48:21 +0100
+
+llvm-toolchain-9 (1:9.0.1~+rc3-2) unstable; urgency=medium
+
+  * Team upload.
+  [ Gianfranco Costamagna ]
+  * Commit Breaks/Replaces into git
+
+  [ Julian Andres Klode ]
+  * Fix llvm-9-tools Breaks/Replaces libclang-common-9-dev (<< 1:9.0.1~+rc2)
+    (Closes: #946473)
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org>  Thu, 19 Dec 2019 00:26:04 +0100
+
+llvm-toolchain-9 (1:9.0.1~+rc3-1) unstable; urgency=medium
+
+  [ Sylvestre Ledru ]
+  * New snapshot release + upload to unstable
+  * Use secure URI in debian/watch.
+  * Move source package lintian overrides to debian/source.
+  * Remove patches force-gcc-header-obj.diff, hurd-pathmax.diff, impl-
+    path-hurd.diff, libcxxabi-arm-ehabi-fix.patch, libcxxabi-test-don-t-
+    fail-extended-long-double.patch, revert-change-soname.diff, try-to-
+    unbreak-thinlto.diff that are missing from debian/patches/series.
+  * Rely on pre-initialized dpkg-architecture variables.
+  * Move transitional package libclang-cpp1-9 to oldlibs/optional per
+    policy 4.0.1.
+
+  [ Aurelien Jarno ]
+  * llvm-riscv64-fix-cffi.diff: backport patch to fix CFI directives on
+    riscv64 from master.
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sat, 14 Dec 2019 12:43:17 +0100
+
+llvm-toolchain-9 (1:9.0.1~+rc2-1~exp1) experimental; urgency=medium
+
+  * New snapshot release
+  * Fix some paths, upstream moved from site-packages
+    to dist-packages for python packages
+  * Move yaml-bench from libclang-common-X.Y-dev to llvm-X.Y-tools where
+    it belongs
+    See http://lists.llvm.org/pipermail/llvm-dev/2019-December/137337.html
+  * Add a project in the cmake-test to silent a warning
+    (Closes: #945489)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 03 Dec 2019 07:56:16 +0100
+
+llvm-toolchain-9 (1:9.0.1~+rc1-1~exp1) experimental; urgency=medium
+
+  * New snapshot release
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sun, 24 Nov 2019 14:51:29 +0100
+
+llvm-toolchain-9 (1:9.0.0-5) UNRELEASED; urgency=medium
+
+  [ Gianfranco Costamagna ]
+  * Patch cmake files to disable the z3 support in Ubuntu
+  * Simplify rules file to put -g1 everywhere
+
+  [ Sylvestre Ledru ]
+  * Add a project in the cmake-test to silent a warning (Closes: #945489)
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org>  Tue, 26 Nov 2019 09:24:38 +0100
+
+llvm-toolchain-9 (1:9.0.0-4) unstable; urgency=medium
+
+  [ Samuel Thibault ]
+  * hurd-cxx-paths.diff: Re-introduce patch to find C++ headers.
+  * hurd-EIEIO-undef.diff: Drop patch, already fixed a different way upstream.
+  * hurd-pathmax.diff: Drop now-useless parts.
+
+  [ Sylvestre Ledru ]
+  * Add libz3-dev as dependencies on llvm-X.Y-dev (Closes: #943996)
+  * Update build-dep libpfm4-dev to linux-any.
+    Thanks to Samuel Thibault for the patch
+
+  [ Gianfranco Costamagna ]
+  * Add also Ubuntu focal to the gcc-8 arch list
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 05 Nov 2019 10:30:26 +0100
+
+llvm-toolchain-9 (1:9.0.0-3) unstable; urgency=medium
+
+  * Seems to be ok, uploading to unstable
+    (Closes: #942864) fuzzer issues
+    (Closes: #943623) libclangIndex.a are llvm ir bitcode
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Thu, 31 Oct 2019 20:36:09 +0100
+
+llvm-toolchain-9 (1:9.0.0-3~exp2) experimental; urgency=medium
+
+  [ Weston Ortiz ]
+  * Remove incorrect Breaks/Conflicts for lldb-9 package
+    https://bugs.llvm.org/show_bug.cgi?id=43451
+
+  [ Sylvestre Ledru ]
+  * disable-fuzzer-compiler-rt.diff: bring back this patch.
+    Still breaks i386 compiler-rt/fuzzer
+    Disable fuzzer only for i386
+  * Use stage2 files to build the doc. For some reasons, clang-tools-extra
+    html generation stopped working
+  * Disable z3 when the version is too old
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Thu, 31 Oct 2019 00:29:09 +0100
+
+llvm-toolchain-9 (1:9.0.0-3~exp1) experimental; urgency=medium
+
+  * Revert the change -DBOOTSTRAP_LLVM_ENABLE_LTO to use
+    -DLLVM_ENABLE_LTO to see if it fixes 943623
+    and/or 942864
+    Disable disable-fuzzer-compiler-rt.diff to evaluate the whole thing
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 29 Oct 2019 20:05:38 +0100
+
+llvm-toolchain-9 (1:9.0.0-2) unstable; urgency=medium
+
+  * polly, openmp & lldb aren't enabled for every platform
+    So, add to PROJECTS only when enabled
+  * clang: Force the installation of libclang-cpp with the exact same version
+    and remove libclang as dep
+  * With the github move, libfuzzer is now compiled as part of the build
+    process. It fails to compile for some unexpected reasons.
+    As I have been compiling libfuzzer by hand for a while, just still
+    do this.
+    See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=942864
+    https://bugs.llvm.org/show_bug.cgi?id=43677
+    disable-fuzzer-compiler-rt.diff
+  * Disable all kfreebsd patches:
+    - Needs rebasing on snapshot often
+    - Didn't build on Debian for a while
+    - Not forwarded upstream
+    - No support from the team
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sun, 20 Oct 2019 17:27:50 +0200
+
+llvm-toolchain-9 (1:9.0.0-1) unstable; urgency=medium
+
+  * Repack to move to git
+  * Move the checkout of the sources from svn to git
+  * Use -DLLVM_ENABLE_PROJECTS instead of symlinks
+  * Use -DBOOTSTRAP_LLVM_ENABLE_LTO instead of
+    -DLLVM_ENABLE_LTO (not sure what it wasn't done)
+  * Add dependency between libclang-cpp => libllvm with the exact version
+    (Closes: #942526)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sat, 19 Oct 2019 10:30:41 +0200
+
+llvm-toolchain-9 (1:9-3) unstable; urgency=medium
+
+  * python-clang-9: missing dependency on libclang-9-dev
+    (Closes: #941890)
+  * Enable Z3 solver (llvm & clang) to improve the quality of the static
+    analysis results
+  * Do not fail the test suite on the -lclang-cpp failing
+    I think I need to create a libclang-cpp-dev package to unblock it
+    (but dunno why it works locally)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Thu, 17 Oct 2019 18:38:28 +0200
+
+llvm-toolchain-9 (1:9-2) unstable; urgency=medium
+
+  [ Gianfranco Costamagna ]
+  * Enable lldb on s390x too, it builds fine now
+  * python*lldb, depend on liblldb-9 to avoid failure during import
+  * Add a basic cmake test to see if the package is imported correctly
+
+  [ Sylvestre Ledru ]
+  * add a cpuid check
+  * /disable-lit-cpuid-install.diff: Remove the lit-cpuid from the llvm
+    install.
+    It is provided by lldb and we don't want to add this as a new
+    dep from llvm-dev (Closes: #941082 #941306)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Thu, 03 Oct 2019 18:14:21 +0200
+
+llvm-toolchain-9 (1:9-1) unstable; urgency=medium
+
+  * New release
+  * Fix the FTBFS on all platform by adding -DCLANG_BUILD_EXAMPLES=OFF
+    to cmake.
+    So, the following libs aren't built anymore:
+       - usr/lib/llvm-9/lib/SampleAnalyzerPlugin.so
+       - usr/lib/llvm-9/lib/CheckerDependencyHandlingAnalyzerPlugin.so
+       - usr/lib/llvm-9/lib/CheckerOptionHandlingAnalyzerPlugin.so
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 24 Sep 2019 21:09:57 +0200
+
+llvm-toolchain-9 (1:9~+rc5-1~exp2) experimental; urgency=medium
+
+  * debian/patches/D67877.patch: fix LLVMExports.cmake with upstream-proposed
+    patch (Closes: #941082)
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org>  Tue, 24 Sep 2019 18:57:31 +0200
+
+llvm-toolchain-9 (1:9~+rc5-1~exp1) experimental; urgency=medium
+
+  * New snapshot release
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Fri, 13 Sep 2019 14:45:01 +0200
+
+llvm-toolchain-9 (1:9~+rc4-1~exp1) experimental; urgency=medium
+
+  * New snapshot release
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 10 Sep 2019 15:25:46 +0200
+
+llvm-toolchain-9 (1:9~+rc3-1~exp3) experimental; urgency=medium
+
+  * Force gcc before 9 (gcc 8 on Debian unstable) because it causes
+    huge increase of the size of the .deb (because of .a and .so) and
+    issues in the libs
+    (Closes: #939472)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Fri, 06 Sep 2019 23:27:28 +0200
+
+llvm-toolchain-9 (1:9~+rc3-1~exp2) experimental; urgency=medium
+
+  * Debian moved to gcc-9. This gcc version now refuses -flto="Thin"
+    Move from LLVM_ENABLE_LTO="Thin" to BOOTSTRAP_LLVM_ENABLE_LTO="Thin"
+    to mitigate the issue (the argument should be passed only at the
+    second stage of the build process)
+    See https://bugs.llvm.org/show_bug.cgi?id=43193
+  * Fix a link issue (Closes: #939172)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Mon, 02 Sep 2019 10:46:45 +0200
+
+llvm-toolchain-9 (1:9~+rc3-1~exp1) experimental; urgency=medium
+
+  * New snapshot release
+  * Update of the license file. Upstream moved to Apache 2
+    with LLVM exception (Closes: #935149)
+  * remove 0050-Remove-explicit-python-version-list.patch
+    bug-43011-mips.diff as they are merged upstream
+  * llvm-9-dev depends on llvm-9-tools
+    Since https://reviews.llvm.org/D56606, LLVMExports.cmake
+    requires FileCheck when LLVM_INSTALL_UTILS=ON is enabled (which
+    is the case here).
+    See https://bugs.llvm.org/show_bug.cgi?id=43035
+  * Also add PYTHON_EXECUTABLE to the CLANG_BOOTSTRAP_PASSTHROUGH option
+    to fix an issue on xenial
+  * Add clangd-X => libclang-common-X-dev dependency
+    See https://bugs.llvm.org/show_bug.cgi?id=43152
+  * Remove the -lc++experimental test from the qualify-clang.sh script
+    as the lib has been removed in 9~svn366022-1~exp1
+  * Also install libclang-cpp in /usr/lib/llvm-X/lib/libclang-cpp.so.X
+  * Improve the fix-clang-path-and-build.diff patch
+    If this package was built with libclang-common installed on the system,
+    it could fail with 'use of undeclared identifier' because
+    #include_next was failing as it was expecting the next header to be
+    libstdc++
+    Now, if the local build headers are found, don't include system's
+  * Rename libclang-cpp1-9 to libclang-cpp9 to match the soname and libllvm9
+    naming (at some point, all libs should do that ...)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 27 Aug 2019 23:38:11 +0200
+
+llvm-toolchain-9 (1:9~+rc2-1~exp2) experimental; urgency=medium
+
+  * Try to fix the mips* ftbfs
+    See bug 43011
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Thu, 22 Aug 2019 18:17:32 +0200
+
+llvm-toolchain-9 (1:9~+rc2-1~exp1) experimental; urgency=medium
+
+  [ Gianfranco Costamagna ]
+  * Add back python-* dependencies to fix tools not really ready for python3
+  * Fix missing epoch in breaks/replaces
+
+  [ Sylvestre Ledru ]
+  * New snapshot release
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 14 Aug 2019 10:36:17 +0200
+
+llvm-toolchain-9 (1:9~+rc1-1~exp2) experimental; urgency=medium
+
+  [ Gianfranco Costamagna ]
+  * Fixed wrong shlib generation of libomp5 library
+  * Add python to testsuite
+
+  [ Sylvestre Ledru ]
+  * Move lit-cpuid from llvm-tools to lldb (wrong package)
+  * Ship clangd-9 as a new package (Closes: #932432)
+
+  [ Aurelien Jarno ]
+  * Add support for riscv64:
+    - Always link with -latomic on riscv64.
+    - patches/clang-riscv64-multiarch.diff: add multiarch paths for riscv64.
+    - patches/clang-riscv64-rv64gc.diff: default to lp64d ABI and rv64gc ISA.
+    - patches/libcxx/libcxx-riscv64-cycletimer.diff: backport riscv64
+      cycletimer support from upstream.
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sat, 03 Aug 2019 11:41:07 +0200
+
+llvm-toolchain-9 (1:9~+rc1-1~exp1) experimental; urgency=medium
+
+  * New snapshot release
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Mon, 29 Jul 2019 22:16:33 +0200
+
+llvm-toolchain-snapshot (1:9~svn366022-1~exp1) experimental; urgency=medium
+
+  * New snapshot release
+  * New symbols in libomp5 added in the symbol file
+    - __kmpc_omp_target_task_alloc
+    - __kmpc_task_allow_completion_event
+    - __kmpc_task_reduction_modifier_fini
+    - __kmpc_task_reduction_modifier_init
+    - __kmpc_taskred_init
+    - __kmpc_taskred_modifier_init
+    - omp_fulfill_event
+    - omp_fulfill_event_
+  * Bring back bootstrap-fix-include-next.diff which has been removed from
+    an unknown reason
+  * Remove libc++experimental.a (seems to be not installed)
+  * Install python3-setuptools as it seems that lldb moved to python 3
+    Was failing with
+    "ModuleNotFoundError: No module named 'distutils.sysconfig'"
+  * liblldb.a has been removed upstream
+  * Ship libclang-cpp1-9 as a new package
+  * Ship python3-lldb-9 as a new package
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Thu, 18 Jul 2019 15:52:37 +0200
+
+llvm-toolchain-snapshot (1:9~svn364913-1~exp1) experimental; urgency=medium
+
+  [ Andreas Beckmann ]
+  * For now, lld doesn't generate shared libs. Removing the files
+    (Closes: #857653, LP: #1829677)
+
+  [ Gianfranco Costamagna ]
+  * Do not enable Thin on armhf for now, it FTBFS
+
+  [ Sylvestre Ledru ]
+  * Cherry-pick the recent changes from the 8 branch
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 02 Jul 2019 14:36:52 +0200
+
+llvm-toolchain-snapshot (1:9~svn362869-1~exp2) experimental; urgency=medium
+
+  * New snapshot release
+  * Install clang-scan-deps as part of clang-tools
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sat, 15 Jun 2019 10:47:18 +0200
+
+llvm-toolchain-snapshot (1:9~svn362869-1~exp1) experimental; urgency=medium
+
+  * New snapshot release
+  * remove debian/patches/reproducible-pch.diff
+    done upstream
+  * No longer install lldb-test (disable upstream in 358574)
+  * Install lit-cpuid in llvm-9-tools
+  * libclang-X.Y: add clang_Cursor_isAnonymousRecordDecl to the list of symbols
+  * New snapshot release
+  * remove debian/patches/reproducible-pch.diff
+    done upstream
+  * No longer install lldb-test (disable upstream in 358574)
+  * Install lit-cpuid in llvm-9-tools
+  * libclang-X.Y: add clang_Cursor_isAnonymousRecordDecl and
+    clang_Cursor_isInlineNamespace to the list of symbols
+  * lldb-static-assert.diff (revert a patch failing the build)
+  * New snapshot release
+  * remove debian/patches/reproducible-pch.diff
+    done upstream
+  * No longer install lldb-test (disable upstream in 358574)
+  * Install lit-cpuid in llvm-9-tools
+  * libclang-X.Y: add clang_Cursor_isAnonymousRecordDecl and
+    clang_Cursor_isInlineNamespace to the list of symbols
+  * Install usr/lib/llvm-9/lib/{SampleAnalyzerPlugin.so,
+    CheckerDependencyHandlingAnalyzerPlugin.so,
+    CheckerOptionHandlingAnalyzerPlugin.so}
+    in libclang-9-dev
+  * Build using thinlto on non stretch, xenial and trusty
+    (fails with some undef symbols)
+    Option -DLLVM_ENABLE_LTO="Thin" added
+  * WebAssembly is now build by default, remove it from the
+    experimental list
+  * check-polly was executed twice
+  * Move the default ARM arch from arm1176jzf-s (armv6) to cortex-a7
+    (Closes: #930008)
+
+  [ John Paul Adrian Glaubitz ]
+  * Use dh-exec to exclude lib/LLVM*.so on powerpc and
+    powerpcspe from llvm-X.Y-dev.install.in
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sat, 08 Jun 2019 11:12:47 +0200
+
+llvm-toolchain-snapshot (1:9~svn358327-1~exp1) experimental; urgency=medium
+
+  * New snapshot release
+  * Remove libc++fs.a (done upstream)
+  * add clang-doc in clang-tools
+  * python2.7/site-packages/readline.so removed from liblldb
+  * libOptRemarks.so has been renamed to libRemarks.so
+  * new symbol: omp_get_supported_active_levels
+
+  [ Gianfranco Costamagna ]
+  * Commit Ubuntu delta to 8 and snapshot branches
+
+  [ Matthias Klose ]
+  * Remove the autopkg test for a genuine LLVM bug.
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sat, 13 Apr 2019 11:06:00 +0200
+
+llvm-toolchain-snapshot (1:9~svn354105-1~exp1) experimental; urgency=medium
+
+  * New snapshot release
+
+  [ John Paul Adrian Glaubitz ]
+  * Remove usr/lib/llvm-@LLVM_VERSION@/lib/LLVM*.so
+    from debian/llvm-X.Y-dev.install.in and install
+    the files conditionally in debian/rules
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Fri, 15 Feb 2019 09:32:35 +0100
+
+llvm-toolchain-snapshot (1:9~svn353106-1~exp1) experimental; urgency=medium
+
+  * New snapshot release
+  * Install lldb-instr-X in lldb-X
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Mon, 04 Feb 2019 23:44:27 +0100
+
+llvm-toolchain-snapshot (1:9~svn351420-1~exp2) experimental; urgency=medium
+
+  * Remove 'Multi-Arch: same' in libclang
+    (Closes: #874248)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Mon, 04 Feb 2019 23:42:28 +0100
+
+llvm-toolchain-snapshot (1:9~svn351420-1~exp1) experimental; urgency=medium
+
+  * New snapshot release
+  * Fix a typo in the arch declaration
+  * Remove patch D54677-hurd-path_max.diff (applied upstream)
+  * Fix debian-changelog-line-too-long
+  * Silent source-contains-prebuilt-windows-binary
+  * Silent executable-not-elf-or-script
+    usr/lib/llvm-8/share/clang/bash-autocomplete.sh
+  * Remove unapplied patches:
+    - D52340-rustc-debuginfo.diff
+    - D54379-hurd-triple-clang.diff
+    - hurd-cxx-paths.diff
+    - openmp-jessie-missing-include.diff
+    - rustc-aarch64-test-failure.diff
+    - strip-ignore-deterministic-archives.diff
+  * Update the list of openmp symbols (added):
+    - omp_get_device_num
+    - omp_get_initial_device
+    - omp_get_num_devices
+    - __kmpc_pause_resource (from v9)
+    - omp_pause_resource (from v9)
+    - omp_pause_resource_all (from v9)
+
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Mon, 04 Feb 2019 23:42:20 +0100
+
+llvm-toolchain-snapshot (1:9~svn351375-1~exp1) experimental; urgency=medium
+
+  * New snapshot release and move to 9 as upstream branched
+  * Silent a source lintian warning
+    source: source-is-missing lldb/lit/Modules/ELF/Inputs/PT_LOAD-overlap-section.elf
+  * Revert patch D55434 as it is breaking the build on old version of debian/ubuntu
+  * Remove BugpointPasses.so & TestPlugin.so as they don't ship anymore
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 16 Jan 2019 21:59:29 +0100
+
+llvm-toolchain-8 (1:8.0.1-4) unstable; urgency=medium
+
+  * Add clangd-X => libclang-common-X-dev dependency
+    See https://bugs.llvm.org/show_bug.cgi?id=43152
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Thu, 29 Aug 2019 09:42:41 +0200
+
+llvm-toolchain-8 (1:8.0.1-3) unstable; urgency=medium
+
+  * llvm-tools: depend on python2 packages too, the move to python3 was
+    premature and broke opt-viewer.py
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org>  Wed, 07 Aug 2019 15:11:36 +0200
+
+llvm-toolchain-8 (1:8.0.1-2) unstable; urgency=medium
+
+  [ Gianfranco Costamagna ]
+  * clangd: Fix breaks+replaces missing epoch (Closes: #934016)
+  * Add python to testsuite, still required by some test
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org>  Tue, 06 Aug 2019 09:36:11 +0200
+
+llvm-toolchain-8 (1:8.0.1-1) unstable; urgency=medium
+
+  * New stable release
+  * Ship python3-lldb-8 as a new package
+  * Ship clangd-8 as a new package (Closes: #932432)
+
+  [ Gianfranco Costamagna ]
+  * Fixed wrong shlib generation of libomp5 library
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sat, 03 Aug 2019 11:44:29 +0200
+
+llvm-toolchain-8 (1:8.0.1~+rc4-2) unstable; urgency=medium
+
+  * Compile against Python 3
+    (Closes: #931029)
+
+ -- Christian Biesinger <cbiesinger@google.com>  Thu, 18 Jul 2019 14:13:56 -0500
+
+llvm-toolchain-8 (1:8.0.1~+rc4-1) unstable; urgency=medium
+
+  * New snapshot release
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Thu, 11 Jul 2019 08:39:38 +0200
+
+llvm-toolchain-8 (1:8.0.1~+rc3-1) unstable; urgency=medium
+
+  * New testing release in unstable
+
+  [ Gianfranco Costamagna ]
+  * Enable thinlto everywhere except armhf
+  * Drop wrong exit 1 from testsuite
+
+  [ Andreas Beckmann ]
+  * For now, lld doesn't generate shared libs. Removing the files
+    (Closes: #857653, LP: #1829677)
+
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Fri, 28 Jun 2019 20:15:23 +0200
+
+llvm-toolchain-8 (1:8.0.1~+rc2-1~exp1) experimental; urgency=medium
+
+  * New testing release
+  * Only enable thinlto on archs with gold, should fix the ftbfs
+  * Add libpfm4-dev as build dep + -DLLVM_ENABLE_LIBPFM=ON as it is
+    needed for llvm-exegesis https://bugs.llvm.org/show_bug.cgi?id=42187
+  * Improve the rendering of the qualify-clang.sh testsuite
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sat, 08 Jun 2019 11:11:39 +0200
+
+llvm-toolchain-8 (1:8.0.1~+rc1-1~exp2) experimental; urgency=medium
+
+  * Build using thinlto on non stretch, xenial and trusty
+    (fails with some undef symbols)
+    Option -DLLVM_ENABLE_LTO="Thin" added
+  * WebAssembly is now build by default, remove it from the
+    experimental list
+  * check-polly was executed twice
+  * Move the default ARM arch from arm1176jzf-s (armv6) to cortex-a7
+    (Closes: #930008)
+
+  [ John Paul Adrian Glaubitz ]
+  * Use dh-exec to exclude lib/LLVM*.so on powerpc and
+    powerpcspe from llvm-X.Y-dev.install.in
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sun, 19 May 2019 13:31:37 +0200
+
+llvm-toolchain-8 (1:8.0.1~+rc1-1~exp1) experimental; urgency=medium
+
+  * New testing release
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Fri, 17 May 2019 08:33:53 +0200
+
+llvm-toolchain-8 (1:8-5) unstable; urgency=medium
+
+  * Try another way to address the mips64el issue
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Mon, 13 May 2019 11:36:47 +0200
+
+llvm-toolchain-8 (1:8-4) unstable; urgency=medium
+
+  * Try to disable mips64el-fix.diff (struct_kernel_stat_sz)
+    to workaround a mips issue with some new C{XX}FLAGS
+    see https://reviews.llvm.org/D59702
+
+  [ Gianfranco Costamagna ]
+  * Add Ubuntu eoan to supported ubuntu distro
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Mon, 29 Apr 2019 08:58:57 +0200
+
+llvm-toolchain-8 (1:8-3) unstable; urgency=medium
+
+  * Fix the FTBFS on mips (introduced by my previous change)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 02 Apr 2019 11:57:08 +0200
+
+llvm-toolchain-8 (1:8-2) unstable; urgency=medium
+
+  * Fix the search path on mips64el (which is causing the stage2
+    build of mips64el to fail
+    See https://bugs.llvm.org/show_bug.cgi?id=41204
+
+  [ Timo Aaltonen ]
+  * import patches for intel-opencl-clang: they fix various issues
+    with opengl and clang-8, and are taken from llvm master branch.
+    - Fix pointer blocks on OpenCL functions, that never pointed to real
+      functions
+    - Fix assertion errors on some OpenCL functions
+    - Refactor a little bit OpenCL calls, by emitting direct block calls.
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org>  Wed, 20 Mar 2019 14:36:40 +0100
+
+llvm-toolchain-8 (1:8-1) unstable; urgency=medium
+
+  * New upstream release
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 19 Mar 2019 21:57:02 +0100
+
+llvm-toolchain-8 (1:8~+rc5-2) unstable; urgency=medium
+
+  * Try to fix a mips64el FTBFS
+    Cherry-pick of https://patches-gcc.linaro.org/patch/3032/
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sun, 17 Mar 2019 20:18:19 +0100
+
+llvm-toolchain-8 (1:8~+rc5-1) unstable; urgency=medium
+
+  * New snapshot release
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 12 Mar 2019 12:27:41 +0100
+
+llvm-toolchain-8 (1:8~+rc4-1) unstable; urgency=medium
+
+  * New snapshot release
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sun, 10 Mar 2019 11:06:14 +0100
+
+llvm-toolchain-8 (1:8~+rc3-1~exp1) unstable; urgency=medium
+
+  * New snapshot release
+  * Activate -DLLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN for all
+    gcc
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Thu, 28 Feb 2019 12:33:57 +0100
+
+llvm-toolchain-8 (1:8~+rc2-1~exp3) UNRELEASED; urgency=medium
+
+  [ Gianfranco Costamagna ]
+  * Commit Ubuntu delta to 8 and snapshot branches
+
+  [ Matthias Klose ]
+  * Remove the autopkg test for a genuine LLVM bug.
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org>  Wed, 06 Mar 2019 10:16:17 +0100
+
+llvm-toolchain-8 (1:8~+rc2-1~exp1) unstable; urgency=medium
+
+  * New snapshot release
+  * Add support for kfreebsd (Closes: #921246)
+    Many thanks to Svante Signell for all patches
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Thu, 07 Feb 2019 17:09:15 +0100
+
+llvm-toolchain-8 (1:8~+rc1-1~exp1) experimental; urgency=medium
+
+  * New snapshot release
+  * Remove 'Multi-Arch: same' in libclang
+    (Closes: #874248)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Thu, 24 Jan 2019 08:49:34 +0100
+
+llvm-toolchain-8 (1:8~svn351401-1~exp1) experimental; urgency=medium
+
+  * New snapshot release (branch 8 created)
+  * Silent a source lintian warning
+    source: source-is-missing
+    lldb/lit/Modules/ELF/Inputs/PT_LOAD-overlap-section.elf
+  * Revert patch D55434 as it is breaking the build on old version of
+    debian/ubuntu
+  * Remove BugpointPasses.so & TestPlugin.so as they don't ship anymore
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Thu, 17 Jan 2019 08:24:19 +0100
+
+llvm-toolchain-8 (1:8~svn350834-1~exp2) UNRELEASED; urgency=medium
+
+  * Remove patch D55434-revert.diff as the regression has been fixed upstream
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Thu, 17 Jan 2019 09:16:03 +0100
+
+llvm-toolchain-snapshot (1:8~svn348749-1~exp2) experimental; urgency=medium
+
+  * New symbols in openmp:
+    - OMP_NULL_ALLOCATOR
+    - __kmpc_alloc
+    - __kmpc_free
+    - __kmpc_get_default_allocator
+    - __kmpc_omp_reg_task_with_affinity
+    - __kmpc_set_default_allocator
+    - omp_alloc
+    - omp_capture_affinity
+    - omp_cgroup_mem_alloc
+    - omp_const_mem_alloc
+    - omp_default_mem_alloc
+    - omp_display_affinity
+    - omp_free
+    - omp_get_affinity_format
+    - omp_get_default_allocator
+    - omp_high_bw_mem_alloc
+    - omp_large_cap_mem_alloc
+    - omp_low_lat_mem_alloc
+    - omp_pteam_mem_alloc
+    - omp_set_affinity_format
+    - omp_set_default_allocator
+    - omp_thread_mem_alloc
+    - ompc_capture_affinity
+    - ompc_display_affinity
+    - ompc_get_affinity_format
+    - ompc_set_affinity_format
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 18 Dec 2018 18:09:48 +0100
+
+llvm-toolchain-7 (1:7.0.1-4) unstable; urgency=medium
+
+  * On old Debian/Ubuntu, run dh_strip using fakeroot to mitigate
+    a permission issue
+  * Remove dbgsym packages from debci because of bug #917528
+
+  [ Gianfranco Costamagna ]
+  * Ignore a test result on i386, due to upstream bug 26580#c18
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 02 Jan 2019 12:37:45 +0100
+
+llvm-toolchain-7 (1:7.0.1-4) unstable; urgency=medium
+
+  * New snapshot release
+  * Merge changes from 7 into snapshot
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Mon, 10 Dec 2018 10:56:16 +0100
+
+llvm-toolchain-snapshot (1:8~svn346586-1~exp1) experimental; urgency=medium
+
+  * New snapshot release
+  * Also install libOptRemarks.so
+  * Merge all the recent 7 changes into snapshot
+    (Closes: #913058) the co install issue with libc++ & openmp
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sat, 10 Nov 2018 15:14:15 +0100
+
+llvm-toolchain-snapshot (1:8~svn345569-1~exp1) experimental; urgency=medium
+
+  [ Sylvestre Ledru ]
+  * Remove bat files https://bugs.llvm.org/show_bug.cgi?id=30755
+  * Fix the autopkgtest script (no gcc in the test)
+  * remove dep from lld to llvm-8-dev because lld
+    doesn't use LLVM LTO
+  * remove old Replaces/Breaks
+  * Standards-Version: 4.2.1
+  * Backport a fix to improve scan-build code error.
+    Thanks to Roman Lebedev for the fix(Closes: #909662)
+  * Remove bat files https://bugs.llvm.org/show_bug.cgi?id=30755
+  * Install bash-completion for clang
+  * Disable ocaml on armel
+
+  [ Gianfranco Costamagna ]
+  * Take option two in bug #877567 to fix FTBFS on mips and mipsel
+
+  [ Sylvestre Ledru ]
+  * New snapshot release
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 30 Oct 2018 08:31:14 +0100
+
+llvm-toolchain-7 (1:7.0.1-3) unstable; urgency=medium
+
+  * Also install clang-7-dbgsym libclang1-7-dbgsym in autopkgtest
+    to verify that debug symbols are present
+  * Cherry-pick upstream fix D52340 to address a rustc debuginfo
+    (Closes: #917209)
+  * Change the jit debug path from $HOME/.debug/jit/ to
+    $TMPDIR/.debug/jit/ (Closes: #916393)
+  * Document in README.source some Debian/Ubuntu specific changes
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 26 Dec 2018 22:57:45 +0100
+
+llvm-toolchain-7 (1:7.0.1-2) unstable; urgency=medium
+
+  * Enable -DENABLE_LINKER_BUILD_ID:BOOL=ON as, unlike gcc, isn't enabled
+    by default in clang. Thanks to Adrian Bunk for the patch.
+    Once more, thanks to Rebecca Palmer (Closes: #916975)
+  * Build with -g1 also on 64bit architectures (thanks to Adrian too)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Fri, 21 Dec 2018 17:07:44 +0100
+
+llvm-toolchain-7 (1:7.0.1-1) unstable; urgency=medium
+
+  * New release
+  * Remove the dbg workaround. Hopefully, the new version of
+    binutils will fix it (Closes: #913946)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sun, 16 Dec 2018 13:07:54 +0100
+
+llvm-toolchain-7 (1:7.0.1~+rc3-2) unstable; urgency=medium
+
+  * Fix llvm-config by stripping unnecessary flags
+    See also https://bugs.llvm.org/show_bug.cgi?id=8220
+    (Closes: #697755, #914838)
+  * Try to workaround the debug issues by adding -fno-addrsig to the *FLAGS
+    One more time, thanks to Rebecca Palmer (Closes: #913946)
+    The goal is to provide correct debug packages.
+    Workaround https://sourceware.org/bugzilla/show_bug.cgi?id=23788
+  * Force the chmod +x on llvm-X/bin/* because it was sometimes removed
+    by the strip process
+  * Force the link to atomic also for i386 as it fails on Debian jessie too
+  * Improved the debian/patches/series presentation by creating categories
+  * Improve the separation between *FLAGS for gcc and clang.
+    This is done for -fno-addrsig as it doesn't exit for gcc
+    This can be done with the BOOTSTRAP_CMAKE_CXX_FLAGS option
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Mon, 10 Dec 2018 03:49:59 -0500
+
+llvm-toolchain-7 (1:7.0.1~+rc3-1) unstable; urgency=medium
+
+  * New testing release
+  * disable the llvm-strip as it created too big llvm lib
+
+  [ John Paul Adrian Glaubitz ]
+  * Add patch to add powerpcspe support to clang
+  * Add patch to fix register spilling on powerpcspe
+  * Add patch to optimize double parameter calling setup on powerpcspe
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sat, 08 Dec 2018 07:29:59 +0100
+
+llvm-toolchain-7 (1:7.0.1~+rc2-8) unstable; urgency=medium
+
+  * Use llvm-strip instead of binutils strip.
+    Two reasons:
+      - with clang stage2, the dbg packages were not generated
+      - strip fails on stretch and other ubuntu on some archives
+    For this, I had to silent the --enable-deterministic-archives
+    option (https://bugs.llvm.org/show_bug.cgi?id=39789).
+    Thanks to Rebecca Palmer for the idea
+    (Closes: #913946)
+  * Change the i386 base line to avoid using sse2 extension
+    This is more important now that llvm is built with clang
+    instead of gcc.
+    Thanks to Fanael Linithien for the patch
+    (Closes: #914770, #894840)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sat, 01 Dec 2018 11:18:39 +0100
+
+llvm-toolchain-7 (1:7.0.1~+rc2-7) unstable; urgency=medium
+
+  * Bring back mips-rdhwr.diff as it isn't in rc2
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sun, 25 Nov 2018 17:00:31 +0100
+
+llvm-toolchain-7 (1:7.0.1~+rc2-6) unstable; urgency=medium
+
+  [ Samuel Thibault ]
+  * D53557-hurd-self-exe-realpath.diff: Fix paths returned by
+    llvm-config (See Bug#911817).
+
+  [ Sylvestre Ledru ]
+  * Fix the FTBFS on armhf for real! Thanks to Adrian Bunk
+    Force the activation of FeatureVFP3 & FeatureD16
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sat, 24 Nov 2018 09:12:26 +0100
+
+llvm-toolchain-7 (1:7.0.1~+rc2-5) unstable; urgency=medium
+
+  [ Samuel Thibault ]
+  * D54079-hurd-openmp.diff, D54338-hurd-libcxx-threads-build.diff,
+    D54339-hurd-libcxx-threads-detection.diff, D54378-hurd-triple.diff,
+    D54379-hurd-triple-clang.diff, D54677-hurd-path_max.diff,
+    hurd-cxx-paths.diff: New patches to fix hurd build.
+
+  [ Sylvestre Ledru ]
+  * Remove mips-rdhwr.diff as it has been applied upstream
+  * Fix a baseline violation on armhf (Closes: #914268)
+    clang-arm-default-vfp3-on-armv7a.patch has been updated to disable
+    neon in another place
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 21 Nov 2018 09:45:00 +0100
+
+llvm-toolchain-7 (1:7.0.1~+rc2-4) unstable; urgency=medium
+
+  * Workaround the build issues on armhf
+    Thanks to Adrian Bunk for the idea
+  * Remove useless symlink /usr/include/c++ -> ../lib/llvm-7/include/c++
+    (Closes: #913400)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Fri, 16 Nov 2018 22:46:29 +0100
+
+llvm-toolchain-7 (1:7.0.1~+rc2-3) unstable; urgency=medium
+
+  * Disable gold for sparc* (Closes: #913260)
+  * Hide a symbol in openmp for mips64el
+  * Try to integrate a patch to make pch reproducible
+    Thanks to Rebecca Palmer for the patch
+    (Closes: #877359)
+  * Fix the misscompilation issue causing rustc to crash (Closes: #913271)
+    Might cause some ABI issues but no real good solution.
+    See https://bugs.llvm.org/show_bug.cgi?id=39427
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Thu, 08 Nov 2018 20:50:39 +0100
+
+llvm-toolchain-7 (1:7.0.1~+rc2-2) unstable; urgency=medium
+
+  * Fix a non-break space in a patch (Closes: #913213)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Thu, 08 Nov 2018 09:28:36 +0100
+
+llvm-toolchain-7 (1:7.0.1~+rc2-1) unstable; urgency=medium
+
+  * Upload of 7.0.1 rc2 into unstable
+  * New testing release
+  * Enable the stage2 bootstrap:
+    - stage1 = build clang with gcc
+    - stage2 = clang building itself
+    (Closes: #909234)
+  * Bring back the Disable NEON generation on armhf patch which was gone
+    Should fix the FTBFS on armhf
+    (Closes: #842142)
+  * Update the clang manpage to remove osx specific options
+    and to add -arch (Closes: #743133)
+  * Bring back usr/lib/@DEB_HOST_MULTIARCH@/{libiomp5.so, libomp5.so}
+    symlink for gcc (Closes: #912641)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 07 Nov 2018 15:17:41 +0100
+
+llvm-toolchain-7 (1:7.0.1~+rc2-1~exp1) experimental; urgency=medium
+
+  * New testing release
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Mon, 05 Nov 2018 23:38:34 +0100
+
+llvm-toolchain-7 (1:7-9) unstable; urgency=medium
+
+  * Remove the dump of cmake error file (too confusing)
+  * Try to fix the bootstrap FTBFS :
+    - on armel by forcing the link to -latomic
+    - mips-rdhwr.diff: backport D51773 to fix an
+      assembly issue on mips.
+      Thanks to jrtc27 for finding the issue.
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sun, 04 Nov 2018 18:07:23 +0100
+
+llvm-toolchain-7 (1:7-8) unstable; urgency=medium
+
+  * Update the watch file to display the right version
+    (even if the download will fail)
+  * clang-7 suggests libomp-7-dev instead of libomp-dev
+  * Make sure that we don't conflict openmp & libc++ with llvm-defaults's
+    (Closes: #912544)
+  * Handle better the non coinstability of openmp & libc++ (like we are doing
+    with python-clang-*)
+  * Backport upstream fix D51749 to address a rust aarch64 issues
+    (Closes: #909705)
+  * Add tests from old bugs to make sure they don't come back
+    (Closes: #889832, #827866)
+  * The sanitizers use the versioned llvm-symbolizer provided by the
+    llvm-X package (Closes: #753572)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sat, 20 Oct 2018 16:00:58 +0200
+
+llvm-toolchain-7 (1:7-7~exp2) experimental; urgency=medium
+
+  * clangd-atomic-cmake.patch: Link against atomic for clangd in i386
+  * When the cmake configure of the stage2 is failing, dump the cmake error log
+  * Declare some variables (-Wno-*) for all platforms (was failing on mips)
+  * Update the watch file to display the right version
+    (even if the download will fail)
+  * clang-7 suggests libomp-7-dev instead of libomp-dev
+  * Make sure that we don't conflict openmp & libc++ with llvm-defaults's
+    (Closes: #912544)
+  * Handle better the non coinstability of openmp & libc++ (like we are doing
+    with python-clang-*)
+  * Backport upstream fix D51749 to address a rust aarch64 issues
+    (Closes: #909705)
+  * Add tests from old bugs to make sure they don't come back
+    (Closes: #889832, #827866)
+  * The sanitizers use the versioned llvm-symbolizer provided by the
+    llvm-X package (Closes: #753572)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sun, 21 Oct 2018 18:34:20 +0200
+
+llvm-toolchain-7 (1:7-7~exp1) experimental; urgency=medium
+
+  * Experiment the clang bootstrap
+  * Try to bootstrap clang using clang
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 17 Oct 2018 20:15:57 +0200
+
+llvm-toolchain-7 (1:7-7) unstable; urgency=medium
+
+  [ Samuel Thibault ]
+  * Apply hurd fixes (Closes: #908847).
+   - hurd-lib_Support_Unix_Path.inc.diff
+   - hurd-pathmax.diff
+   - hurd-tools_llvm-shlib_CMakeLists.txt.diff
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Thu, 18 Oct 2018 16:50:58 +0200
+
+llvm-toolchain-7 (1:7-6) unstable; urgency=medium
+
+  * Team upload
+  * Upload to unstable
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org>  Wed, 17 Oct 2018 11:00:09 +0200
+
+llvm-toolchain-7 (1:7-6~exp2) experimental; urgency=medium
+
+  * Disable for now the bootstrapping clang patches
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org>  Tue, 16 Oct 2018 15:00:46 +0200
+
+llvm-toolchain-7 (1:7-6~exp1) experimental; urgency=medium
+
+  * Try to bootstrap (currently in a different branch)
+  * Split the builds in different make target
+  * Add python-pygments as dep of llvm-7-tools because
+    opt-viewer.py needs it
+  * Add back libomp5-X.Y.symbols.in (untested)
+  * Fix the install of clang bash completion
+  * Start the work on bootstrapping clang
+    - bootstrap-with-openmp-version-export-missing.diff: fix a link issue
+      https://bugs.llvm.org/show_bug.cgi?id=39200
+    - bootstrap-fix-include-next.diff: Fix an include issue at bootstrap phase
+      https://bugs.llvm.org/show_bug.cgi?id=39162
+
+  [ Gianfranco Costamagna ]
+  * Take option two in bug #877567 to fix FTBFS on mips and mipsel
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sat, 06 Oct 2018 23:04:24 +0200
+
+llvm-toolchain-7 (1:7-5) unstable; urgency=medium
+
+  * In debci, run qualify-clang.sh in verbose mode
+  * Only run the g++ test if g++ exist
+
+  [ Reshabh Sharma ]
+  * Run check-openmp to test OpenMP
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sat, 06 Oct 2018 08:25:48 +0200
+
+llvm-toolchain-7 (1:7-4) unstable; urgency=medium
+
+  * Backport a fix to improve scan-build code error.
+    Thanks to Roman Lebedev for the fix(Closes: #909662)
+  * Remove bat files https://bugs.llvm.org/show_bug.cgi?id=30755
+  * Install bash-completion for clang
+  * Disable ocaml on armel
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 26 Sep 2018 14:32:41 +0100
+
+llvm-toolchain-7 (1:7-3) unstable; urgency=medium
+
+  * Fix a syntax issue in a scan-build patch
+  * Fix the autopkgtest script (no gcc in the test)
+  * remove dep from lld to llvm-7-dev because lld
+    doesn't use LLVM LTO
+  * remove old Replaces/Breaks
+  * Standards-Version: 4.2.1
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Fri, 21 Sep 2018 22:48:47 +0200
+
+llvm-toolchain-7 (1:7-2) unstable; urgency=medium
+
+  * Fix the ftbfs under armel on libc++ and enable openmp on armel.
+    Thanks to Adrian Bunk for the patch
+  * Make libc++, libc++abi & openmp NOT co-installable
+    Rational: the benefits are limited compared to the drawback.
+    We should have issues like:
+       - built with libc++-8-dev
+       - run with libc++1-7
+    (Closes: #903802)
+  * Remove circular dependency by removing python-lldb-7: Depends: liblldb-7-dev
+    (Closes: #888889)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 19 Sep 2018 14:12:34 +0200
+
+llvm-toolchain-snapshot (1:8~svn342269-1) unstable; urgency=medium
+
+  [ Sylvestre Ledru ]
+  * libc++-8-dev doesn't provide libstdc++-dev anymore (Closes: #908738)
+  * Build llvm using -DLLVM_USE_PERF=yes (Closes: #908707)
+  * Only rename libomp when openmp is built
+
+  [ Gianfranco Costamagna ]
+  * Force polly cmake removal on arch:all because of --fail-missing
+
+  [ Reshabh Sharma ]
+  * Make OpenMP packages coinstallable from version 7
+  * Make libc++ packages coinstallable from version 7
+
+  [ John Paul Adrian Glaubitz ]
+  * Add patch to fix missing MultiArch include dir
+    on powerpcspe (Closes: #908791)
+  * Disable LLDB on riscv64
+  * Fix inverted logic in ifeq statement for POLLY_ENABLE
+    and OPENMP_ENABLE (Closes: #908646)
+  * Disable OpenMP on unsupported architecture x32
+  * Add patch to fix missing include and library paths on x32
+
+  [ Gianfranco Costamagna ]
+  * Install polly only on arch:all packages
+  * Drop gnustep and gnustep-devel suggestions (Closes: #902847)
+  * Enable polly on s390x
+  * Disable omp on armel mips and mipsel for now
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Fri, 14 Sep 2018 21:56:57 +0200
+
+llvm-toolchain-snapshot (1:8~svn340819-1) unstable; urgency=medium
+
+  * New snapshot release
+  * Force sphinx to be >> 1.2.3
+  * also ignore libc++experimental.a on dh_strip (fails on stretch)
+  * Make libc++-8-dev & libc++abi-8-dev coinstallable
+  * Remove libtool flex, bison, dejagnu, tcl, expect,
+    and perl from the build deps (testing)
+  * Disable force-gcc-header-obj.diff as it is introducing
+    some regressions in the search headers
+    (Closes: #903709)
+  * branching to version 8
+    - New symbols in libclang:
+      clang_Cursor_getObjCPropertyGetterName
+      clang_Cursor_getObjCPropertySetterName
+      clang_Type_getModifiedType
+      clang_Type_getNullability
+      clang_Type_getNumObjCProtocolRefs
+      clang_Type_getNumObjCTypeArgs
+      clang_Type_getObjCObjectBaseType
+      clang_Type_getObjCProtocolDecl
+      clang_Type_getObjCTypeArg
+  * python-recommonmark is a new build dep for the sphinx doc
+  * dh_strip should be verbose
+  * On Stretch (binutils 2.28), do not run strip on libFuzzer.a, libc++.a
+    & libc++abi.a because it segfaults
+  * Fixed "weak-library-dev-dependency libc++-7-dev on libc++-7-helpers"
+  * Fixed "libomp5-7: shlibs-declares-dependency-on-other-package
+           libomp5-7) (>= 1:7~svn298832-1~)"
+  * Also use the local cmake binary if available (for trusty)
+    and take in account the PRE_PROCESS_CONF option
+  * Try to fix a FTBFS on jessie with openmp
+
+  [ Gianfranco Costamagna ]
+  * Add liblldb-8-dev to python-lldb runtime dependencies, needed to import it
+  * Enable lld on arm64, mips64el
+  * Enable lldb on mips64el
+  * Enable lld on ppc64el
+
+  [ John Paul Adrian Glaubitz ]
+  * Don't build with ld.gold on powerpcspe
+  * Disable polly on powerpcspe
+  * Add upstream patch to make rustc build on powerpc
+
+  [ Reshabh Sharma ]
+  * Integrate opemp as part of the llvm-toolchain packages (Closes: #813672)
+    As part of this work, the transition libiomp packages have been removed.
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 28 Aug 2018 16:28:24 +0200
+
+llvm-toolchain-7 (1:7.1.0~svn353565-1~exp1) UNRELEASED; urgency=medium
+
+  * New stable release.
+    To be clear, this is the same as release 7.0.1
+    To be ABI compliant in Debian between 7 and 7.0.1,
+    I took the pr39427-misscompile.diff.
+    7.1.0 is an official release for downstream users to bring
+    back the ABI compatibility.
+    I am uploading this new version in the archive to:
+    - avoid question like "why we don't have 7.1.0 in the archive?"
+    - align with upstream
+    - clearly show that we kept the ABI
+    Upstream decided to rename the library from 7 to 7.1.0
+    As I kept the ABI, I reverted the patches (debian/patches/7.1.0/*)
+    More info on https://bugs.llvm.org/show_bug.cgi?id=39427
+    and https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=913271
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sat, 09 Feb 2019 16:34:12 +0100
+
+llvm-toolchain-7 (1:7.0.1-7) unstable; urgency=medium
+
+  * kfreebsd/kfreebsd-triple-clang.diff: update of the patch to fix
+    the kfreebsd FTBFS  (Closes: #921246)
+  * Enable ld gold for kfreebsd-amd64 and kfreebsd-i386
+    Many thanks to Svante Signell for the two updates
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Thu, 07 Feb 2019 17:17:40 +0100
+
+llvm-toolchain-7 (1:7.0.1-6) unstable; urgency=medium
+
+  * Add support for kfreebsd (Closes: #921246)
+    Many thanks to Svante Signell for all patches
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sun, 03 Feb 2019 17:27:51 +0100
+
+llvm-toolchain-7 (1:7.0.1-5) unstable; urgency=medium
+
+  * Add 'Rules-Requires-Root: no' in debian/control
+  * llvm-7-examples: Force the same version of llvm-7-dev to mitigate
+    a debci issue
+    https://ci.debian.net/data/autopkgtest/unstable/amd64/l/llvm-toolchain-7/1635547/log.gz
+  * Add 'Rules-Requires-Root: no' in debian/control
+  * Because more and more tools in clang-tools are in python, add
+    the dependency
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Fri, 04 Jan 2019 16:00:41 +0100
+
+llvm-toolchain-7 (1:7.0.1-4) unstable; urgency=medium
+
+  * On old Debian/Ubuntu, run dh_strip using fakeroot to mitigate
+    a permission issue
+
+  [ Gianfranco Costamagna ]
+  * Ignore a test result on i386, due to upstream bug 26580#c18
+
+  * Stable release
+  * Also manages clang-X as tool for scan-build
+    see https://reviews.llvm.org/D52151
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Mon, 17 Sep 2018 13:51:03 +0200
+
+llvm-toolchain-7 (1:7~+rc3-5) unstable; urgency=medium
+
+  [ John Paul Adrian Glaubitz ]
+  * Add patch to fix missing include and library paths on x32
+
+  [ Sylvestre Ledru ]
+  * Only rename libomp when openmp is built
+
+ -- John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>  Fri, 14 Sep 2018 19:54:38 +0200
+
+llvm-toolchain-7 (1:7~+rc3-4) unstable; urgency=medium
+
+  [ Sylvestre Ledru ]
+  * libc++-7-dev doesn't provide libstdc++-dev anymore (Closes: #908738)
+
+  [ Gianfranco Costamagna ]
+  * Force polly cmake removal on arch:all because of --fail-missing
+
+  [ Reshabh Sharma ]
+  * Make OpenMP packages coinstallable from version 7
+  * Make libc++ packages coinstallable from version 7
+
+  [ John Paul Adrian Glaubitz ]
+  * Add patch to fix missing MultiArch include dir
+    on powerpcspe (Closes: #908791)
+  * Disable LLDB on riscv64
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Fri, 14 Sep 2018 11:27:28 +0200
+
+llvm-toolchain-7 (1:7~+rc3-3) unstable; urgency=medium
+
+  [ John Paul Adrian Glaubitz ]
+  * Disable OpenMP on unsupported architecture x32
+
+  [ Sylvestre Ledru ]
+  * Build llvm using -DLLVM_USE_PERF=yes (Closes: #908707)
+
+  [ Gianfranco Costamagna ]
+  * Install polly only on arch:all packages
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org>  Thu, 13 Sep 2018 09:31:29 +0200
+
+llvm-toolchain-7 (1:7~+rc3-2) unstable; urgency=medium
+
+  [ John Paul Adrian Glaubitz ]
+  * Fix inverted logic in ifeq statement for POLLY_ENABLE
+    and OPENMP_ENABLE (Closes: #908646)
+
+  [ Gianfranco Costamagna ]
+  * Drop gnustep and gnustep-devel suggestions (Closes: #902847)
+  * Enable polly on s390x
+  * Disable omp on armel mips and mipsel for now
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org>  Wed, 12 Sep 2018 10:58:12 +0200
+
+llvm-toolchain-7 (1:7~+rc3-1) unstable; urgency=medium
+
+  [ John Paul Adrian Glaubitz ]
+  * Disable OpenMP on unsupported architectures powerpc,
+    powerpcspe, riscv64 and sparc64 (Closes: #907912)
+
+  [ Sylvestre Ledru ]
+  * New snapshot release
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Mon, 10 Sep 2018 17:01:25 +0200
+
+llvm-toolchain-7 (1:7~+rc2-1~exp3) experimental; urgency=medium
+
+  * Remove libtool flex, bison, dejagnu, tcl, expect,
+    and perl from the build deps (testing)
+  * Disable force-gcc-header-obj.diff as it is introducing
+    some regressions in the search headers
+    (Closes: #903709)
+
+  [ Gianfranco Costamagna ]
+  * Fix build on armhf, by removing some installed package
+  * Fix build on s390x, by disabling OpenMP
+  * Add liblldb-7-dev to python-lldb runtime dependencies, needed to import it
+  * Enable lld on arm64, mips64el
+  * Enable lldb on mips64el
+
+  [ Reshabh Sharma ]
+  * Add version for libc++ and OpenMP packages breaks/replaces
+  * Remove libc++-helpers package
+    - No real value
+    - Just two scripts
+    - Command line arguments aren't that complex
+  * Fix autopkgtest support
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Mon, 03 Sep 2018 09:16:22 +0200
+
+llvm-toolchain-7 (1:7~+rc2-1~exp2) experimental; urgency=medium
+
+  * Force sphinx to be >> 1.2.3
+  * Also ignore libc++experimental.a on dh_strip (fails on stretch)
+  * Make libc++-7-dev & libc++abi-7-dev coinstallable
+
+  [ John Paul Adrian Glaubitz ]
+  * Don't build with ld.gold on powerpcspe
+  * Disable polly on powerpcspe
+  * Add upstream patch to make rustc build on powerpc
+
+  [ Gianfranco Costamagna ]
+  * Enable lld on ppc64el
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Mon, 27 Aug 2018 10:57:41 +0200
+
+llvm-toolchain-7 (1:7~+rc2-1~exp1) experimental; urgency=medium
+
+  * New snapshot release
+  * dh_strip should be verbose
+  * On Stretch (binutils 2.28), do not run strip on libFuzzer.a, libc++.a
+    & libc++abi.a because it segfaults
+  * Fixed "weak-library-dev-dependency libc++-7-dev on libc++-7-helpers"
+  * Fixed "libomp5-7: shlibs-declares-dependency-on-other-package
+           libomp5-7) (>= 1:7~svn298832-1~)"
+  * Also use the local cmake binary if available (for trusty)
+    and take in account the PRE_PROCESS_CONF option
+
+  [ Reshabh Sharma ]
+  * Fixed "Lintian warnings for libc++abi-7-dev package"
+    - Warning: libc++abi-7-dev: breaks-without-version libc++-dev
+    - Warning: libc++abi-7-dev: breaks-without-version libc++abi-dev
+    - Warning: llvm-toolchain-7 source: binaries-have-file-conflict
+      libc++abi-7-dev libc++abi1-7 usr/lib/llvm-7/lib/libc++abi.so
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Thu, 16 Aug 2018 17:49:31 +0200
+
+llvm-toolchain-7 (1:7~+rc1-1~exp2) experimental; urgency=medium
+
+  * Disable force-gcc-header-obj.diff as it is introducing
+    some regressions in the search headers
+    (Closes: #903709)
+  * libc++-7-dev should depend on libc++-7-helpers (and not
+    libc++-helpers)
+  * Fix the links in the helper package
+
+  [ Reshabh Sharma ]
+  * Fix the path to libc++ header
+  * libc++.so was in two packages
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 15 Aug 2018 15:27:57 +0200
+
+llvm-toolchain-7 (1:7~+rc1-1~exp1) experimental; urgency=medium
+
+  * First testing release of 7
+    - Rename packages
+    - Update the VCS-* URL
+  * Standards-Version to 4.2.0
+
+  [ Dimitri John Ledkov ]
+  * Enable lldb on ppc64el LP: #1777136
+
+  [ Reshabh Sharma ]
+  * Integrate libcxx and libcxxabi as part of the llvm-toolchain packages
+    Very similar to the previous packages
+    except that libc++abi-7-test & libc++-7-test are no longer shipped
+    Outcome of the LLVM GSoC 2018
+    (Closes: #813673)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 07 Aug 2018 19:25:09 +0200
+
+llvm-toolchain-snapshot (1:7~svn336894-1~exp1) experimental; urgency=medium
+
+  [ Reshabh Sharma ]
+  * Integrate opemp as part of the llvm-toolchain packages (Closes: #813672)
+    As part of this work, the transition libiomp packages have been removed.
+
+  [ Sylvestre Ledru ]
+  Bravo to Reshabh Sharma for his work
+  * Also ship diagtool in clang-tools-X
+  * Also ship hmaptool in clang-tools-X
+  * Enable WebAssembly & AVR as experimental archs (Closes: #899202)
+  * d/p/force-gcc-header-obj.diff Fix the detection of the objc path
+  * clang_getCompletionFixIt, clang_getCompletionNumFixIts & getTokenclang
+    added as new symbols of libclang1
+  * Fix the version with snapshot packages
+    Fixes upstream issue https://bugs.llvm.org/show_bug.cgi?id=37729
+
+  [ Gianfranco Costamagna ]
+  * Bump std-version to 4.1.5, no changes required
+
+  [ Reshabh Sharma ]
+  * Updated debian/control with breaks, provides and conflicts for OpenMP
+    packages (Closes: #903802)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 09 May 2018 14:23:49 +0200
+
+llvm-toolchain-snapshot (1:7~svn330801-1~exp2) experimental; urgency=medium
+
+  * d/p/force-gcc-header-obj.diff Fix the detection of the objc path
+  * Add python-yaml as dep for clang-tidy (Closes: #890514)
+  * d/p/impl-path-hurd.diff: Try to fix an issue with hurd
+
+  [ Peter Wu ]
+  * Make CMake find_package(Clang) work. Fixes upstream bug
+    https://bugs.llvm.org/show_bug.cgi?id=37128
+    - Move Clang*.cmake back to /usr/lib/llvm-X.Y/lib/cmake/clang and install a
+      symlink in /usr/lib/cmake/clang-X.Y.
+    - Ensure that the LLVM installation prefix is correctly discovered despire
+      symlinks (replaces fix-cmake-config-prefix.diff).
+    - Create /usr/lib/llvm-X.Y/bin/clang-X.Y symlink as required by
+      ClangTargets-relwithdebinfo.cmake.
+    - Remove useless LLVM_CMAKE_DIR sed command that did not match anything.
+    - Ignore missing binaries in ClangTargets-relwithdebinfo.cmake.
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Mon, 07 May 2018 23:27:26 +0200
+
+llvm-toolchain-6.0 (1:6.0.1~+rc1-1~exp1) experimental; urgency=medium
+
+  * New snapshot release
+  * Fix a typo in the debci
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Thu, 26 Apr 2018 08:02:09 +0200
+
+llvm-toolchain-6.0 (1:6.0-3) unstable; urgency=medium
+
+  * Remove sysconf_interceptor_bypass_test.cc because it makes
+    Debian unstable and Ubuntu bionic freeze
+  * Remove the info text from the manpages (Closes: #894734)
+  * Remove a bunch of old unused patches
+  * Fix debian-watch-uses-insecure-uri as upstream has now https
+  * Standards-Version updated to 4.1.3
+  * llvm-dsymutil has been renamed to dsymutil
+  * Remove sysconf_interceptor_bypass_test.cc because it makes
+    Debian unstable and Ubuntu bionic freeze
+  * library-binary-filename.diff removed (applied upstream)
+  * Add clang_File_tryGetRealPathName as new symbol in libclang
+
+  [ Reshabh Sharma ]
+  * Enable autopkgtest for amd64 & i386 on the llvm test suite
+    (Closes: #774294)
+
+  [ Nicholas D Steeves ]
+  * Fix the lintian error 'privacy-breach-uses-embedded-file'
+    (Closes: #829361)
+
+  [ Athos Ribeiro ]
+  * Create symlink to run-clang-tidy-X.Y.py to remove its .py extension
+    (Closes: #892089)
+
+  [ David Tenty ]
+  * Migrate to automatic debug packages (Closes: #893267)
+
+  [ Sylvestre Ledru ]
+  * New snapshot release
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 25 Apr 2018 10:59:20 +0200
+
+llvm-toolchain-snapshot (1:7~svn327768-1) unstable; urgency=medium
+
+  * New snapshot release
+  * create the directory for the mips stuff
+  * Fail the build when new symbols are added
+  * 5 new symbols:
+    - clang_PrintingPolicy_dispose
+    - clang_PrintingPolicy_getProperty
+    - clang_PrintingPolicy_setProperty
+    - clang_getCursorPrettyPrinted
+    - clang_getCursorPrintingPolicy
+  * Use upstream ld.lld manpage instead of help2man
+  * Move the VCS to git.
+    Many thanks to James Clarke for doing the conversion
+  * Create the directory before having the manpages generated
+  * clang-tidy-7 also depends on clang-tools-7 for, at least
+    clang-apply-replacements
+  * Automatically update the debian/README
+  * clang-tidy-7: depends on libclang-common-7-dev
+    (Closes: #891999)
+
+  [ James Clarke ]
+  * Disable LLDB on powerpcspe
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sat, 17 Mar 2018 14:56:19 +0100
+
+llvm-toolchain-snapshot (1:7~svn323616-1~exp1) experimental; urgency=medium
+
+  * New snapshot release
+  * Fix llvm-config with the change of versioning (Closes: #888592)
+  * Update the creation of the README to unbreak the mips* FTBFS
+  * Update of the clang-tools-X.Y description
+  * ignore source: source-is-missing lldb/unittests/
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sun, 28 Jan 2018 13:43:37 +0100
+
+llvm-toolchain-snapshot (1:7~svn322880-1) unstable; urgency=medium
+
+  * Change the versioning from X.Y to X as upstream is using
+    X.Y.Z and X
+    I am keeping the epoch because it would be too complex to manage
+    with the various updates scenario
+  * Two new symbols in libclang
+    - clang_getFileContents
+    - clang_isInvalidDeclaration
+  * Fix the VCS-* tags
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Thu, 18 Jan 2018 20:50:03 +0100
+
+llvm-toolchain-6.0 (1:6.0.1-11) unstable; urgency=medium
+
+  * Remove 'Multi-Arch: same' in libclang
+    (Closes: #874248)
+  * Cherry-pick various llvm fixes for Julia
+    (Closes: #919628)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sat, 09 Feb 2019 17:22:59 +0100
+
+llvm-toolchain-6.0 (1:6.0.1-10) unstable; urgency=medium
+
+  * Fix a baseline violation on armhf (Closes: #914268)
+    Thanks to Adrian Bunk
+    doing that for the Julia package.
+
+  [ John Paul Adrian Glaubitz ]
+  * Add patch to fix missing include and library paths on x32
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 23 Jan 2019 23:25:50 +0100
+
+llvm-toolchain-6.0 (1:6.0.1-9.2) unstable; urgency=medium
+
+  * Non-maintainer upload.
+  * debian/patches/D53557-hurd-self-exe-realpath.diff: Fix paths returned by
+    llvm-config (Closes: Bug#911817).
+
+ -- Samuel Thibault <sthibault@debian.org>  Wed, 24 Oct 2018 22:44:54 +0000
+
+llvm-toolchain-6.0 (1:6.0.1-9.1) unstable; urgency=medium
+
+  * Non-maintainer upload.
+  * Apply hurd fixes (Closes: #908847).
+    - hurd-lib_Support_Unix_Path.inc.diff
+    - hurd-pathmax.diff
+    - hurd-tools_llvm-shlib_CMakeLists.txt.diff
+
+ -- Samuel Thibault <sthibault@debian.org>  Tue, 16 Oct 2018 20:18:39 +0000
+
+llvm-toolchain-6.0 (1:6.0.1-8) unstable; urgency=medium
+
+  [ John Paul Adrian Glaubitz ]
+  * Fix inverted logic in ifeq statement for POLLY_ENABLE (Closes: #908646)
+
+  [ Gianfranco Costamagna ]
+  * Fixup the polly installation failure where polly is not built
+  * Add s390x to polly architectures
+  * Fix typo in rules file
+
+  [ Sylvestre Ledru ]
+  * Disable sse2 on pentium4 arch (Closes: #632472)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Thu, 13 Sep 2018 10:04:42 +0200
+
+llvm-toolchain-snapshot (1:6.0~svn321385-1) unstable; urgency=medium
+
+  * Snapshot upload before rc1 (January)
+  * Create clang-tools-6.0 and move the various clang tools into it
+    clang-tools-6.0 depends on clang-6.0. This might affect some packages.
+    (Closes: #836397)
+  * Bring back the libedit support in lldb
+    Fix upstream bug https://bugs.llvm.org/show_bug.cgi?id=35291
+  * Also ship ld64.lld and wasm-ld in the lld-X.Y package
+  * Update d/rules to reflect the move of libfuzzer into compiler-rt
+  * Update of the copyright file (Closes: #878502)
+    Thanks to Nicholas D Steeves for the work
+  * Try to fix the mipsel FTBFS (Closes: #877567)
+    I am trying the first option from the bug:
+    - gsplit-dward on 32 bits archs
+    - -g everywhere
+    Many thanks to Adrian Bunk for that
+  * Use ?= for some variables declarations
+  * Remove the hardcoded declarations of llvm version in debian/rules
+  * add /usr/lib/cuda to the CUDA toolkit search paths
+    Thanks to Andreas Beckmann for the patch (Closes: #882505) (LP: #1706326)
+  * Fix the fix-scan-view-path.diff path
+  * Move libomp-dev from Suggests to Recommends (Closes: #882781)
+  * Add a symlink to fix lldb-X.Y (Closes: #881993)
+  * Remove update-cuda-search-path.patch (applied upstream)
+  * Also install usr/bin/lldb-test-6.0
+  * liblld-6.0-dev depends on liblld-6.0 (Closes: #856545)
+  * Add new symbols for libclang1:
+    - clang_CXIndex_setInvocationEmissionPathOption
+    - clang_CXXRecord_isAbstract
+    - clang_Cursor_getObjCManglings
+    - clang_getCursorTLSKind
+  * add test-keep-alive.diff to improve the keep alive for some
+    archs like mips*
+  * Standards-Version: 4.1.1
+  * remove liblld-6.0-dbg for now
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Fri, 22 Dec 2017 21:41:17 +0100
+
+llvm-toolchain-snapshot (1:6.0~svn315736-1) unstable; urgency=medium
+
+  * New snapshot
+  * Ship liblldMinGW lld lib
+  * Ship clang-refactor & clang-func-mapping in clang-X.Y
+  * Remove the -Wl option to call gold instead of the normal linker
+    (Closes: #876787)
+  * Force the deactivation of ocaml until the transition is done
+  * Standards Version 4.1.0
+
+  [ Gianfranco Costamagna ]
+  * Enable ocaml on release architectures.
+  * Add NDEBUG flag, lost in the -g -> -g1 switch
+
+  [ Matthias Klose ]
+  * Link with --no-keep-files-mapped --no-map-whole-files when using gold.
+  * build using gold on arm64 and s390x. For backports, arm64 might still
+    need the BFD linker, and building with only one or two processes in
+    parallel.
+  * On amd64, s390x, arm64 and ppc64el, build with -g1 instead of -g.
+  * Set CMAKE_CXX_FLAGS_RELWITHDEBINFO and pass opt_flags.
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Mon, 11 Sep 2017 22:27:20 +0200
+
+llvm-toolchain-snapshot (1:6.0~svn311834-2) unstable; urgency=medium
+
+  * Fix the FTBFS because of -gsplit-dwarf:
+    - Only enable it on archs which needs it
+    - Only enable it when gcc supports it correctly
+  * Fail the build if the arch + gcc has a broken gsplit-dwarf support
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Thu, 31 Aug 2017 19:14:53 +0200
+
+llvm-toolchain-snapshot (1:6.0~svn311834-1) unstable; urgency=medium
+
+  * Link LLDB with -latomic on powerpcspe (Closes: #872267)
+  * Fix the C++ include path order (Closes: #859083)
+  * Disable -gsplit-dwarf when using gcc 7 for causing a linking issue
+    See https://bugs.llvm.org/show_bug.cgi?id=34140
+    (Closes: #853525)
+  * clang was producing unusable binaries on armv5tel (Closes: #873307)
+    Thanks to Adrian Bunk for the patch
+  * With Ubuntu Trusty (for apt.llvm.org), the build fails
+    on internal compiler error: in output_index_string, at dwarf2out.c:218
+    force the usage of gcc 4.9
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sat, 26 Aug 2017 22:35:00 +0200
+
+llvm-toolchain-snapshot (1:6.0~svn310776-1) unstable; urgency=medium
+
+  * We moved from 5.0 to 6.0
+  * Ship the opt-viewer new program as part of llvm-6.0 tools
+  * ld.lld manpage wasn't installed
+  * Disable the clang-fix-cmpxchg8-detection-on-i386.patch patch
+    because breaks the build with
+    'error: 'isCmpXChg8Supported' was not declared in this scope'
+  * Remove usr/bin/liblldb-intel-mpxtable.so-6.0 as it seems to be removed
+    from usptream
+  * Force the usage of gcc 6 until the link issues with gcc 7 are fixed
+    https://bugs.llvm.org/show_bug.cgi?id=34140
+
+  [ Katsuhiko Nishimra ]
+  * Ensure /usr/bin/g++-$(GCC_VERSION) exists (Closes: #871591)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Thu, 27 Jul 2017 23:16:06 +0200
+
+llvm-toolchain-snapshot (1:5.0~svn305653-1) unstable; urgency=medium
+
+  [ Gianfranco Costamagna ]
+  * Re-add clang-doc documentation
+
+  [ Sylvestre Ledru ]
+  * New snapshot release
+  * Fix a hurd PATH_MAX issue
+  * Transform the lldb swig check from a error to a warning
+  * Add libomp-dev to the suggests of clang
+  * Add Provides on python-lldb-x.y & python-clang-x.y & libllvm-x.y-ocaml-dev
+    to avoid the recurring problem about conflicts
+    (Closes: #835546, #863739, #863742)
+  * Standards-Version => 4.0.0
+  * Generate the llvm-tblgen, clang-change-namespace, clang-offload-bundler
+    lld, clang++, clang-check, clang-cpp & clang-import-test manpages
+  * Remove the --no-discard-stderr option from help2man calls
+  * use -DPOLLY_BUNDLED_JSONCPP=OFF & add pkg-config as a dep (to help find
+    the files)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Fri, 09 Jun 2017 12:04:56 +0200
+
+llvm-toolchain-snapshot (1:5.0~svn302368-1~exp1) experimental; urgency=medium
+
+  * Only enable libfuzzer for Linux kernel.
+    Thanks to Pino Toscano for the patch
+  * Add option -DPOLLY_BUNDLED_JSONCPP=ON
+    to use the system lib instead of the patch d/p/use-deb-json.diff
+  * New symbols added in libclang
+     - clang_EvalResult_getAsLongLong
+     - clang_EvalResult_getAsUnsigned
+     - clang_EvalResult_isUnsignedInt
+     - clang_TargetInfo_dispose
+     - clang_TargetInfo_getPointerWidth
+     - clang_TargetInfo_getTriple
+     - clang_Type_isTransparentTagTypedef
+     - clang_getAllSkippedRanges
+     - clang_getTranslationUnitTargetInfo
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sun, 07 May 2017 12:13:43 +0200
+
+llvm-toolchain-snapshot (1:5.0~svn298899-1) unstable; urgency=medium
+
+  * Limit the archs where the ocaml binding is built
+    Should fix the FTBFS
+    Currently amd64 arm64 armel armhf i386
+  * d/p/add_symbols_versioning.patch removed (applied upstream)
+  * Really fix "use versioned symbols" for llvm
+    Thanks to Julien Cristau for the patch (Closes: #849098)
+  * Explicit the dep of clang-tidy on same version of llvm to avoid
+    undefined symbols
+  * Add override_dh_makeshlibs for the libllvm or liblldb versions
+    Thanks to Julien Cristau for the patch
+  * change the min version of the libclang1 symbols to 1:4.0-3~
+  * Fix the symlink on scan-build-py
+  * add libncurses in the list of build deps (Closes: #861170)
+
+  [ Rebecca N. Palmer ]
+  * Use versioned symbols (Closes: #848368)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sun, 09 Apr 2017 10:11:56 +0200
+
+llvm-toolchain-snapshot (1:5.0~svn294583-1~exp1) experimental; urgency=medium
+
+  * New snapshot release
+  * New library liblldb-intel-mpxtable.so
+  * Fix the incorrect symlink to scan-build-py (Closes: #856869)
+  * Explicit the dep of clang-format on same version of llvm to avoid
+    undefined symbols
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Mon, 16 Jan 2017 09:03:48 +0100
+
+llvm-toolchain-snapshot (1:5.0~svn292017-1~exp1) experimental; urgency=medium
+
+  * New snapshot release
+    snapshot is now 5.0
+  * d/p/silent-amdgpu-test-failing.diff silent amdgpu tests failing
+    (see upstream bug 31610)
+  * d/p/lldb-server-link-issue.patch removed, merged upstream
+  * Also install python-lldb-5.0 when installing lldb-5.0 (Closes: #851171)
+  * Bring back the content of llvm-5.0-doc (Closes: #844616)
+  * Bring back the content of llvm-4.0-doc (Closes: #844616)
+  * d/p/pthread-link.diff Hardcode like to pthread which was missing for
+    libclang
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sat, 14 Jan 2017 16:36:51 +0100
+
+llvm-toolchain-snapshot (1:4.0~svn291344-1) unstable; urgency=medium
+
+  * New snapshot release
+  * Disable libedit usage in lldb because of garbage (Closes: #846616, #850111)
+  * Build lld
+    - d/p/lld-arg-cmake-issue.diff fixes upstream bug #27685
+  * ship clang-tblgen
+  * Run clang extra test suite
+  * Fix the detection of lldb-server
+  * Fix the run of the check-lldb target
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sat, 07 Jan 2017 12:24:32 +0100
+
+llvm-toolchain-snapshot (1:4.0~svn290810-1) unstable; urgency=medium
+
+  * New snapshot release
+  * d/p/kfreebsd-support.diff removed (applied upstream)
+  * debian/orig-tar.sh: less verbose
+  * d/p/lldb-missing-install.diff: For the install
+    of lldb-server and lldb-argdumper as they are not always installed
+  * Ship new binary in clang-X.Y: clang-import-test
+  * New symbols in libclang1:
+    - clang_EvalResult_getAsLongLong
+    - clang_EvalResult_getAsLongLong
+    - clang_EvalResult_isUnsignedInt
+  * Fix a regression in the test run for the code coverage
+  * Silent ThinLTO/X86/autoupgrade.ll, fails with code coverage (and maybe others)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Mon, 02 Jan 2017 13:51:06 +0100
+
+llvm-toolchain-snapshot (1:4.0~svn286225-1) unstable; urgency=medium
+
+  * New snapshot release
+  * Remove the info section from the generated manpages (Closes: #846269)
+
+  [ Kai Wasserbäch ]
+  * debian/patches/{0003-Debian-version-info-and-bugreport.patch,
+    0044-soname.diff,23-strlcpy_strlcat_warning_removed.diff,
+    26-set-correct-float-abi.diff,atomic_library_[12].diff,
+    fix-clang-path-and-build.diff,fix-lldb-server-build,lldb-libname.diff,
+    lldb-soname.diff,mips-fpxx-enable.diff,removeduplicatedeclaration.diff}:
+    Refreshed.
+  * debian/patches/{silent-gold-utils,kfreebsd-support}.diff: Updated.
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 08 Nov 2016 12:19:55 +0100
+
+llvm-toolchain-snapshot (1:4.0~svn282142-1~exp1) experimental; urgency=medium
+
+  * The libstdc++-6-dev & libobjc-6-dev are only install with clang-X.Y
+    and libclang-X.Y-dev and no longer with libclang1-X.Y
+    (Closes: #841309)
+  * Fix the VCS-* fields
+
+  [ Kai Wasserbäch ]
+  * debian/patches/{23-strlcpy_strlcat_warning_removed.diff,
+    0003-Debian-version-info-and-bugreport.patch, atomic_library_[12].diff,
+    python-clangpath.diff,removeduplicatedeclaration.diff,
+    fix-clang-path-and-build.diff,mips-fpxx-enable.diff}: Refreshed.
+  * debian/patches/{silent-more-tests.diff,silent-MCJIIT-tests.diff}: Updated.
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Mon, 24 Oct 2016 10:45:07 +0200
+
+llvm-toolchain-3.9 (1:3.9-6) unstable; urgency=medium
+
+  * Fix segfaults in the memory sanitizers (Closes: #842642)
+    Caused by the newer glibc. Many thanks for Nobert Lange for everything
+  * Enable the sanitizers testsuite
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Fri, 11 Nov 2016 17:01:38 +0100
+
+llvm-toolchain-3.9 (1:3.9-5) unstable; urgency=medium
+
+  * d/p/0011-SimplifyCFG-Hoisting-invalidates-metadata.patch: Also apply bug 29163
+    to fix some issues in rust (Closes: #842956)
+    Many thanks to Ximin Luo for the investigation
+
+  * libclang-common-4.0-dev: missing multilib binaries for the sanitizer
+    libraries (Closes: #841923)
+    Many thanks to Norbert Lange for the changes
+
+  [ Pauli ]
+  * d/p/clang-fix-cmpxchg8-detection-on-i386.patch:
+    libcxx atomic tests for old i386 fail with wrong Atomic inline width.
+    Needed for libc++
+    (See https://llvm.org/bugs/show_bug.cgi?id=19355)
+  * d/p lldb-addversion-suffix-to-llvm-server-exec.patch:
+    Fix the lldb-server call in some cases
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Fri, 04 Nov 2016 17:18:07 +0100
+
+llvm-toolchain-3.9 (1:3.9-4) unstable; urgency=medium
+
+  * LLVMConfig.cmake was installed into wrong location
+    Install a symlink from lib/cmake/llvm to share/llvm/cmake
+    (Closes: #839234)
+  * Fix a path issue in scan-view. Thanks Riccardo Magliocchetti
+    (Closes: #838572)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Mon, 31 Oct 2016 10:47:52 +0100
+
+llvm-toolchain-3.9 (1:3.9-3) unstable; urgency=medium
+
+  [ Sylvestre Ledru ]
+  * The libstdc++-6-dev & libobjc-6-dev are only install with clang-X.Y
+    and libclang-X.Y-dev and no longer with libclang1-X.Y
+    (Closes: #841309)
+
+  [ Gianfranco Costamagna ]
+  * Team upload
+  * d/p/drop-wrong-hack-arm64.patch:
+    - drop hack that was preventing the package from building on
+      non-amd64 64bit architectures:
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org>  Thu, 27 Oct 2016 11:45:28 +0200
+
+llvm-toolchain-snapshot (1:4.0~svn280796-1~exp1) experimental; urgency=medium
+
+  * Merge clang-include-fixer-4.0 into clang-4.0. Don't think
+    it deserves it own package
+  * python-lldb-4.0 archs "any" to a list like others pkg
+  * Fix a version issue with run-clang-tidy-4.0.py
+  * Also install clang-change-namespace-4.0
+
+  [ Kai Wasserbäch ]
+  * debian/clang-X.Y.install.in: Added clang-cpp.
+  * debian/patches: Refreshed.
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Fri, 02 Sep 2016 13:11:56 +0200
+
+llvm-toolchain-3.9 (1:3.9-1) unstable; urgency=medium
+
+  * New stable release
+  * Port to kfreebsd. Many thanks to Pino Toscano
+    (Closes: #835665)
+  * clang_getAllSkippedRanges in the list of libclang1 symbols
+  * Try to disable the execution of the testsuite for scan-build & coverity
+    for real
+  * Also ship clang-reorder-fields as part of the clang-4.0 package
+  * Build lldb on arm64. Hopefully, works.
+  * New snapshot release
+  * Tentative fix for lldb-server build
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 07 Sep 2016 12:02:12 +0200
+
+llvm-toolchain-snapshot (1:4.0~svn279916-1) unstable; urgency=medium
+
+  * Snapshot is now 4.0
+  * Introduce clang-include-fixer-4.0
+  * Fix the usage of jsoncpp in polly. Thanks to James Clarke for the patch
+    (Closes: #835607)
+  * Fix the renaming of the manpages (Closes: #834077)
+  * Use the manpage from clang.rst instead of help2man
+  * Disable the build of lldb on mips64el, ppc64 and s390x for real
+  * Add symlink from ./build to ../share and ../lib etc
+    Thanks to Ximin Luo for the patch (Closes: #834144)
+  * Sync the 3.9 changes into 4.0
+  * Fix the cmake paths in llvm-4.0-dev deb package. Thanks to Brad King
+    for the patch (Closes: #819072)
+  * Bring back the lto (gone with the cmake migration)
+    (Closes: #819333) (upstream: #27223)
+  * LLVMConfig.cmake is now installed to <prefix>/lib/cmake/llvm instead of
+    <prefix>/share/llvm/cmake
+    Thanks to Brad King of the fix
+  * Disable lldb on sparc64 (Closes: #832371)
+  * Also install clang-rename.el & clang-rename.py in clang-4.0
+  * scan-build llvm results are built using --show-description
+  * Generate manpages for lli, lldb-mi & git-clang-format
+  * Fix some lintian overrides
+  * Generate more manpages
+  * Remove some garbage from the manpages (Closes: #815991, #804347)
+  * Disable -gsplit-dwarf on Ubuntu precise
+  * Update the coverity configuration (Debian has moved to gcc 6)
+  * remove compiler-rt-path.diff (file removed upstream, probably because
+    we moved to cmake)
+  * Ship clang-offload-bundler in clang 4.0
+  * Set the correct Conflicts for python-clang-4.0, python-lldb-4.0
+    (Closes: #832410)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sat, 27 Aug 2016 14:19:41 +0200
+
+llvm-toolchain-snapshot (1:4.0~svn275970-1~exp1) experimental; urgency=medium
+
+  * New snapshot release
+  * Bring back llvm-4.0-tools to life
+  * ship clang-tblgen & yaml-bench as part of the libclang-common-X.Y-dev
+    package
+
+  * amd64 llvm testsuite is green, bring back the failure in case of error
+  * Fix the cmake paths in llvm-3.9-dev deb package. Thanks to Brad King
+    for the patch (Closes: #819072)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Mon, 25 Jul 2016 12:18:52 +0200
+
+llvm-toolchain-3.9 (1:3.9~svn275918-1~exp1) experimental; urgency=medium
+
+  * New snapshot release
+  * Silent test CodeGen/SPARC/LeonInsertNOPsDoublePrecision.ll
+  * ship lli-child-target as part of the llvm-X.Y-runtime package
+  * Bring back llvm-3.9-tools to life
+  * ship clang-tblgen & yaml-bench as part of the libclang-common-X.Y-dev
+    package
+  * ship lli-child-target as part of the llvm-X.Y-runtime package
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 19 Jul 2016 15:34:08 +0200
+
+llvm-toolchain-snapshot (1:3.9~svn274438-1) unstable; urgency=medium
+
+  * Remove the autoconf section
+  * Bring back the removal of the build dir
+  * Fix the coverage builds (didn't allow several cflags)
+  * Set the correct conflicts on python-lldb-3.8 (Closes: #817873)
+  * Set the correct conflicts on python-clang-3.8 (Closes: #817872)
+  * remove llvm26003-sanitizer-check-env.diff (merged upstream)
+  * Do not fail the build if the manpages cannot be built (failing on
+    Ubuntu precise)
+  * Install libfindAllSymbols.a as part of libclang-X.Y-dev
+  * Ship scan-build-py
+  * Use the libjsoncpp library embedded (fails to link otherwise)
+  * Standards-Version 3.9.8
+  * cmake files moved from usr/lib/llvm-3.9/share/llvm/cmake/
+    to usr/lib/llvm-3.9/lib/cmake/llvm/
+    (upstream change)
+  * Add a symlink from usr/lib/llvm-3.9/share/llvm/cmake
+    pointing to usr/share/llvm-3.9/cmake
+  * Disable the run of lldb testsuite because of LLVM_LINK_LLVM_DYLIB=ON:
+    https://llvm.org/bugs/show_bug.cgi?id=28127
+  * Add -gsplit-dwarf to CXXFLAGS to workaround the memory allocation
+    issue on i386
+  * Ignore the lintian override about embedded-library for json.
+    Doesn't link otherwise
+  * Fix the soname of libclang and libLLVM. Might cause some breakage with
+    existing app but no choice...
+
+  [ Pablo Oliveira ]
+  * Add python-six as a dependency of python-lldb (Closes: #825371)
+    (thanks to Askar Safin)
+  * Fix lldb symlinks
+  * Fix missing _lldb.so import during lldb testsuite
+
+  [ Ed Schouten ]
+  * Preparation of the support of lld (not ready yet)
+
+  [ Kai Wasserbäch ]
+    * debian/rules:
+      - Ensure ld-gold is used. CMake invokes the linker through g++ most of the
+        time, therefore we need to set -Wl,-fuse-ld=gold.
+      - Remove unused variable "confargs".
+
+  [ Brad King ]
+  * Install cmake files in usr/share/llvm-@LLVM_VERSION@/cmake/ instead of
+    usr/share/llvm-@LLVM_VERSION@/cmake/
+  * Also install libLLVM-3.8.so.1 as a symlink
+  * debian/patches/fix-cmake-config-prefix.diff:
+    cover the CMake build system too
+  (Closes: #819072)
+
+  [ Alexis La Goutte ]
+  * Fix an issue with scan-view (Closes: #825101)
+
+  [ YunQiang Su ]
+  * Enable FPXX by default on mips/mipsel (Closes: #826749)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sat, 02 Jul 2016 20:46:05 +0200
+
+llvm-toolchain-snapshot (1:3.9~svn260851-1) unstable; urgency=medium
+
+  * New snapshot
+  * Switch to 3.9 (remove lldb-3.9-dev as it was a transitional pkg)
+  * Update the clang description for something more accurate (C++-11, 14, etc)
+  * Cmake migration. Done by Andrew Wilkins. Many thanks to him
+    - Update patches to set SONAME in CMake build
+    - Create symlinks with ".links", don't install from build tree
+    - Remove LLVM-internal tools (lit, FileCheck, not, tblgen, etc.)
+    - Remove llvm-X.Y-tools package, because it contained only
+      internal tools that are not intended for distribution.
+    - Remove autotools-specific artifacts from packages.
+    - Remove "dummy" documentation artifacts from llvm-X.Y-docs
+      package. Not built/installed by CMake, not useful.
+    - Update control/rules to support CMake
+    - Patch LLDB SWIG interfaces to workaround a bug in SWIG
+      See https://llvm.org/bugs/show_bug.cgi?id=25468
+    - add missing files to clang-format
+    - Add patch to fix sanitizer lit invocation
+    - removed LLVM-internal tools (lit, FileCheck, not, *-tblgen, etc.);
+      not installed by CMake, not intended for distribution
+    - removed llvm-X.Y-tools (contained only internal tools)
+    - removed autotools-specific artifacts (configure, Makefile, etc.)
+    - removed dummy documentation files
+  * Sync against 3.8
+  * Disable "Sphinx warnings treated as errors"
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 08 Mar 2016 09:50:29 +0100
+
+llvm-toolchain-3.8 (1:3.8-1) unstable; urgency=medium
+
+  * New upstream release
+  * Install a missing library to unbreak lldb (Closes: #815809)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Thu, 03 Mar 2016 21:16:21 +0100
+
+llvm-toolchain-3.8 (1:3.8~+rc3-1~exp1) experimental; urgency=medium
+
+  * New snapshot release
+  * Update the clang description for something more accurate (C++-11, 14, etc)
+  * Update debian/orig-tar.sh to remove autoconf/config.sub autoconf/config.guess
+    in polly
+
+  [ Matthias Klose ]
+  * clang-tidy-3.8: Remove Breaks/Replaces on clang-modernize-3.8.
+  * Disable lldb on s390x.
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Thu, 25 Feb 2016 14:26:14 +0100
+
+llvm-toolchain-3.8 (1:3.8~+rc2-1~exp1) experimental; urgency=medium
+
+  * New snapshot release
+  * Remove build-llvm/ after the install step to save space.
+    Most of the rc1 builds failed because of hd space.
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 03 Feb 2016 08:59:32 +0100
+
+llvm-toolchain-3.8 (1:3.8~+rc1-1~exp1) experimental; urgency=medium
+
+  * New snapshot release
+  * Cmake migration. Done by Andrew Wilkins. Many thanks to him
+    - Update patches to set SONAME in CMake build
+    - Create symlinks with ".links", don't install from build tree
+    - Remove LLVM-internal tools (lit, FileCheck, not, tblgen, etc.)
+    - Remove llvm-X.Y-tools package, because it contained only
+      internal tools that are not intended for distribution.
+    - Remove autotools-specific artifacts from packages.
+    - Remove "dummy" documentation artifacts from llvm-X.Y-docs
+      package. Not built/installed by CMake, not useful.
+    - Update control/rules to support CMake
+    - Patch LLDB SWIG interfaces to workaround a bug in SWIG
+      See https://llvm.org/bugs/show_bug.cgi?id=25468
+    - add missing files to clang-format
+    - Add patch to fix sanitizer lit invocation
+    - removed LLVM-internal tools (lit, FileCheck, not, *-tblgen, etc.);
+      not installed by CMake, not intended for distribution
+    - removed llvm-X.Y-tools (contained only internal tools)
+    - removed autotools-specific artifacts (configure, Makefile, etc.)
+    - removed dummy documentation files
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 20 Jan 2016 16:09:01 +0100
+
+llvm-toolchain-3.8 (1:3.8.1-8) unstable; urgency=medium
+
+  * Disable the usage of ld gold on powerpc (Closes: #833583)
+  * Revert drop-avx512-from-skylake.diff, it is causing some regressions in the
+    testsuite
+  * Disable lldb on ppc64
+  * libfuzzer depends on the same version of clang (Closes: #833564)
+  * Use filter into of findstring in the gold usage. Thanks Doko for the
+    suggestion
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sun, 07 Aug 2016 14:10:09 +0200
+
+llvm-toolchain-3.8 (1:3.8.1-7) unstable; urgency=medium
+
+  * Fix the detection of gcc. This broke the build on the latest unstable
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Fri, 05 Aug 2016 09:55:15 +0200
+
+llvm-toolchain-3.8 (1:3.8.1-6) unstable; urgency=medium
+
+  * Ship libFuzzer in its own package (libfuzzer-X.Y-dev) (Closes: #820159)
+  * Sync from Ubuntu. Many thanks to Matthias Klose
+    - drop-avx512-from-skylake.diff: Don't enable AVX512 on Skylake, as it's
+      a server cpu feature and breaks llvmpipe on workstations.
+    - Remove the build tree before calling dh_strip; at least the amd64 buildd
+      runs out of diskspace at this step.
+    - Add support for gcc's attribute abi_tag (needed for compatibility with
+      GCC 5's libstdc++); taken from the trunk (Closes: #797038)
+      (LP: #1510042, #1488254)
+      D17567-PR23529-Sema-part-of-attrbute-abi_tag-support.diff
+      D18035-PR23529-Mangler-part-of-attrbute-abi_tag-support.diff
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Thu, 28 Jul 2016 11:15:04 +0200
+
+llvm-toolchain-3.8 (1:3.8.1-5) unstable; urgency=medium
+
+  [ Gianfranco Costamagna ]
+  * Try to fix mips64el build, by enabling the same
+    packages as the mips and mipsel versions
+  * Link mips* with latomic.
+
+  [ Sylvestre Ledru ]
+  * Disable lldb on sparc64 (Closes: #832371)
+  * Hopefully fix the FTBFS on armel
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 27 Jul 2016 22:49:09 +0200
+
+llvm-toolchain-3.8 (1:3.8.1-4) unstable; urgency=medium
+
+  * Fix the FTBFS under mips/mipsel? (enable the link against atomic)
+    (Closes: #820537)
+  * Bring back llvm-3.8-tools to life
+  * ship clang-tblgen & yaml-bench as part of the libclang-common-X.Y-dev
+    package
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 20 Jul 2016 10:20:46 +0200
+
+llvm-toolchain-3.8 (1:3.8.1-3) unstable; urgency=medium
+
+  * Add -gsplit-dwarf to CXXFLAGS to workaround the memory allocation
+    issue on i386 (hopefully)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sat, 02 Jul 2016 20:59:08 +0200
+
+llvm-toolchain-3.8 (1:3.8.1-2) unstable; urgency=medium
+
+  [ Sylvestre Ledru ]
+  * Add a symlink from usr/lib/llvm-3.8/share/llvm/cmake
+    pointing to usr/share/llvm-3.8/cmake
+
+  [ Gianfranco Costamagna ]
+  * Remove python-lldb-3.8 where liblldb-3.8-dev is not built
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 28 Jun 2016 14:44:48 +0200
+
+llvm-toolchain-3.8 (1:3.8.1-1) unstable; urgency=medium
+
+  * New maintenance release
+
+  [ Kai Wasserbäch ]
+  * debian/rules: Ensure ld-gold is used. CMake invokes the linker through
+    g++ most of the time, therefore we need to set -Wl,-fuse-ld=gold.
+
+  [ Brad King ]
+  * Followup to fix the cmake install (Closes: #819072)
+
+  [ YunQiang Su ]
+  * Enable FPXX by default on mips/mipsel (Closes: #826749)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Thu, 23 Jun 2016 08:49:29 +0200
+
+llvm-toolchain-3.8 (1:3.8.1~+rc1-1~exp1) experimental; urgency=medium
+
+  * New RC release
+  * Improve the cmake detection (used for llvm.org/apt)
+  * Standards-Version updated to 3.9.8
+  * Ignore outdated-autotools-helper-file
+
+  [ Brad King ]
+  * Install cmake files in usr/share/llvm-@LLVM_VERSION@/cmake/ instead of
+    usr/share/llvm-@LLVM_VERSION@/cmake/
+  * Also install libLLVM-3.8.so.1 as a symlink
+  * debian/patches/fix-cmake-config-prefix.diff:
+    cover the CMake build system too
+  (Closes: #819072)
+
+  [ Pablo Oliveira ]
+  * Fix python-lldb dependencies and make proper symlinks to libLLVM
+    and liblldb as suggested by Graham Inggs (Closes: #821022)
+  * Fix liblldb suffix in lldb/scripts/Python/finishSwigPythonLLDB.py
+    (Closes: #813798)
+  * Fix LLVM bug 26158 - clang packages don't provide man pages
+  * Add python-six as a dependency of python-lldb (thanks to Askar Safin).
+
+  [ Gianfranco Costamagna ]
+  * Make python-lldb-3.8 depend on lldb-3.8-dev, to pick all
+    the required dependencies
+  * Unbreak circular dependency by Suggesting the python binding from
+    liblldb-3.8-dev
+
+  [ Alexis La Goutte ]
+  * Fix an issue with scan-view (Closes: #825101)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Thu, 26 May 2016 17:30:00 +0200
+
+llvm-toolchain-3.8 (1:3.8-2) unstable; urgency=medium
+
+  * Team upload.
+  * Disable polly on s390x and fix polly check.
+  * Fix VCS fields.
+
+  [ Sylvestre Ledru ]
+  * Fix txt file installation issue, by putting a README.txt file
+    with some explanation.
+
+  [ Graham Inggs ]
+  * Tighten llvm dev dependency (Closes: #814142).
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org>  Mon, 07 Mar 2016 10:56:05 +0100
+
+llvm-toolchain-3.8 (1:3.8-1) unstable; urgency=medium
+
+  * New upstream release
+  * Install a missing library to unbreak lldb (Closes: #815809)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Thu, 03 Mar 2016 21:16:21 +0100
+
+llvm-toolchain-3.8 (1:3.8~+rc3-1~exp1) experimental; urgency=medium
+
+  * New snapshot release
+  * Update the clang description for something more accurate (C++-11, 14, etc)
+  * Update debian/orig-tar.sh to remove autoconf/config.sub autoconf/config.guess
+    in polly
+
+  [ Matthias Klose ]
+  * clang-tidy-3.8: Remove Breaks/Replaces on clang-modernize-3.8.
+  * Disable lldb on s390x.
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Thu, 25 Feb 2016 14:26:14 +0100
+
+llvm-toolchain-3.8 (1:3.8~+rc2-1~exp1) experimental; urgency=medium
+
+  * New snapshot release
+  * Remove build-llvm/ after the install step to save space.
+    Most of the rc1 builds failed because of hd space.
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 03 Feb 2016 08:59:32 +0100
+
+llvm-toolchain-3.8 (1:3.8~+rc1-1~exp1) experimental; urgency=medium
+
+  * New snapshot release
+  * Cmake migration. Done by Andrew Wilkins. Many thanks to him
+    - Update patches to set SONAME in CMake build
+    - Create symlinks with ".links", don't install from build tree
+    - Remove LLVM-internal tools (lit, FileCheck, not, tblgen, etc.)
+    - Remove llvm-X.Y-tools package, because it contained only
+      internal tools that are not intended for distribution.
+    - Remove autotools-specific artifacts from packages.
+    - Remove "dummy" documentation artifacts from llvm-X.Y-docs
+      package. Not built/installed by CMake, not useful.
+    - Update control/rules to support CMake
+    - Patch LLDB SWIG interfaces to workaround a bug in SWIG
+      See https://llvm.org/bugs/show_bug.cgi?id=25468
+    - add missing files to clang-format
+    - Add patch to fix sanitizer lit invocation
+    - removed LLVM-internal tools (lit, FileCheck, not, *-tblgen, etc.);
+      not installed by CMake, not intended for distribution
+    - removed llvm-X.Y-tools (contained only internal tools)
+    - removed autotools-specific artifacts (configure, Makefile, etc.)
+    - removed dummy documentation files
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 20 Jan 2016 16:09:01 +0100
+
+llvm-toolchain-snapshot (1:3.8~svn255217-1~exp1) experimental; urgency=medium
+
+  * New snapshot release
+  * Fix an install issue with clang-tidy
+  * clang-modernize has been removed. Long live to clang-tidy, its
+    replacement
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Thu, 10 Dec 2015 05:18:29 +0100
+
+llvm-toolchain-snapshot (1:3.8~svn254193-2) UNRELEASED; urgency=medium
+
+  * disable lldb and polly on powerpc, currently ftbfs.
+    setting the lldb archs in debian/control in just one
+    place would be appreciated.
+  * quoting fixes in debian/rules, when make macros
+    are empty
+    Thanks to Doko for the two previous changes (Closes: #806729)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Mon, 30 Nov 2015 15:34:12 +0100
+
+llvm-toolchain-snapshot (1:3.8~svn254193-1) unstable; urgency=medium
+
+  * New snapshot release
+  * Remove some warnings in the manpages generation (Closes: #795310)
+  * Also ship sancov in clang-3.8
+  * Fix the links to scan-build-3.8 & scan-view-3.8
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 20 Oct 2015 14:07:06 +0200
+
+llvm-toolchain-snapshot (1:3.8~svn250696-1) unstable; urgency=medium
+
+  * Remove macho-dump from LLVM (removed by upstream r248302)
+  * Introduce clang-tidy-3.8 as a separate package. Replaces clang-modernize
+  * Ship run-clang-tidy.py & clang-tidy-diff.py in clang-tidy-3.8
+  * Remove cpp11-migrate-3.8 package. Has been replaced by clang-modernize
+    for a while (which will be replaced by clang-tidy)
+  * Add three new symbols in libclang1
+    - clang_CompileCommand_getFilename@Base
+    - clang_CompileCommand_getMappedSourceContent@Base 3.8
+    - clang_CompileCommand_getMappedSourcePath@Base 3.8
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Mon, 21 Sep 2015 13:16:35 +0200
+
+llvm-toolchain-snapshot (1:3.8~svn247576-1) unstable; urgency=medium
+
+  [ Sylvestre Ledru ]
+  * New snapshot release
+  * Remove CVE-2015-2305.patch. Already fixed upstream in a different
+    way
+  * remove patches merge upstream
+    - lit-lang.diff
+    - locale-issue-ld.diff
+  * Also generate liblldb-3.8-dbg
+  * Select LLVM OpenMP as the default backend
+
+  [ Gianfranco Costamagna ]
+  * d/control: Add more conflicting packages (python-clang and python-lldb)
+    (Closes: #796811, #796843)
+  * Remove an obsolete declaration about dragonegg
+    (cherry-pick from 3.7 branch)
+
+  [ James Price ]
+  * d/p/fix-cmake-config-prefix.diff: fix cmake path,
+    needs a change after upstream revision r241080
+    (Addresses: #794905)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Mon, 14 Sep 2015 18:29:09 +0200
+
+llvm-toolchain-snapshot (1:3.8~svn245286-1) unstable; urgency=medium
+
+  * New snapshot release (3.7 => 3.8)
+    No need to rename libllvm as 3.8 was not part of the debian archive
+
+  [ Gianfranco Costamagna ]
+  * Fix VCS fields.
+  * d/p/CVE-2015-2305.patch, fix security issue on regcomp.c
+  * Fix many lintian warning/errors
+    - copyright fixes
+    - control files
+    - disabled ocaml documentation
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 18 Aug 2015 14:28:36 +0200
+
+llvm-toolchain-snapshot (1:3.7~svn231060-1~exp2) UNRELEASED; urgency=medium
+
+  * Reflect upstream changes wrt vim package. Split the files into different
+    directories
+  * Disable the patch force-gcc-header-obj.diff. Seems to cause bug #23556
+  * Fix the CMake build. thanks to PaweÅ‚ Bylica for the fix.
+    Fix upstream bug #23352
+  * No longer building some clang help page, removing them
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 21 Apr 2015 09:41:41 +0200
+
+llvm-toolchain-snapshot (1:3.7~svn231060-1~exp1) experimental; urgency=medium
+
+  * New snapshot release
+  * Force the version of clang in the analyzer scripts
+    clang-analyzer-force-version.diff
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 03 Mar 2015 09:19:38 +0100
+
+llvm-toolchain-snapshot (1:3.7~svn230857-1) unstable; urgency=medium
+
+  * New snapshot release
+  * Support of gcc 5.0 (Closes: #777988)
+  * compiler-rt-i586.diff: fix a build issue of compiler-rt under i386
+  * lldb-gdbserver & lldb-platform have been merged into lldb-server
+  * Bring back polly and remove libcloog-isl-dev & libisl-dev as build deps
+    (shipped in the polly source tree)
+  * Set the correct conflicts (Closes: #777580, #777581, #777582)
+  * lit-lang.diff: Force the call to ld to be in english
+    (was failing with a french locale)
+  * silent-MCJIIT-tests.diff: enable some tests and silents some other
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sat, 28 Feb 2015 18:44:59 +0100
+
+llvm-toolchain-snapshot (1:3.7~svn227076-1) unstable; urgency=medium
+
+  * New snapshot release
+  * Switch to version 3.7
+  * Standards-Version updated to 3.9.6
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Mon, 26 Jan 2015 09:23:41 +0100
+
+llvm-toolchain-snapshot (1:3.6~svn224810-1) unstable; urgency=medium
+
+  * New snapshot release
+  * Update library filename declaration 3.5 => 3.6 (Closes: #772006)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Fri, 05 Dec 2014 17:46:56 -0800
+
+llvm-toolchain-snapshot (1:3.6~svn221998-1~exp1) experimental; urgency=medium
+
+  * Disable ocaml binding. Needs libctypes-ocaml 0.3.3 which is not available
+  * libllvm*.a is not longer built
+  * Update of the libclang symbols
+  * Improve the copyright file. Thanks to Dann Frazier (Closes: #766778)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 04 Nov 2014 14:43:28 +0100
+
+llvm-toolchain-snapshot (1:3.6~svn218612-1) unstable; urgency=medium
+
+  * Fix my screw up. Add .1 to the libclang soname to make
+    dpkg-shlibdeps happy
+  * Remove useless dependency on doxygen
+  * scan-build could not find clang binary (Closes: #758998)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Fri, 26 Sep 2014 17:05:26 +0200
+
+llvm-toolchain-snapshot (1:3.6~svn218446-1) unstable; urgency=medium
+
+  * New snapshot release
+  * Upload in unstable
+  * Disable the co-instability of lldb & python-lldb
+    (Python stuff conflicts)
+  * Fix bad dependencies on lldb 3.6
+  * Refresh of the list of symbol in libclang
+  * Try to workaround the FTBFS under ppc64el (create an empty directory)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 24 Sep 2014 14:20:49 +0200
+
+llvm-toolchain-snapshot (1:3.6~svn216933-1~exp1) experimental; urgency=medium
+
+  * New snapshot release
+  * sync from 1:3.5~+rc4-2~exp1
+  * libclang-3.6.so should be used instead libclang.so. Update the soname
+    to match the new lib name (Closes: #759538)
+  * Rename liblldb.so to liblldb-3.6.so + update of the soname.
+  * python-clang-3.6 description updated
+  * liblldb-3.6 and python-lldb-3.6 added
+  * lldb-3.6-dev renamed to liblldb-3.6-dev to match the previous changes
+  * Manpages for llvm-ranlib, clang-apply-replacements, pp-trace and clang-tidy
+    added
+  * clang-3.6 should depends on binutils (for ld, at least)
+    (Closes: #751030)
+  * clang/www/analyzer/scripts/dbtree.js removed
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sat, 30 Aug 2014 18:09:20 +0200
+
+llvm-toolchain-snapshot (1:3.6~svn215195-3) unstable; urgency=medium
+
+  * Just like in 3.4 & 3.5, bring back lldb & lldb-dev under mips & mipsel
+  * Ship clang-rename/clang-rename-3.6
+  * Disable libstdc++-header-i386.diff & include-target.diff (merged upstream)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Mon, 18 Aug 2014 09:02:30 +0200
+
+llvm-toolchain-snapshot (1:3.6~svn215195-2) unstable; urgency=medium
+
+  * try to build lldb-mi under kfreebsd (kfreebsd-lldb-mi.diff)
+  * kfreebsd-lldb-gdbserver.diff removed (applied upstream)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Mon, 11 Aug 2014 08:44:13 +0200
+
+llvm-toolchain-snapshot (1:3.6~svn215195-1) unstable; urgency=medium
+
+  * Upload in unstable
+  * Enable compressed debug sections (Closes: #757002)
+  * Force scan-build to use the same version of clang
+  * Old JIT has been removed. 0050-powerpcspe-fp.diff is useless
+  * try to build lldb-gdbserver under kfreebsd (kfreebsd-lldb-gdbserver.diff)
+  * Second try to fix build under HURD (hurd-EIEIO-undef.diff)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Mon, 04 Aug 2014 13:36:15 +0200
+
+llvm-toolchain-3.4 (1:3.4.2-8) unstable; urgency=medium
+
+  * Try to bring back lldb-3.4-dev on mips & mipsel (Closes: #758314)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sat, 16 Aug 2014 22:39:13 +0200
+
+llvm-toolchain-3.4 (1:3.4.2-7) unstable; urgency=medium
+
+  * Upload in unstable
+  * Try to bring back lldb on mips & mipsel
+  * Force scan-build to use the same version of clang
+  * Try to fix hurd (hurd-EIEIO-undef.diff)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 05 Aug 2014 14:40:05 +0200
+
+llvm-toolchain-3.5 (1:3.5~+rc4-1) unstable; urgency=medium
+
+  * New snapshot release
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 27 Aug 2014 23:09:59 +0200
+
+llvm-toolchain-3.5 (1:3.5~+rc3-1) unstable; urgency=medium
+
+  * New snapshot release
+  * Cherry-pick to commit from upstream (revisions 214906 214907)
+    to improve the gcc compat
+  * Remove scan-build-clang-path.diff (applied upstream)
+  * Just like in 3.4, bring back lldb & lldb-dev under mips & mipsel
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 20 Aug 2014 23:43:06 +0200
+
+llvm-toolchain-3.5 (1:3.5~+rc2-1) unstable; urgency=medium
+
+  * Fix the version
+  * try to build lldb-gdbserver under kfreebsd (kfreebsd-lldb-gdbserver.diff)
+  * Second try to fix build under HURD (hurd-EIEIO-undef.diff)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Fri, 08 Aug 2014 10:42:13 +0200
+
+llvm-toolchain-3.5 (1:3.5~+rc2-1~exp1) unstable; urgency=medium
+
+  * New snapshot release
+  * Enable compressed debug sections (Closes: #757002)
+  * Force scan-build to use the same version of clang
+  * Bring back scan-build-search-path.diff (Closes: #757219)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Mon, 04 Aug 2014 13:35:35 +0200
+
+llvm-toolchain-snapshot (1:3.6~svn214630-1~exp1) experimental; urgency=medium
+
+  * New snapshot release (3.5 => 3.6)
+  * Co installation of clang (Closes: #736057)
+    - scan-build => scan-build-3.6
+    - scan-view => scan-view-3.6
+    - asan_symbolize => asan_symbolize-3.6
+  * Refresh of the patches
+  * Install yaml2obj, obj2yaml & verify-uselistorder in llvm-3.6
+  * Remove of pollycc
+  * clang alternatives are managed by llvm-defaults
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Thu, 31 Jul 2014 18:12:59 +0200
+
+llvm-toolchain-3.5 (1:3.5~+rc1-2) unstable; urgency=medium
+
+  * Sync with 3.4 svn to retrieve some changes:
+  * Replace $(CURDIR)/debian/tmp by a variable
+  * Move the polly installation in the dh_auto_install rules instead
+    of using *.install files. In llvm.org/apt/, I have to sometime disable
+    polly
+  * hurd-EIEIO-undef.diff: try to undef an errno.h to fix the ftbfs
+  * clang-X suggests clang-X-doc (Closes: #755922)
+  * Manage all files using .in mechanism. It will simplify the upgrade of
+    version
+  * Disable lldb for ppc64el. Thanks to Dimitri John Ledkov (Closes: #756380)
+  * Fix the FTBFS under PowerPC. Thanks to Dimitri John Ledkov for the patch
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Thu, 24 Jul 2014 11:42:56 +0200
+
+llvm-toolchain-3.5 (1:3.5~+rc1-1) unstable; urgency=medium
+
+  * First RC release of the 3.5 llvm toolchain
+  * Apply lldb-kfreebsd.diff patch to fix FTBFS under KFreeBSD
+    Thanks to Ed Maste
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 23 Jul 2014 08:57:59 +0200
+
+llvm-toolchain-snapshot (1:3.5~svn213451-1) unstable; urgency=medium
+
+  * New snapshot release
+  * If the version of gcc is too old, force the usage of gcc 4.8
+  * Clang will now show the full version. Example: 3.5.0-svn213052-1~exp1
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sat, 19 Jul 2014 15:27:11 +0200
+
+llvm-toolchain-snapshot (1:3.5~svn211669-2) unstable; urgency=medium
+
+  * Remove useless dependency on g++
+  * Use the option stable '-analyzer-config stable-report-filename=true'
+    to the llvm scan-build reports
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sun, 29 Jun 2014 19:13:05 +0200
+
+llvm-toolchain-snapshot (1:3.5~svn211669-1) unstable; urgency=medium
+
+  * New snapshot release
+  * Fix CVE-2014-2893 (Closes: #744817)
+  * Merge with 3.4/debian
+  * Ship lldb-mi in lldb
+  * Remove scan-build-fix-clang-detection.diff (applied upstream)
+  * Ship the compiler-rt static libraries
+  * Running tests respect DEB_BUILD_OPTIONS=parallel=X
+   (Closes: #751943)
+  * Fix FTBFS on powerpc and powerpcspe (Closes: #733890)
+  * Broken library symlink fixed in lldb-3.5 (Closes: #715130)
+  * Fix --use-cc when no absolute path is provided (Closes: #748777)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 25 Jun 2014 07:58:03 +0200
+
+llvm-toolchain-snapshot (1:3.5~svn209039-2) unstable; urgency=medium
+
+  * Provide a link as compatibility with previous lib name (Closes: #748569)
+  * Be less permissive when installing lldb. Remove duplication of the install
+    of liblldb.so.1
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sun, 18 May 2014 20:01:40 +0200
+
+llvm-toolchain-snapshot (1:3.5~svn209039-1) unstable; urgency=medium
+
+  * New snapshot release
+  * Fix the cmake install patch
+  * Disable profile_rt.diff for now
+  * Refresh of libclang1-3.5.symbols
+  * Fix path to /usr/lib/clang/3.5.0/ (Closes upstream #19088)
+  * Fix the wrong dependency declaration on llvm-3.5-tools
+  * Add gnustep & gnustep-devel as suggests of clang-3.5
+  * Add libc6-dev as an explicit dependency of clang-3.5
+  * Build with dh_install --fail-missing
+  * Start to use /usr/bin/foo-X.Y. First step to have several clang versions
+    installed together
+  * Add some missing files:
+    - lli-child-target         - llvm-3.5-runtime
+    - count                    - llvm-3.5-tools
+    - html.tar.gz              - llvm-3.5-doc
+    - ocamldoc.tar.gz          - llvm-3.5-doc
+    - BugpointPasses.so        - llvm-3.5-dev
+    - liblldb*                 - lldb-3.5-dev
+    - clang-apply-replacements - clang-3.5
+    - clang-tidy               - clang-3.5
+    - clang-query              - clang-3.5
+    - pp-trace                 - clang-3.5
+    - lldb-platform            - lldb-3.5
+    - lldb-gdbserver           - lldb-3.5
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Fri, 16 May 2014 23:23:50 +0200
+
+llvm-toolchain-3.4 (1:3.4.2-2) unstable; urgency=medium
+
+  * Improve the CVE-2014-2893 fix (Closes: #744817)
+  * Add a check to avoid an error on arch where compiler-rt is not available
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Mon, 16 Jun 2014 23:00:47 +0200
+
+llvm-toolchain-3.4 (1:3.4.2-1) unstable; urgency=medium
+
+  * New upstream release
+  * Add build conflict on libllvm-3.5-ocaml-dev
+  * Also disable lldb tests under armel (like armhf). Timeout
+  * Update of the repack script
+  * Use llvm-3.4-dev.links.in to manage the symlinks
+  * Fix the soname of liblldb.so to see it treated as a real library
+    (Closes: #750868)
+  * Switch to the default gcc/g++ compiler. Currently 4.9 (Closes: #751322)
+  * Fixes CVE-2014-2893 (Closes: #744817)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Fri, 06 Jun 2014 15:55:57 +0200
+
+llvm-toolchain-3.4 (1:3.4.1-4) unstable; urgency=medium
+
+  * Be less permissive when installing lldb. Remove duplication of the install
+    of liblldb.so.1
+  * Add symlinks lldb-3.4, lldb-platform-3.4 & lldb-gdbserver-3.4 without 3.4
+  * Clang was unusable with libstdc++ from gcc 4.9 (Closes: #744792)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sun, 18 May 2014 20:18:19 +0200
+
+llvm-toolchain-3.4 (1:3.4.1-3) unstable; urgency=medium
+
+  * Fix path for arch without support of compiler-rt. Should fix most of the
+    FTBFS
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Fri, 16 May 2014 15:27:37 +0200
+
+llvm-toolchain-3.4 (1:3.4.1-2) unstable; urgency=medium
+
+  * Fix the soname. No changes in the ABI, so, no need to update the soname
+    (Closes: #747701)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sun, 11 May 2014 17:29:22 +0200
+
+llvm-toolchain-3.4 (1:3.4.1-1) unstable; urgency=medium
+
+  * New upstream release. Note that only LLVM & Clang had a new release.
+    I just copied the 3.4 tarballs for clang-extra-tools, polly, lldb and
+    compiler-rt.
+  * Symlink for current build mode missing (Closes upstream #18836)
+  * Add link usr/lib/llvm-3.4/ to usr/lib/llvm-3.4/build/Debug+Asserts
+  * Backport of a r201586 from upstream. scan-build was failing on some project
+    like firefox build system. (Yeh, advantage to be the packager of a software
+    that I use ;) ). See scan-build-fix-clang-detection.diff
+  * Fix the version in the symbol list (libclang1-3.4.symbols)
+  * Update the path regarding upstream changed (3.4 => 3.4.1)
+    (Patch improved also by Martin Nowack)
+  * Remove generated file libllvm3.4.install
+  * Add gnustep & gnustep-devel as suggests of clang-3.4
+  * Add libc6-dev as an explicit dependency of clang-3.4
+  * Build with dh_install --fail-missing
+  * Start to use /usr/bin/foo-X.Y. First step to have several clang versions
+    installed together
+  * Add some missing files:
+    - lli-child-target         - llvm-3.4-runtime
+    - count                    - llvm-3.4-tools
+    - html.tar.gz              - llvm-3.4-doc
+    - ocamldoc.tar.gz          - llvm-3.4-doc
+    - BugpointPasses.so        - llvm-3.4-dev
+    - liblldb*                 - lldb-3.4-dev
+    - lldb-platform-3.4        - lldb-3.4
+    - clang-apply-replacements - clang-3.4
+    - clang-tidy               - clang-3.4
+    - pp-trace                 - clang-3.4
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Fri, 09 May 2014 19:57:33 +0200
+
+llvm-toolchain-snapshot (1:3.5~svn200375-1) unstable; urgency=medium
+
+  * New snapshot release
+  * polly unnopstream is now using the isl trunk. Disabling it for now.
+  * Only explicit the link against atomic when running mips & mipsel
+  * Fix the cindex.py declaration (3.3 => 3.5). Closes upstream bug #18365
+  * Bring back the dependency on gcc 4.8. It breaks the nightly snapshot
+    packages and it should be the norm now...
+
+  [ Martin Nowack ]
+  * Fixed build directory for llvm-config
+  * Add Unittests for running tests for llvm-based projects
+  * Install FileCheck and not for testing
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 29 Jan 2014 07:36:29 -0800
+
+llvm-toolchain-snapshot (1:3.5~svn199601-1) unstable; urgency=low
+
+  * New snapshot release
+  * Update clang-format declaration from 3.4 => 3.5. Closes upstream bug #18451
+  * Fix the cindex.py declaration (3.3 => 3.5). Closes upstream bug #18365
+  * Force gcc 4.8. LLVM & Co are now in C++ 11.
+  * Also make clang-3.5 breaks/replaces clang. Conflicts on
+    /usr/share/clang/scan-view/ScanView.py (Closes: #730266)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 15 Jan 2014 15:08:03 +0100
+
+llvm-toolchain-snapshot (1:3.5~svn197556-1) unstable; urgency=low
+
+  * New snapshot release
+  * Merge changes from 1:3.4~+rc3-1
+  * Disable much of the display of the lldb display
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 17 Dec 2013 12:02:52 +0100
+
+llvm-toolchain-snapshot (1:3.5~svn195337-1) unstable; urgency=low
+
+  * Sync from 3.4~+rc2-1
+  * Make lldb 3.5 also conflict with 3.4 (Closes: #730163)
+  * Make python-clang 3.5 also conflict with 3.4 (Closes: #730164)
+  * Fix a FTBFS with clang
+  * Refresh the /usr/include/clang mess
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 10 Dec 2013 09:57:15 +0100
+
+llvm-toolchain-snapshot (1:3.5~svn195337-1) unstable; urgency=low
+
+  * Switch from 3.4 to 3.5
+  * Remove patch 0046-Revert-Patch-to-set-is_stmt-a-little-better-for-prol.patch
+    Useless now and misleading
+  * Standards-Version updated to 3.9.5
+  * kfreebsd.diff remove (applied upstream)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 20 Nov 2013 21:24:28 +0100
+
+llvm-toolchain-3.4 (1:3.4-2) unstable; urgency=medium
+
+  * Only explicit the link against atomic when running mips & mipsel
+  * Fix the cindex.py declaration (3.3 => 3.5). Closes upstream bug #18365
+  * Bring back the dependency on gcc 4.8. It breaks the nightly snapshot
+    packages and it should be the norm now...
+  * Introduce llvm-3.4-tools to contain the new files needed by Martin
+
+  [ Matthias Klose ]
+  * Disable the lldb build for AArch64.
+  * Don't run the lldb tests on armhf (time out on the buildd).
+
+  [ Martin Nowack ]
+  * Fixed build directory for llvm-config
+  * Add Unittests for running tests for llvm-based projects
+  * Install FileCheck and not for testing
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 11 Feb 2014 11:19:21 +0100
+
+llvm-toolchain-3.4 (1:3.4-1) unstable; urgency=medium
+
+  * New upstream release
+  * Remove explicit dep on gcc 4.8
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Fri, 20 Dec 2013 18:36:58 +0100
+
+llvm-toolchain-3.4 (1:3.4~+rc3-1ubuntu4) trusty; urgency=medium
+
+  * Rebuild for ocaml-4.01.
+
+ -- Matthias Klose <doko@ubuntu.com>  Mon, 23 Dec 2013 12:11:17 +0000
+
+llvm-toolchain-3.4 (1:3.4~+rc3-1ubuntu3) trusty; urgency=low
+
+  * Bring over Ubuntu changes from 3.3:
+    - Revert to using the static copy of libjsoncpp, since the shared
+      library lacks sane versioning, and this is only a few thousand
+      lines of cargo-culted code from a reasonably stagnant upstream.
+    - Drop lcov build-dep to avoid pulling it into main, due to its
+      being fundamentally incompatibe with our newer GCC versions.
+
+ -- Matthias Klose <doko@ubuntu.com>  Fri, 20 Dec 2013 12:59:01 +0100
+
+llvm-toolchain-3.4 (1:3.4~+rc3-1ubuntu2) trusty; urgency=low
+
+  * Don't run the lldb tests on armhf (time out on the buildd).
+
+ -- Matthias Klose <doko@ubuntu.com>  Wed, 18 Dec 2013 12:29:56 +0100
+
+llvm-toolchain-3.4 (1:3.4~+rc3-1ubuntu1) trusty; urgency=low
+
+  * Disable the lldb build for AArch64.
+  * Build-depend on gcc-multilib on amd64 and i386.
+
+ -- Matthias Klose <doko@ubuntu.com>  Tue, 17 Dec 2013 18:44:50 +0100
+
+llvm-toolchain-3.4 (1:3.4~+rc3-1) unstable; urgency=low
+
+  * New testing upstream release
+  * Relative call in the chroot without proc failed.
+    See: fix-an-issue-in-chroot-witout-proc.diff
+  * Bring back lldb-link-atomic.diff to make sure lldb builds under
+    powerpc
+  * Also limit the number of archs for liblldb-dev
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 17 Dec 2013 11:27:40 +0100
+
+llvm-toolchain-3.4 (1:3.4~+rc2-3) unstable; urgency=low
+
+  * 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)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 04 Dec 2013 23:53:49 +0100
+
+llvm-toolchain-3.4 (1:3.4~+rc2-2) unstable; urgency=low
+
+  * Add the Ocaml ABI dependency (Closes: #731344)
+  * Disable LLDB also for ia64, mips & mipsel
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 04 Dec 2013 15:37:39 +0100
+
+llvm-toolchain-3.4 (1:3.4~+rc2-1) unstable; urgency=low
+
+  * New testing upstream release
+  * 0047-version-name.diff ocamldoc.diff removed (applied upstream)
+  * r600 is now compiled by default (remove the configure arg)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 03 Dec 2013 10:25:59 +0100
+
+llvm-toolchain-3.4 (1:3.4~+rc1-3) unstable; urgency=low
+
+  * Remove the usage of --with-c-include-dirs, --with-cxx-include-root,
+    --with-cxx-include-arch and --with-cxx-include-64bit-dir
+    It was blocking the automatic detection of the path of clang.
+    In particular in the context of the usage of -target.
+    However, it does not completely fix the detection of the i386 C++ path.
+    See the next item.
+    (Closes: #729933)
+  * Bring back the path to libstdc++ under i386. Still not fixed upstream
+    (Closes: #730857)
+  * Define also MAXPATHLEN in Path.inc for HURD.
+  * Silent the trillion of warnings in the LLDB Python wrapper (swig generated)
+    See silent-swig-warning.diff
+  * Silent some i386 tests failing (it is expected)
+    See silent-MCJIIT-tests.diff
+  * Make lldb 3.4 also conflict with 3.5 (Closes: #730163)
+  * Make python-clang 3.4 also conflict with 3.5 (Closes: #730164)
+  * Port LLVM to mips64el. Thanks to YunQiang Su. Initially done for
+    3.3 and ported on the 3.4 (Closes: #730808)
+  * If we get an unexpected pass, do not break the tests
+    do-not-fail-on-unexpected-pass.diff (I am disabling some tests)
+  * Fix the path detection of the objective h headers.
+  * Also add usr/lib/llvm-3.4/lib/clang/3.4/include =>
+    usr/lib/clang/3.4/include symlink to simplify the path detection
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sun, 01 Dec 2013 17:49:46 +0100
+
+llvm-toolchain-3.4 (1:3.4~+rc1-2) unstable; urgency=low
+
+  * Force the build to gcc 4.8... gcc 4.6 used on some Debian archs does not
+    support some C++ features.
+  * Fail the build when llvm tests are failing under amd64 + i386. More to come.
+  * Fix a libclang.so.1 issue during the clang tests
+  * Improve the patch 23-strlcpy_strlcat_warning_removed.diff
+    (also remove the tests)
+  * Make lldb 3.4 also conflict with 3.5 (Closes: #730163)
+  * Make python-clang 3.4 also conflict with 3.5 (Closes: #730164)
+  * Remove usr/lib/llvm-3.4/build/autoconf/LICENSE.TXT
+  * silent warning "manpage-has-useless-whatis-entry" in lldb-3.4
+  * silent warning "package-name-doesnt-match-sonames libclang1"
+  * Refresh patch kfreebsd_v2.diff to, maybe, fix lldb build under kfreebsd.
+    Thanks to Ed Maste for the patch.
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 26 Nov 2013 18:32:49 +0100
+
+llvm-toolchain-3.4 (1:3.4~+rc1-1) unstable; urgency=low
+
+  * New testing upstream release
+  * kfreebsd.diff removed. Applied upstream
+  * Remove patch 0046-Revert-Patch-to-set-is_stmt-a-little-better-for-prol.patch
+    Useless now and misleading
+  * Branch from llvm-toolchain-snapshot
+  * Standards-Version updated to 3.9.5
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 20 Nov 2013 21:24:28 +0100
+
+llvm-toolchain-snapshot (1:3.4~svn194079-1) unstable; urgency=low
+
+  * New snapshot release
+  * Also install clang 3.4 examples (clang-3.4-examples) (Closes: #728260)
+  * Move c-index-test* from llvm-3.4 => clang-3.4. It was triggering an
+    unnecessary dependency from llvm-3.4 to libclang
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Fri, 01 Nov 2013 05:19:55 +0100
+
+llvm-toolchain-snapshot (1:3.4~svn193628-1) unstable; urgency=low
+
+  * New snapshot release
+    - Fix the scan-build warning (Closes: #725332)
+  * Merge changes from the 3.3 branch (see 1:3.3-12)
+  * Add lldb-3.4-dev package
+  * Remove mipsel-ftbfs.diff (applied upstream)
+  * Add support of coverity checker (non-free and not packaged)
+  * libprofile_rt and runtime has been removed upstream (r191835)
+    Features are provided by compiler-rt
+  * Update the build dependency from tcl8.5 to tcl (Closes: #725954)
+  * clang-modernize-3.4 was not coinstallable with clang 3.4
+    (Closes: #724245)
+  * The package wasn't cleaned correctly (Closes: #722155)
+  * libtinfo-dev is now a dependency of llvm-3.4-dev (Closes: #727129)
+  * Install libclang.so in /usr/lib/*/libclang-3.4.so
+  * Install libclang.so.1 in /usr/lib/*/libclang-3.4.so.1
+  * Also ship the python clang binding (python-clang-3.4)
+  * Enable polly if the dependencies are OK (only Debian unstable for now)
+  * Bring back /usr/lib/llvm-3.4/lib/libclang.so (libclang-3.4-dev) and
+    /usr/lib/llvm-3.4/lib/libclang.so.1 (libclang1-3.4)
+  * Honor the option "nocheck"
+  * Disable the build of lldb under HURD
+  * Ship the lldb headers into lldb-X.Y-dev (Closes: #723743)
+    I might create a liblldb-X.Y library at some point but I think it is too
+    early.
+  * Update the build dependency from tcl8.5 to tcl (Closes: #725953)
+  * Update of the clang descriptions (Closes: #727684)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 29 Oct 2013 17:56:18 +0100
+
+llvm-toolchain-snapshot (1:3.4~svn190846-1) unstable; urgency=low
+
+  * New snapshot release
+  * Merge changes from the 3.3 branch (see 1:3.3-9)
+  * Remove ia64-fix.diff (applied upstream)
+  * cpp11-migrate renamed to clang-modernize
+  * lldb-3.4 is back to Architectures: any
+  * Patch lldb-hurd.diff removed (applied upstream)
+  * Directory www/ from tarballs polly & lldb removed
+  * Update of the description of LLVM packages
+    (LLVM no longer mean Low Level Virtual Machine)
+
+  [ Luca Falavigna ]
+  * debian/control:
+    - Add llvm-3.4-dev to lldb-3.4 Depends field.
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Thu, 05 Sep 2013 12:04:35 +0200
+
+llvm-toolchain-3.3 (1:3.3-9) unstable; urgency=low
+
+  [ Luca Falavigna ]
+  * debian/control:
+    - Add llvm-3.3-dev to lldb-3.3 Depends field (Closes: #715129).
+
+  [ Sylvestre Ledru ]
+  * Only use -fuse-ld=gold on supported distribution. Simplify the
+    backports.
+  * Fix  'bits/c++config.h' file not found under i386
+    See libstdc++-header-i386.diff. (Closes: #714890)
+  * Add more fixes for the HURD port... (but still fails)
+
+  [ Robert Millan ]
+  * clang under KfFreeBSD was not exporting the correct defines
+    (Closes: #721880)
+
+  [ Jon Severinsson ]
+  * Merge from llvm-toolchain-3.2 branch up to 3.2repack-11.
+  * Drop auto-generated file debian/libllvm3.3.install.
+  * Automatically determine GCC_VERSION and dep:devlibs based on g++ package
+    version.
+  * Automatically determine if -fuse-ld=gold is supported based on binutils
+    package version.
+
+  [ Adam Conrad ]
+  * debian/patches/lldb-link-atomic.diff: Link lldb with -latomic to get
+    builtin GCC atomic helpers on arches (like powerpc) that need them.
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Mon, 26 Aug 2013 14:48:42 +0200
+
+llvm-toolchain-3.3 (1:3.3-8) unstable; urgency=low
+
+  [ Sylvestre Ledru ]
+  * Fix another issues under HURD...
+
+  [ Luca Falavigna ]
+  * debian/patches/libprofile_rt_sparc.patch:
+    - Re-enable libprofile_rt on Sparc, fix FTBFS.
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Fri, 23 Aug 2013 15:02:05 +0200
+
+llvm-toolchain-3.3 (1:3.3-7) unstable; urgency=low
+
+  * debhelper version 9.20130720 fails on the call to dh_auto_clean
+    Remove it. It was anyway useless.
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Thu, 22 Aug 2013 14:28:25 +0200
+
+llvm-toolchain-3.3 (1:3.3-6) unstable; urgency=low
+
+  * Fix the FTBFS under hurd and KFreeBSD
+  * Do not remove all *.o in tests. Some of them are from upstream source
+    tarball. Thanks to Maarten Lankhorst for the fix.
+  * Fix the lintian error 'lldb-3.3: postinst-must-call-ldconfig'
+  * Add the manpages of clang-format-3.3
+  * Overrides the manpages warnings
+  * Also apply unwind-chain-inclusion.diff from the snapshot branch to make sure
+    we can build the package locally even if libclang-dev is installed
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Thu, 22 Aug 2013 09:01:04 +0200
+
+llvm-toolchain-3.3 (1:3.3-5) unstable; urgency=low
+
+  * Install llvm-c headers also in usr/include/llvm-3.3/llvm-c
+  * Fix the FTBFS under mips & mipsel
+  * Refresh of the kfreebsd i386 patch
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 07 Aug 2013 13:12:23 +0200
+
+llvm-toolchain-3.3 (1:3.3-4) unstable; urgency=low
+
+  * Use the static library libjsoncpp.a instead of the ship library in polly
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sun, 11 Aug 2013 09:54:17 +0200
+
+llvm-toolchain-snapshot (1:3.4~svn185325-1) unstable; urgency=low
+
+  * binutils-gold no longer exists. Use -fuse-ld=gold instead.
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Thu, 01 Aug 2013 14:06:38 +0200
+
+llvm-toolchain-snapshot (1:3.3-2) unstable; urgency=low
+
+  * Fix warning python-script-but-no-python-dep on clang-format-X.Y
+  * manpages are generated during build time (simplifies maintenance)
+  * Fix duplicate underscore.js and jquery.js
+  * Move libjs-jquery & libjs-underscore dependencies to llvm-X.Y-doc
+  * Add lldb-X.Y manpage
+  * Hopefully fix the ftbfs under mipsel (mipsel-ftbfs.diff)
+  * Disable the usage of binutils-gold under armel. It currently fails with:
+    "attempt to map 2752512 bytes at offset 2066666 exceeds size of file;
+    the file may be corrupt"
+
+  [ Léo Cavaillé ]
+  * Add patch to find correctly LLVMGold.so with -O4 (Closes: #712437)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Thu, 20 Jun 2013 15:39:11 +0200
+
+llvm-toolchain-snapshot (1:3.4~svn184294-1~exp1) experimental; urgency=low
+
+  * New snapshot release
+  * Improve some scripts and fix cpp11-migrate install from
+    clang-tools-extra.
+  * Fix "versionless" clang manpages install.
+  * Fix Toolchain patch from change of scope (add namespaces).
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 19 Jun 2013 14:20:12 +0200
+
+llvm-toolchain-snapshot (1:3.4~svn183914-1) unstable; urgency=low
+
+  * New snapshot release
+  * Upload to unstable (will be blocked by a RC bug)
+  * Sync changes from llvm-toolchain-3.3:
+    - Introduce cpp11-migrate-3.4 and clang-format-3.4
+    - Install the vim llvm script at the right place
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Thu, 13 Jun 2013 18:47:08 +0200
+
+llvm-toolchain-snapshot (1:3.4~svn182733-1~exp1) experimental; urgency=low
+
+   * New snapshot release (3.4 release)
+   * Add a symlink of libLLVM-3.4.so.1 to usr/lib/llvm-3.4/lib/libLLVM-3.4.so
+       to fix make the llvm-config-3.4 --libdir work (Closes: #708677)
+     * Various packages rename to allow co installations:
+       * libclang1 => libclang1-3.4
+       * libclang1-dbg => libclang1-3.4-dbg
+       * libclang-dev => libclang-3.4-dev
+       * libclang-common-dev => libclang-common-3.4-dev
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Mon, 27 May 2013 15:01:57 +0200
+
+llvm-toolchain-snapshot (1:3.3~svn179851-1~exp1) experimental; urgency=low
+
+  * Draft of a snapshot release (3.3)
+  * Enable r600 experimental backend
+  * Improve the dependencies:
+    * clang-3.3 depends on the exact same libllvm3.3 release
+    * idem for lldb-3.3
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Fri, 19 Apr 2013 09:31:38 +0200
+
+llvm-toolchain-3.2 (1:3.2repack-11) unstable; urgency=low
+
+  * dh_auto_clean removed, just like in the 3.3
+  * Use the static library libjsoncpp.a instead of shipping library in polly
+    Backport of the modification of 3.3
+
+  [ Adam Conrad ]
+  * Revive deltas from the previous Ubuntu versions of llvm and clang:
+    - debian/patches/35-ubuntu-releases.diff: Add UbuntuSaucy to table.
+    - debian/patches/JITEmitter.patch: Fix a segfault in the exception
+      table of the JIT code emitter (See Launchpad bug #1160587)
+
+  [ Luca Falavigna ]
+  * debian/patches/libprofile_rt_sparc.patch:
+    - Re-enable libprofile_rt on Sparc, fix FTBFS.
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Fri, 23 Aug 2013 11:49:09 +0200
+
+llvm-toolchain-3.2 (1:3.2repack-10) unstable; urgency=low
+
+  * Fix the wrong package declaration on libstdc++-4.8-dev (Closes: #713944)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Mon, 24 Jun 2013 23:00:47 +0200
+
+llvm-toolchain-3.2 (1:3.2repack-9) unstable; urgency=low
+
+  * Switch to libstdc++ 4.8 instead of 4.7 for the headers (Closes: #712520)
+  * Depends against libobjc-4.8-dev and libgcc-4.8-dev
+  * Disable the usage of binutils-gold under armel. It currently fails with:
+      "attempt to map 2752512 bytes at offset 2066666 exceeds size of file;
+      the file may be corrupt"
+  * Add DEBUGMAKE=1 to get information about compiler-rt compilation
+  * Fix "libclang-common-dev: missing-depends-line"
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sat, 22 Jun 2013 07:38:41 +0200
+
+llvm-toolchain-3.2 (1:3.2repack-8) unstable; urgency=low
+
+  * Fix the build under ia64. Thanks to Luca Falavigna for the patch
+    (ia64-fix.diff)
+  * Disable lldb-3.2:
+    - the quality is not good enough
+    - We have lldb-3.3 now in the archive
+    - Too many backported patches would be necessary for lldb-3.2 to work
+    - It blocks some important transitions (mesa)
+  * Add the detection of Ubuntu saucy
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Mon, 03 Jun 2013 11:32:29 +0200
+
+llvm-toolchain-3.2 (1:3.2repack-7) unstable; urgency=low
+
+  * For now, enable only lldb for amd64 and i386 (blocks too many things)
+    (Bis) (Closes: #707866)
+  * Add a symlink of libLLVM-3.2.so.1 to usr/lib/llvm-3.2/lib/libLLVM-3.2.so
+    to fix make the llvm-config-3.2 --libdir work (Closes: #708677)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Mon, 27 May 2013 13:20:30 +0200
+
+llvm-toolchain-3.2 (1:3.2repack-6) unstable; urgency=low
+
+  * Create the compiler-rt directory to make the install of compiler-rt works
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sat, 18 May 2013 18:08:52 +0200
+
+llvm-toolchain-3.2 (1:3.2repack-5) unstable; urgency=low
+
+  * For now, enable only lldb for amd64 and i386 (blocks too many things)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sat, 18 May 2013 10:24:04 +0200
+
+llvm-toolchain-3.2 (1:3.2repack-4) unstable; urgency=low
+
+  * Add several patches which, hopefully, will fix the build under ARM, S390,
+    S390X, etc (lldb-apple_only.diff, lldb-user-remove.diff & lldb-hurd.diff)
+  * Include sys/wait.h also under kfreebsd (kfreebsd-thread.diff)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 15 May 2013 12:04:24 +0200
+
+llvm-toolchain-3.2 (1:3.2repack-3) unstable; urgency=low
+
+  * Before the configure, show which version of CC is being used.
+  * Add support of kfreebsd and hurd in lldb (kfreebsd-hurd-lldb.diff)
+  * Force the usage of gcc 4.7 for all archs. Should fix some FTBFS
+    (Closes: #707866)
+  * Fix the symlink on clang++.1.gz llvm-clang.1.gz (Closes: #707832)
+
+  [ Jon Severinsson ]
+  * Re-enable the r600 backend and update it to the mesa-9.1.1 tag.
+   (Closes: #708009)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 14 May 2013 12:10:07 +0200
+
+llvm-toolchain-3.2 (1:3.2repack-2) unstable; urgency=low
+
+  * Do not depend on libobjc-4.7-dev & libgcc-4.7-dev.
+    They are still only in experimental
+  * Disable the usage of binutils-gold under [powerpc powerpcspe ppc64 sparc
+    sparc64] to fix FTBFS
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 07 May 2013 13:15:20 +0200
+
+llvm-toolchain-3.2 (1:3.2repack-1) unstable; urgency=low
+
+  * Upload to unstable
+  * Standards-Version update to 3.9.4
+  * clang pure virtual function call crash with binaries built with C++11's
+    std::thread. Upstream commit 178816 (Closes: #705838)
+  * Introduce a symbols file for libclang1 (Closes: #705672)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sun, 21 Apr 2013 14:06:23 +0200
+
+llvm-toolchain-3.2 (1:3.2repack-1~exp4) experimental; urgency=low
+
+  * Build using binutls-gold to improve the quality of the binaries.
+    See: http://allievi.sssup.it/techblog/?p=791
+  * Detect the vendor (Debian or Ubuntu) and update the configuration
+  * Port to powerpcspe. Thanks to Roland Stigge (Closes: #701587)
+    See: 31-powerpcspe.diff
+  * Fix the path detection of scan-build (Closes: #698352)
+    See: 32-scan-build-path.diff
+  * debian/patches/r600-snapshot.diff: Move backports into individual patches.
+  * debian/patches/r600-snapshot.diff: Update to mesa-9.1 git tag.
+    (Closes: #703671, #697356)
+  * Fix a typo in the detection of the vendor
+
+  [ Peter Michael Green ]
+  * Use binutils-gold only on architectures where it is actually available
+  * 33-armhf-defaults.diff Fix defaults to use correct CPU and FPU for
+    debian  armhf (Closes: #704111)
+  * 34-powerpc-no-altivec.diff disable altivec by default on powerpc because
+    debian powerpc does not require altivec (patch cherry picked from ubuntu)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Thu, 14 Mar 2013 17:47:12 +0100
+
+llvm-toolchain-3.2 (1:3.2repack-1~exp3) experimental; urgency=low
+
+  * Remove package "clang". It is now provided by llvm-defaults.
+  * Fix some issues relative to the epoch change
+  * Fix a wrong path in the _lldb.so Python symlink
+  * Install cmake files to build LLVM extensions (Closes: #701153)
+  * Remove the embedded copy of libjs-jquery (Closes: #701087)
+  * Fix the install of lli manpage (Closes: #697117)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sun, 17 Feb 2013 12:05:15 +0100
+
+llvm-toolchain-3.2 (1:3.2repack-1~exp2) experimental; urgency=low
+
+  * Install the python files for lldb. Thanks to Daniel Malea for spotting this.
+  * Update of the clean target
+  * Introduce an epoch to match the changes in bug #699899
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Wed, 13 Feb 2013 12:22:30 +0100
+
+llvm-toolchain-3.2 (3.2repack-1~exp1) experimental; urgency=low
+
+  * Build the whole LLVM toolchain at once. This includes:
+    - LLVM
+    - Clang
+    - compiler-rt
+    - lldb
+    - polly
+  * Also install clang-check & clang-tblgen in the clang-3.2 package
+  * Fix the patch detection of clang from scan-build (Closes: #698352)
+  * debian/patches/0050-powerpcspe-fp.diff: Add, hopefully fix FTBFS on
+    powerpcspe, by disabling save / restore of floating point registers which
+    don't exist on powerpcspe. Thanks to Roland Stigge for the patch.
+    (Closes: #696474)
+  * libLLVM-3.2.so.1 is now shipped only once (Closes: #696913)
+  * Enable RTTI (Closes: #697754)
+  * Introduce lldb as a new package (Closes: #698601)
+  * Add a script pollycc which will call clang with the right arguments.
+  * Use __builtin___clear_cache on ARM to fix a clang bug.
+    Thanks to Matthias Klose.
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sat, 09 Feb 2013 12:14:10 +0100
diff --git a/clang-X.Y-doc.docs.in b/clang-X.Y-doc.docs.in
new file mode 100644 (file)
index 0000000..8c9084c
--- /dev/null
@@ -0,0 +1,2 @@
+clang/docs/_build/html/
+
diff --git a/clang-X.Y-doc.install.in b/clang-X.Y-doc.install.in
new file mode 100644 (file)
index 0000000..20f4956
--- /dev/null
@@ -0,0 +1,3 @@
+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/clang-X.Y-doc.lintian-overrides.in b/clang-X.Y-doc.lintian-overrides.in
new file mode 100644 (file)
index 0000000..1a8cf41
--- /dev/null
@@ -0,0 +1,4 @@
+clang-@LLVM_VERSION@-doc: embedded-javascript-library please use sphinx [usr/share/doc/clang-*/html/_static/searchtools.js]
+clang-@LLVM_VERSION@-doc: embedded-javascript-library please use sphinx [usr/share/doc/clang-*/html/_static/language_data.js]
+clang-@LLVM_VERSION@-doc: embedded-javascript-library please use sphinx [usr/share/doc/clang-*/html/_static/doctools.js]
+clang-@LLVM_VERSION@-doc: privacy-breach-generic: *youtube*
diff --git a/clang-X.Y-examples.examples.in b/clang-X.Y-examples.examples.in
new file mode 100644 (file)
index 0000000..49cbc5f
--- /dev/null
@@ -0,0 +1 @@
+clang/examples/*
diff --git a/clang-X.Y.install.in b/clang-X.Y.install.in
new file mode 100644 (file)
index 0000000..c92899f
--- /dev/null
@@ -0,0 +1,12 @@
+usr/lib/llvm-@LLVM_VERSION@/bin/clang
+usr/lib/llvm-@LLVM_VERSION@/bin/clang++
+usr/lib/llvm-@LLVM_VERSION@/bin/clang-cpp
+
+#usr/share/man/man1/clang.1     usr/share/man/man1/
+usr/lib/llvm-@LLVM_VERSION@/lib/cmake/clang/*.cmake
+usr/lib/llvm-@LLVM_VERSION@/share/clang/bash-autocomplete.sh
+
+usr/bin/clang-@LLVM_VERSION@
+usr/bin/clang++-@LLVM_VERSION@
+usr/bin/clang-cpp-@LLVM_VERSION@
+
diff --git a/clang-X.Y.links.in b/clang-X.Y.links.in
new file mode 100644 (file)
index 0000000..412b2ca
--- /dev/null
@@ -0,0 +1,3 @@
+usr/lib/llvm-@LLVM_VERSION@/bin/clang usr/lib/llvm-@LLVM_VERSION@/bin/clang-@LLVM_VERSION@
+usr/lib/llvm-@LLVM_VERSION@/lib/cmake/clang usr/lib/cmake/clang-@LLVM_VERSION@
+usr/lib/llvm-@LLVM_VERSION@/share/clang/bash-autocomplete.sh usr/share/bash-completion/completions/clang-@LLVM_VERSION@
diff --git a/clang-X.Y.lintian-overrides.in b/clang-X.Y.lintian-overrides.in
new file mode 100644 (file)
index 0000000..1f08bc8
--- /dev/null
@@ -0,0 +1,4 @@
+# Does not link otherwise
+clang-@LLVM_VERSION@: embedded-library usr/lib/llvm-@LLVM_VERSION@/bin/clang: libjsoncpp
+# expected
+clang-@LLVM_VERSION@: executable-not-elf-or-script *usr/lib/llvm-@LLVM_VERSION@/share/clang/bash-autocomplete.sh*
diff --git a/clang-X.Y.manpages.in b/clang-X.Y.manpages.in
new file mode 100644 (file)
index 0000000..b19400a
--- /dev/null
@@ -0,0 +1 @@
+clang/docs/_build/man/clang-@LLVM_VERSION@.1
diff --git a/clang-format-X.Y.install.in b/clang-format-X.Y.install.in
new file mode 100644 (file)
index 0000000..d3a18a5
--- /dev/null
@@ -0,0 +1,10 @@
+clang/tools/clang-format/clang-format-@LLVM_VERSION@.py usr/share/vim/addons/syntax/
+clang/tools/clang-format/clang-format-diff-@LLVM_VERSION@ /usr/bin/
+usr/bin/clang-format-@LLVM_VERSION@
+usr/bin/git-clang-format-@LLVM_VERSION@
+usr/lib/llvm-@LLVM_VERSION@/bin/clang-format
+usr/lib/llvm-@LLVM_VERSION@/bin/git-clang-format
+usr/lib/llvm-@LLVM_VERSION@/share/clang/clang-format-diff.py usr/share/clang/clang-format-@LLVM_VERSION@/
+usr/lib/llvm-@LLVM_VERSION@/share/clang/clang-format.py usr/share/clang/clang-format-@LLVM_VERSION@/
+usr/lib/llvm-@LLVM_VERSION@/share/clang/clang-format.el usr/share/emacs/site-lisp/clang-format-@LLVM_VERSION@/
+usr/lib/llvm-@LLVM_VERSION@/share/clang/clang-format-sublime.py usr/share/clang/clang-format-@LLVM_VERSION@/
diff --git a/clang-format-X.Y.lintian-overrides.in b/clang-format-X.Y.lintian-overrides.in
new file mode 100644 (file)
index 0000000..c7699f1
--- /dev/null
@@ -0,0 +1,4 @@
+# I know but well...
+clang-format-@LLVM_VERSION@: manpage-has-useless-whatis-entry *usr/share/man/man1/clang-format-diff-@LLVM_VERSION@.1.gz*
+clang-format-@LLVM_VERSION@: manpage-has-useless-whatis-entry *usr/share/man/man1/clang-format-@LLVM_VERSION@.1.gz*
+
diff --git a/clang-format-X.Y.manpages.in b/clang-format-X.Y.manpages.in
new file mode 100644 (file)
index 0000000..e4b4fa7
--- /dev/null
@@ -0,0 +1,4 @@
+debian/man/clang-format-diff-@LLVM_VERSION@.1
+debian/man/clang-format-@LLVM_VERSION@.1
+debian/man/git-clang-format-@LLVM_VERSION@.1
+
diff --git a/clang-tidy-X.Y.install.in b/clang-tidy-X.Y.install.in
new file mode 100644 (file)
index 0000000..fa05274
--- /dev/null
@@ -0,0 +1,6 @@
+usr/lib/llvm-@LLVM_VERSION@/bin/clang-tidy
+usr/lib/llvm-@LLVM_VERSION@/bin/run-clang-tidy
+usr/lib/llvm-@LLVM_VERSION@/share/clang/clang-tidy-diff.py
+
+usr/bin/clang-tidy-@LLVM_VERSION@
+usr/bin/run-clang-tidy-@LLVM_VERSION@
diff --git a/clang-tidy-X.Y.links.in b/clang-tidy-X.Y.links.in
new file mode 100644 (file)
index 0000000..ac8cd04
--- /dev/null
@@ -0,0 +1,3 @@
+usr/lib/llvm-@LLVM_VERSION@/bin/run-clang-tidy usr/bin/run-clang-tidy-@LLVM_VERSION@.py
+usr/lib/llvm-@LLVM_VERSION@/share/clang/clang-tidy-diff.py usr/bin/clang-tidy-diff-@LLVM_VERSION@.py
+
diff --git a/clang-tidy-X.Y.lintian-overrides.in b/clang-tidy-X.Y.lintian-overrides.in
new file mode 100644 (file)
index 0000000..0172e9b
--- /dev/null
@@ -0,0 +1,3 @@
+# I know but well...
+clang-tidy-@LLVM_VERSION@: manpage-has-useless-whatis-entry *usr/share/man/man1/clang-tidy-@LLVM_VERSION@.1.gz*
+
diff --git a/clang-tidy-X.Y.manpages.in b/clang-tidy-X.Y.manpages.in
new file mode 100644 (file)
index 0000000..90e2c5c
--- /dev/null
@@ -0,0 +1,2 @@
+debian/man/clang-tidy-@LLVM_VERSION@.1
+debian/man/run-clang-tidy-@LLVM_VERSION@.1
\ No newline at end of file
diff --git a/clang-tools-X.Y.install.in b/clang-tools-X.Y.install.in
new file mode 100755 (executable)
index 0000000..dbde4de
--- /dev/null
@@ -0,0 +1,111 @@
+#!/usr/bin/dh-exec
+
+usr/lib/llvm-@LLVM_VERSION@/bin/clang-check
+usr/lib/llvm-@LLVM_VERSION@/bin/clang-apply-replacements
+usr/lib/llvm-@LLVM_VERSION@/bin/clang-query
+usr/lib/llvm-@LLVM_VERSION@/bin/clang-rename
+usr/lib/llvm-@LLVM_VERSION@/share/clang/clang-rename.el
+usr/lib/llvm-@LLVM_VERSION@/share/clang/clang-rename.py
+usr/lib/llvm-@LLVM_VERSION@/bin/scan-view
+usr/lib/llvm-@LLVM_VERSION@/bin/scan-build
+usr/lib/llvm-@LLVM_VERSION@/bin/clang-cl
+usr/lib/llvm-@LLVM_VERSION@/bin/sancov
+usr/lib/llvm-@LLVM_VERSION@/share/scan-view/
+usr/lib/llvm-@LLVM_VERSION@/share/scan-build/
+usr/lib/llvm-@LLVM_VERSION@/share/man/man1/scan-build.1
+usr/lib/llvm-@LLVM_VERSION@/libexec/ccc-analyzer
+usr/lib/llvm-@LLVM_VERSION@/libexec/c++-analyzer
+usr/lib/llvm-@LLVM_VERSION@/bin/clang-offload-bundler
+usr/lib/llvm-@LLVM_VERSION@/bin/clang-reorder-fields
+usr/lib/llvm-@LLVM_VERSION@/bin/clang-change-namespace
+usr/lib/llvm-@LLVM_VERSION@/bin/modularize
+usr/lib/llvm-@LLVM_VERSION@/bin/c-index-test
+usr/lib/llvm-@LLVM_VERSION@/bin/clang-include-fixer
+usr/lib/llvm-@LLVM_VERSION@/bin/find-all-symbols
+usr/lib/llvm-@LLVM_VERSION@/bin/clang-refactor
+usr/lib/llvm-@LLVM_VERSION@/bin/diagtool
+usr/lib/llvm-@LLVM_VERSION@/bin/hmaptool
+usr/lib/llvm-@LLVM_VERSION@/bin/clang-extdef-mapping
+usr/lib/llvm-@LLVM_VERSION@/bin/clang-doc
+usr/lib/llvm-@LLVM_VERSION@/bin/clang-scan-deps
+usr/lib/llvm-@LLVM_VERSION@/bin/pp-trace
+usr/lib/llvm-@LLVM_VERSION@/bin/clang-move
+usr/lib/llvm-@LLVM_VERSION@/bin/clang-repl
+usr/lib/llvm-@LLVM_VERSION@/bin/clang-linker-wrapper
+usr/lib/llvm-@LLVM_VERSION@/bin/clang-pseudo
+usr/lib/llvm-@LLVM_VERSION@/bin/clang-offload-packager
+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
+usr/lib/llvm-@LLVM_VERSION@/bin/scan-build-py
+usr/lib/llvm-@LLVM_VERSION@/lib/libear/__init__.py
+usr/lib/llvm-@LLVM_VERSION@/lib/libear/config.h.in
+usr/lib/llvm-@LLVM_VERSION@/lib/libear/ear.c
+usr/lib/llvm-@LLVM_VERSION@/lib/libscanbuild/__init__.py
+usr/lib/llvm-@LLVM_VERSION@/lib/libscanbuild/analyze.py
+usr/lib/llvm-@LLVM_VERSION@/lib/libscanbuild/arguments.py
+usr/lib/llvm-@LLVM_VERSION@/lib/libscanbuild/clang.py
+usr/lib/llvm-@LLVM_VERSION@/lib/libscanbuild/compilation.py
+usr/lib/llvm-@LLVM_VERSION@/lib/libscanbuild/intercept.py
+usr/lib/llvm-@LLVM_VERSION@/lib/libscanbuild/report.py
+usr/lib/llvm-@LLVM_VERSION@/lib/libscanbuild/resources/scanview.css
+usr/lib/llvm-@LLVM_VERSION@/lib/libscanbuild/resources/selectable.js
+usr/lib/llvm-@LLVM_VERSION@/lib/libscanbuild/resources/sorttable.js
+usr/lib/llvm-@LLVM_VERSION@/lib/libscanbuild/shell.py
+usr/lib/llvm-@LLVM_VERSION@/libexec/analyze-c++
+usr/lib/llvm-@LLVM_VERSION@/libexec/analyze-cc
+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
+
+clang/tools/scan-build-@LLVM_VERSION@      usr/share/clang/
+clang/tools/scan-view-@LLVM_VERSION@       usr/share/clang/
+
+usr/bin/scan-build-py-@LLVM_VERSION@
+usr/bin/analyze-build-@LLVM_VERSION@
+usr/bin/intercept-build-@LLVM_VERSION@
+
+usr/lib/llvm-@LLVM_VERSION@/share/clang/run-find-all-symbols.py
+usr/lib/llvm-@LLVM_VERSION@/share/clang/clang-include-fixer.py
+usr/lib/llvm-@LLVM_VERSION@/share/clang/clang-include-fixer.el
+usr/bin/clang-check-@LLVM_VERSION@
+usr/bin/clang-apply-replacements-@LLVM_VERSION@
+usr/bin/clang-query-@LLVM_VERSION@
+usr/bin/clang-rename-@LLVM_VERSION@
+usr/bin/sancov-@LLVM_VERSION@
+usr/bin/clang-cl-@LLVM_VERSION@
+usr/bin/modularize-@LLVM_VERSION@
+usr/bin/scan-build-@LLVM_VERSION@
+usr/bin/scan-view-@LLVM_VERSION@
+usr/bin/c-index-test-@LLVM_VERSION@
+usr/bin/clang-offload-bundler-@LLVM_VERSION@
+usr/bin/clang-reorder-fields-@LLVM_VERSION@
+usr/bin/find-all-symbols-@LLVM_VERSION@
+usr/bin/clang-include-fixer-@LLVM_VERSION@
+usr/bin/clang-change-namespace-@LLVM_VERSION@
+usr/bin/clang-refactor-@LLVM_VERSION@
+usr/bin/diagtool-@LLVM_VERSION@
+usr/bin/hmaptool-@LLVM_VERSION@
+usr/bin/clang-extdef-mapping-@LLVM_VERSION@
+usr/bin/clang-doc-@LLVM_VERSION@
+usr/bin/clang-scan-deps-@LLVM_VERSION@
+usr/bin/clang-move-@LLVM_VERSION@
+usr/bin/pp-trace-@LLVM_VERSION@
+usr/bin/clang-repl-@LLVM_VERSION@
+usr/bin/clang-linker-wrapper-@LLVM_VERSION@
+usr/bin/clang-pseudo-@LLVM_VERSION@
+usr/bin/clang-offload-packager-@LLVM_VERSION@
+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/clang-tools-X.Y.links.in b/clang-tools-X.Y.links.in
new file mode 100644 (file)
index 0000000..1ddb23b
--- /dev/null
@@ -0,0 +1,3 @@
+usr/share/clang/scan-build-@LLVM_VERSION@/bin/scan-build  usr/bin/scan-build-@LLVM_VERSION@
+usr/share/clang/scan-view-@LLVM_VERSION@/bin/scan-view    usr/bin/scan-view-@LLVM_VERSION@
+usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION@/bin/hwasan_symbolize usr/bin/hwasan_symbolize-@LLVM_VERSION@
diff --git a/clang-tools-X.Y.lintian-overrides.in b/clang-tools-X.Y.lintian-overrides.in
new file mode 100644 (file)
index 0000000..8277386
--- /dev/null
@@ -0,0 +1,6 @@
+# I know but well...
+clang-tools-@LLVM_VERSION@: manpage-has-useless-whatis-entry *usr/share/man/man1/clang-check.1.gz*
+clang-tools-@LLVM_VERSION@: manpage-has-useless-whatis-entry *usr/share/man/man1/scan-view.1.gz*
+clang-tools-@LLVM_VERSION@: manpage-has-useless-whatis-entry *usr/share/man/man1/clang-apply-replacements-@LLVM_VERSION@.1.gz*
+clang-tools-@LLVM_VERSION@: manpage-has-useless-whatis-entry *usr/share/man/man1/clang-check-@LLVM_VERSION@.1.gz*
+clang-tools-@LLVM_VERSION@: manpage-has-useless-whatis-entry *usr/share/man/man1/scan-view-@LLVM_VERSION@.1.gz*
diff --git a/clang-tools-X.Y.manpages.in b/clang-tools-X.Y.manpages.in
new file mode 100644 (file)
index 0000000..d6b561c
--- /dev/null
@@ -0,0 +1,12 @@
+clang/tools/scan-build/man/scan-build-@LLVM_VERSION@.1
+debian/man/clang-check-@LLVM_VERSION@.1
+debian/man/clang-rename-@LLVM_VERSION@.1
+debian/man/clang-query-@LLVM_VERSION@.1
+debian/man/clang-apply-replacements-@LLVM_VERSION@.1
+debian/man/sancov-@LLVM_VERSION@.1
+debian/man/scan-view-@LLVM_VERSION@.1
+debian/man/modularize-@LLVM_VERSION@.1
+debian/man/find-all-symbols-@LLVM_VERSION@.1
+debian/man/clang-include-fixer-@LLVM_VERSION@.1
+debian/man/clang-reorder-fields-@LLVM_VERSION@.1
+debian/man/clang-repl-@LLVM_VERSION@.1
diff --git a/clangd-X.Y.install.in b/clangd-X.Y.install.in
new file mode 100644 (file)
index 0000000..32cec27
--- /dev/null
@@ -0,0 +1,3 @@
+usr/lib/llvm-@LLVM_VERSION@/bin/clangd
+usr/bin/clangd-@LLVM_VERSION@
+
diff --git a/clangd-X.Y.manpages.in b/clangd-X.Y.manpages.in
new file mode 100644 (file)
index 0000000..1ac3b60
--- /dev/null
@@ -0,0 +1 @@
+debian/man/clangd-@LLVM_VERSION@.1
\ No newline at end of file
diff --git a/compat b/compat
new file mode 100644 (file)
index 0000000..b4de394
--- /dev/null
+++ b/compat
@@ -0,0 +1 @@
+11
diff --git a/control b/control
new file mode 100644 (file)
index 0000000..43e8492
--- /dev/null
+++ b/control
@@ -0,0 +1,967 @@
+Source: llvm-toolchain-19
+Section: devel
+Priority: optional
+Rules-Requires-Root: no
+Maintainer: LLVM Packaging Team <pkg-llvm-team@lists.alioth.debian.org>
+Uploaders: Sylvestre Ledru <sylvestre@debian.org>, Gianfranco Costamagna <locutusofborg@debian.org>
+Build-Depends: debhelper (>= 10.0), cmake, ninja-build,
+    chrpath, texinfo, sharutils,
+    libelf-dev,
+    libffi-dev,
+    lsb-release, patchutils, diffstat, xz-utils, python3-dev,
+    libedit-dev, libncurses-dev, swig, python3-sphinx (>= 1.3.6),
+    binutils-dev, binutils-gold [amd64 arm64 armel armhf i386 powerpc ppc64 ppc64el sparc sparc64 s390x x32 hurd-amd64 hurd-i386],
+    libxml2-dev,
+    libjsoncpp-dev, pkg-config,
+    libipt-dev [amd64 i386],
+    lcov, procps, help2man,
+    zlib1g-dev, libzstd-dev,
+    g++-multilib [amd64 i386 mips64 mips64el mipsel powerpc ppc64 s390x sparc sparc64 x32] | hello [amd64 i386 mips64 mips64el mipsel powerpc ppc64 s390x sparc sparc64 x32],
+    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 [!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-19 [amd64 arm64 armhf i386 ppc64 ppc64el riscv64 s390x] <!stage1> | hello [amd64 arm64 armhf i386 ppc64 ppc64el riscv64 s390x] <!stage1>,
+    spirv-tools [linux-any] <!stage1> | hello [linux-any] <!stage1>,
+    wasi-libc | hello,
+    libcurl4-openssl-dev <!stage1> | libcurl-dev <!stage1>,
+    libgrpc++-dev [amd64 arm64 armel armhf mips64el mipsel ppc64 ppc64el powerpc riscv64 s390x] <!stage1>,
+    protobuf-compiler-grpc [amd64 arm64 armel armhf mips64el mipsel ppc64 ppc64el powerpc riscv64 s390x] <!stage1>,
+    libprotobuf-dev [amd64 arm64 armel armhf mips64el mipsel ppc64 ppc64el powerpc riscv64 s390x] <!stage1>,
+    protobuf-compiler [amd64 arm64 armel armhf mips64el mipsel ppc64 ppc64el powerpc riscv64 s390x] <!stage1>,
+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 19
+Vcs-Browser: https://salsa.debian.org/pkg-llvm-team/llvm-toolchain/tree/19
+
+# ------------- clang -------------
+
+Package: clang-19
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}, ${dep:devlibs},
+ ${dep:devlibs-objc},
+ 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-19-dev, python3, clang-tools-19
+# 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
+ GNU Compiler Collection (GCC).
+ .
+ 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-19
+Architecture: any
+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
+ based on the LLVM compiler. Its goal is to offer a replacement to the
+ GNU Compiler Collection (GCC).
+ .
+ Clang implements all of the ISO C++ 1998, 11, 14 and 17 standards and also
+ provides most of the support of C++20.
+ .
+ This package contains some clang-based tools like scan-build, clang-cl, etc.
+
+Package: clang-format-19
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}, python3,
+ 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
+ style guides. To do so, clang-format uses Clang's Lexer to transform an
+ input file into a token stream and then changes all the whitespace around
+ those tokens. The goal is for clang-format to both serve both as a user
+ tool (ideally with powerful IDE integrations) and part of other
+ refactoring tools, e.g. to do a reformatting of all the lines changed
+ during a renaming.
+ .
+ This package also provides vim and emacs plugins.
+
+Package: clang-tidy-19
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}, python3,
+ 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-19
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends},
+ 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
+  - compile errors
+  - go-to-definition
+  - and more.
+ .
+ clangd is a language server that implements the Language Server Protocol;
+ it can work with many editors through a plugin.
+
+Package: clang-19-doc
+Architecture: all
+Multi-Arch: foreign
+Section: doc
+Depends: ${shlibs:Depends}, ${misc:Depends}, libjs-mathjax
+Description: C, C++ and Objective-C compiler - Documentation
+ 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
+ GNU Compiler Collection (GCC).
+ .
+ Clang implements all of the ISO C++ 1998, 11, 14 and 17 standards and also
+ provides most of the support of C++20.
+ .
+ This package contains the documentation.
+
+Package: libclang1-19
+Provides: ${t64:Provides}
+Section: libs
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}
+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
+ based on the LLVM compiler. Its goal is to offer a replacement to the
+ GNU Compiler Collection (GCC).
+ .
+ Clang implements all of the ISO C++ 1998, 11, 14 and 17 standards and also
+ provides most of the support of C++20.
+ .
+ This package contains the Clang library.
+ .
+ The C Interface to Clang provides a relatively small API that exposes
+ facilities for parsing source code into an abstract syntax tree (AST),
+ loading already-parsed ASTs, traversing the AST, associating physical source
+ locations with elements within the AST, and other facilities that support
+ Clang-based development tools.
+
+Package: libclang-19-dev
+Architecture: any
+Section: libdevel
+Depends: ${shlibs:Depends}, ${misc:Depends}, ${dep:devlibs},
+ ${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
+ GNU Compiler Collection (GCC).
+ .
+ Clang implements all of the ISO C++ 1998, 11, 14 and 17 standards and also
+ provides most of the support of C++20.
+ .
+ This package contains the Clang headers to develop extensions over
+ libclang1-19.
+
+Package: libclang-common-19-dev
+Architecture: any
+Multi-Arch: same
+Section: libdevel
+Depends: ${shlibs:Depends}, ${misc:Depends},
+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
+ GNU Compiler Collection (GCC).
+ .
+ Clang implements all of the ISO C++ 1998, 11, 14 and 17 standards and also
+ provides most of the support of C++20.
+ .
+ This package contains the Clang generic headers.
+
+# ------------- compiler-rt -------------
+
+Package: libclang-rt-19-dev
+Architecture: any
+Multi-Arch: same
+Section: libdevel
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: Compiler-rt - development package
+ This package provides various libraries:
+ .
+   * builtins - Simple libraries that provide implementation of the
+     low-level target-specific hooks required by code generation
+     and other runtime components.
+   * sanitizer runtimes - AddressSanitizer, ThreadSanitizer,
+     UndefinedBehaviorSanitizer, MemorySanitizer, LeakSanitizer
+     DataFlowSanitizer, etc
+   * profile - Library which is used to collect coverage information.
+
+Package: libclang-rt-19-dev-wasm32
+Architecture: all
+Multi-Arch: foreign
+Section: libdevel
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: Compiler-rt - wasm32 builtins
+ Provides the compiler-rt builtins for WebAssembly 32 bits
+
+Package: libclang-rt-19-dev-wasm64
+Architecture: all
+Multi-Arch: foreign
+Section: libdevel
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: Compiler-rt - wasm64 builtins
+ Provides the compiler-rt builtins for WebAssembly 64 bits
+
+# ------------- polly -------------
+
+Package: libpolly-19-dev
+Architecture: any
+Multi-Arch: same
+Section: libdevel
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: High-level loop and data-locality optimizer
+ Uses an abstract mathematical representation based on integer polyhedra
+ to analyze and optimize the memory access pattern of a program
+
+# ------------- clang libraries -------------
+
+Package: libclang-cpp19
+Provides: ${t64:Provides}
+Section: libs
+Architecture: any
+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
+ based on the LLVM compiler. Its goal is to offer a replacement to the
+ GNU Compiler Collection (GCC).
+ .
+ Clang implements all of the ISO C++ 1998, 11, 14 and 17 standards and also
+ provides most of the support of C++20.
+ .
+ This package contains the Clang C++ library.
+ .
+ The C++ Interface to Clang provides an API that exposes
+ facilities for parsing source code into an abstract syntax tree (AST),
+ loading already-parsed ASTs, traversing the AST, associating physical source
+ locations with elements within the AST, and other facilities that support
+ Clang-based development tools.
+
+Package: libclang-cpp19-dev
+Architecture: any
+Section: libdevel
+Depends: ${shlibs:Depends}, ${misc:Depends}, ${dep:devlibs},
+ 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
+ GNU Compiler Collection (GCC).
+ .
+ Clang implements all of the ISO C++ 1998, 11, 14 and 17 standards and also
+ provides most of the support of C++20.
+ .
+ This package contains the Clang C++ library.
+ .
+ The C++ Interface to Clang provides an API that exposes
+ facilities for parsing source code into an abstract syntax tree (AST),
+ loading already-parsed ASTs, traversing the AST, associating physical source
+ locations with elements within the AST, and other facilities that support
+ Clang-based development tools.
+ .
+ This package contains symlinks without a version number, which needed by
+ linker at build time.
+
+
+Package: libfuzzer-19-dev
+Architecture: linux-any
+Section: libdevel
+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.
+ .
+ LibFuzzer is similar in concept to American Fuzzy Lop (AFL), but it performs
+ all of its fuzzing inside a single process. This in-process fuzzing can be
+ more restrictive and fragile, but is potentially much faster as there is no
+ overhead for process start-up.
+ .
+ The fuzzer is linked with the library under test, and feeds fuzzed inputs to
+ the library via a specific fuzzing entrypoint (aka 'target function'); the
+ fuzzer then tracks which areas of the code are reached, and generates mutations
+ on the corpus of input data in order to maximize the code coverage. The code
+ coverage information for libFuzzer is provided by LLVM's SanitizerCoverage
+ instrumentation.
+
+
+Package: python3-clang-19
+Section: python
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}, python3, libclang-19-dev
+Replaces: python-clang-x.y,
+Conflicts: python-clang-x.y
+Provides: python-clang-x.y
+Description: Clang Python Bindings
+ 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
+ GNU Compiler Collection (GCC).
+ .
+ Clang implements all of the ISO C++ 1998, 11, 14 and 17 standards and also
+ provides most of the support of C++20.
+ .
+ This binding package provides access to the Clang compiler and libraries.
+
+Package: clang-19-examples
+Architecture: all
+Multi-Arch: foreign
+Section: doc
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: Clang examples
+ 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
+ GNU Compiler Collection (GCC).
+ .
+ Clang implements all of the ISO C++ 1998, 11, 14 and 17 standards and also
+ provides most of the support of C++20.
+ .
+ This package contains the Clang examples.
+
+# ------------- LLVM -------------
+
+Package: libllvm19
+Provides: ${t64:Provides}
+Architecture: any
+Section: libs
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Pre-Depends: ${misc:Pre-Depends}
+Multi-Arch: same
+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
+ compiler-related programs.
+ .
+ This package contains the LLVM runtime library.
+
+Package: llvm-19-linker-tools
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: Modular compiler and toolchain technologies - Plugins
+ LLVM is a collection of libraries and tools that make it easy to build
+ compilers, optimizers, just-in-time code generators, and many other
+ compiler-related programs.
+ .
+ This package contains the LLVMgold and LLVMPolly linker plugins.
+
+Package: llvm-19
+Architecture: any
+Suggests: llvm-19-doc
+Depends: llvm-19-runtime (= ${binary:Version}),
+ llvm-19-linker-tools (= ${binary:Version}),
+ ${shlibs:Depends}, ${misc:Depends}
+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
+ compiler-related programs.
+ .
+ LLVM uses a single, language-independent virtual instruction set both
+ as an offline code representation (to communicate code between
+ compiler phases and to run-time systems) and as the compiler internal
+ representation (to analyze and transform programs). This persistent
+ code representation allows a common set of sophisticated compiler
+ techniques to be applied at compile-time, link-time, install-time,
+ run-time, or "idle-time" (between program runs).
+ .
+ The strengths of the LLVM infrastructure are its extremely
+ simple design (which makes it easy to understand and use),
+ source-language independence, powerful mid-level optimizer, automated
+ compiler debugging support, extensibility, and its stability and
+ reliability. LLVM is currently being used to host a wide variety of
+ academic research projects and commercial projects. LLVM includes C
+ and C++ front-ends, a front-end for a Forth-like language (Stacker),
+ 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-19-runtime
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Recommends: binfmt-support | systemd
+Description: Modular compiler and toolchain technologies, IR interpreter
+ LLVM is a collection of libraries and tools that make it easy to build
+ compilers, optimizers, just-in-time code generators, and many other
+ compiler-related programs.
+ .
+ LLVM uses a single, language-independent virtual instruction set both
+ as an offline code representation (to communicate code between
+ compiler phases and to run-time systems) and as the compiler internal
+ representation (to analyze and transform programs). This persistent
+ code representation allows a common set of sophisticated compiler
+ techniques to be applied at compile-time, link-time, install-time,
+ run-time, or "idle-time" (between program runs).
+ .
+ This package provides the minimal required to execute programs in LLVM
+ format.
+
+Package: llvm-19-dev
+Architecture: any
+Depends: ${shlibs:Depends}, libffi-dev, ${misc:Depends},
+ 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
+ compiler-related programs.
+ .
+ LLVM uses a single, language-independent virtual instruction set both
+ as an offline code representation (to communicate code between
+ compiler phases and to run-time systems) and as the compiler internal
+ representation (to analyze and transform programs). This persistent
+ code representation allows a common set of sophisticated compiler
+ techniques to be applied at compile-time, link-time, install-time,
+ run-time, or "idle-time" (between program runs).
+ .
+ This package provides the libraries and headers to develop applications
+ using llvm.
+
+Package: llvm-19-tools
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}, python3,
+ python3-pygments, python3-yaml,
+# Because of yaml-bench
+Description: Modular compiler and toolchain technologies, tools
+ LLVM is a collection of libraries and tools that make it easy to build
+ compilers, optimizers, just-in-time code generators, and many other
+ compiler-related programs.
+ .
+ LLVM uses a single, language-independent virtual instruction set both
+ as an offline code representation (to communicate code between
+ compiler phases and to run-time systems) and as the compiler internal
+ representation (to analyze and transform programs). This persistent
+ code representation allows a common set of sophisticated compiler
+ techniques to be applied at compile-time, link-time, install-time,
+ run-time, or "idle-time" (between program runs).
+ .
+ This package provides tools for testing.
+
+Package: libllvm-19-ocaml-dev
+Section: ocaml
+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
+Description: Modular compiler and toolchain technologies, OCaml bindings
+ LLVM is a collection of libraries and tools that make it easy to build
+ compilers, optimizers, just-in-time code generators, and many other
+ compiler-related programs.
+ .
+ LLVM uses a single, language-independent virtual instruction set both
+ as an offline code representation (to communicate code between
+ compiler phases and to run-time systems) and as the compiler internal
+ representation (to analyze and transform programs). This persistent
+ code representation allows a common set of sophisticated compiler
+ techniques to be applied at compile-time, link-time, install-time,
+ run-time, or "idle-time" (between program runs).
+ .
+ This package provides the OCaml bindings to develop applications using llvm.
+
+Package: llvm-19-doc
+Section: doc
+Architecture: all
+Multi-Arch: foreign
+Depends: ${misc:Depends}, libjs-jquery, libjs-underscore
+Description: Modular compiler and toolchain technologies, documentation
+ LLVM is a collection of libraries and tools that make it easy to build
+ compilers, optimizers, just-in-time code generators, and many other
+ compiler-related programs.
+ .
+ LLVM uses a single, language-independent virtual instruction set both
+ as an offline code representation (to communicate code between
+ compiler phases and to run-time systems) and as the compiler internal
+ representation (to analyze and transform programs). This persistent
+ code representation allows a common set of sophisticated compiler
+ techniques to be applied at compile-time, link-time, install-time,
+ run-time, or "idle-time" (between program runs).
+ .
+ This package contains all documentation (extensive).
+
+Package: llvm-19-examples
+Section: doc
+Architecture: all
+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
+ compiler-related programs.
+ .
+ LLVM uses a single, language-independent virtual instruction set both
+ as an offline code representation (to communicate code between
+ compiler phases and to run-time systems) and as the compiler internal
+ representation (to analyze and transform programs). This persistent
+ code representation allows a common set of sophisticated compiler
+ techniques to be applied at compile-time, link-time, install-time,
+ run-time, or "idle-time" (between program runs).
+ .
+ This package contains examples for using LLVM, both in developing
+ extensions to LLVM and in using it to compile code.
+
+
+# ------------- lld -------------
+
+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}, 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-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}, libllvm19 (= ${binary:Version})
+Pre-Depends: ${misc:Pre-Depends}
+Section: libs
+Description: LLVM-based linker, library
+ 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.
+ .
+ This package contains the LLD runtime library.
+
+Package: liblld-19-dev
+Section: libdevel
+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-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
+ components which highly leverage existing libraries in the larger LLVM
+ Project.
+ .
+ This package provides the header files to build extension over lld.
+
+
+# ------------- lldb -------------
+
+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-19
+Provides: ${t64:Provides}
+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
+ 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.
+ .
+ This package contains the LLDB runtime library.
+
+Package: python3-lldb-19
+Section: python
+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
+Pre-Depends: ${misc:Pre-Depends}
+Description: Next generation, high-performance debugger, python3 lib
+ 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.
+ .
+ This binding package provides access to lldb.
+
+Package: liblldb-19-dev
+Section: libdevel
+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
+ reusable components which highly leverage existing libraries in the larger LLVM
+ Project, such as the Clang expression parser and LLVM disassembler.
+ .
+ This package provides the header files to build extension over lldb.
+
+
+# ------------- openmp -------------
+# 44 because it was the first version in which openmp & libc++ have been
+# managed in llvm-defaults
+
+Package: libomp-19-dev
+Section: libdevel
+Architecture: amd64 arm64 armhf ppc64 ppc64el hurd-amd64 loong64 mips64el riscv64
+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
+Replaces: libomp-x.y-dev
+Description: LLVM OpenMP runtime - dev package
+ The runtime is the part of the OpenMP implementation that your code is
+ linked against, and that manages the multiple threads in an OpenMP program
+ while it is executing.
+
+Package: libomp5-19
+Multi-Arch: same
+Architecture: amd64 arm64 armhf ppc64 ppc64el hurd-amd64 loong64 mips64el riscv64
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Provides: ${t64:Provides}, libomp-x.y
+Conflicts: libomp-x.y
+Replaces: libomp-x.y
+Description: LLVM OpenMP runtime
+ The runtime is the part of the OpenMP implementation that your code is
+ linked against, and that manages the multiple threads in an OpenMP program
+ while it is executing.
+
+Package: libomp-19-doc
+Section: doc
+Architecture: all
+Multi-Arch: foreign
+Depends: ${shlibs:Depends}, ${misc:Depends}, libjs-jquery
+Replaces: libiomp-x.y-doc
+Breaks: libiomp-x.y-doc
+Description: LLVM OpenMP runtime - Documentation
+ The runtime is the part of the OpenMP implementation that your code is
+ linked against, and that manages the multiple threads in an OpenMP program
+ while it is executing.
+ .
+ This package contains the documentation of this package.
+
+# ------------- libcxx -------------
+
+Package: libc++1-19
+Section: libs
+Architecture: any
+Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Suggests: clang
+Provides: ${t64:Provides}, libc++-x.y
+Conflicts: libc++-x.y
+Replaces: libc++-x.y
+Description: LLVM C++ Standard library
+ libc++ is another implementation of the C++ standard library.
+ .
+ Features and Goals
+ .
+   * Correctness as defined by the C++ standards.
+   * Fast execution.
+   * Minimal memory use.
+   * Fast compile times.
+   * ABI compatibility with gcc's libstdc++ for some low-level features such
+     as exception objects, rtti and memory allocation.
+   * Extensive unit tests.
+
+Package: libc++-19-dev
+Section: libdevel
+Architecture: any
+Multi-Arch: same
+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
+Description: LLVM C++ Standard library (development files)
+ libc++ is another implementation of the C++ standard library
+ .
+ Features and Goals
+ .
+   * Correctness as defined by the C++ standards.
+   * Fast execution.
+   * Minimal memory use.
+   * Fast compile times.
+   * ABI compatibility with gcc's libstdc++ for some low-level features such
+     as exception objects, rtti and memory allocation.
+   * Extensive unit tests.
+
+Package: libc++-19-dev-wasm32
+Section: libdevel
+Architecture: all
+Multi-Arch: foreign
+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
+Description: LLVM C++ Standard library (WASI)
+ libc++ is another implementation of the C++ standard library
+ .
+ Features and Goals
+ .
+   * Correctness as defined by the C++ standards.
+   * Fast execution.
+   * Minimal memory use.
+   * Fast compile times.
+   * ABI compatibility with gcc's libstdc++ for some low-level features such
+     as exception objects, rtti and memory allocation.
+   * Extensive unit tests.
+ .
+ This package provides a version for the 32-bit WebAssembly System Interface.
+
+# ------------- libcxxabi -------------
+
+Package: libc++abi1-19
+Section: libs
+Architecture: any
+Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Provides: ${t64:Provides}, libc++abi-x.y
+Conflicts: libc++abi-x.y
+Replaces: libc++abi-x.y
+Description: LLVM low level support for a standard C++ library
+ libc++abi is another implementation of low level support for a standard C++
+ library.
+ .
+ Features and Goals
+ .
+   * Correctness as defined by the C++ standards.
+   * Provide a portable sublayer to ease the porting of libc++
+
+Package: libc++abi-19-dev
+Section: libdevel
+Architecture: any
+Multi-Arch: same
+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
+Replaces: libc++abi-x.y-dev
+Description: LLVM low level support for a standard C++ library (development files)
+ libc++abi is another implementation of low level support for a standard C++
+ library.
+ .
+ Features and Goals
+ .
+   * Correctness as defined by the C++ standards.
+   * Provide a portable sublayer to ease the porting of libc++
+
+Package: libc++abi-19-dev-wasm32
+Section: libdevel
+Architecture: all
+Multi-Arch: foreign
+Depends: wasi-libc, ${misc:Depends}
+Provides: libc++abi-x.y-dev-wasm32
+Conflicts: libc++abi-x.y-dev-wasm32
+Replaces: libc++abi-x.y-dev-wasm32
+Description: LLVM low level support for a standard C++ library (WASI)
+ libc++abi is another implementation of low level support for a standard C++
+ library.
+ .
+ Features and Goals
+ .
+   * Correctness as defined by the C++ standards.
+   * Provide a portable sublayer to ease the porting of libc++
+ .
+ This package provides a version for the 32-bit WebAssembly System Interface.
+
+# ------------- libclc -------------
+
+Package: libclc-19
+Section: libs
+Architecture: all
+Multi-Arch: foreign
+Depends:
+ ${misc:Depends},
+ libclc-19-dev (= ${binary:Version}),
+ libclang-common-19-dev,
+Breaks: libclc-amdgcn, libclc-ptx, libclc-r600
+Provides: libclc-x.y
+Conflicts: libclc-x.y
+Replaces: libclc-x.y, libclc-amdgcn, libclc-ptx, libclc-r600,
+Description: OpenCL C language implementation - platform support
+ libclc is an open implementation of the OpenCL C programming language,
+ as specified by the OpenCL 1.1 Specification.
+ .
+ This package contains support for the amdgcn (AMD GPU), PTX and r600
+ platforms.
+
+Package: libclc-19-dev
+Section: libdevel
+Architecture: all
+Multi-Arch: foreign
+Depends:
+ ${misc:Depends},
+Breaks: libclc-dev
+Provides: libclc-x.y-dev
+Conflicts: libclc-x.y-dev
+Replaces: libclc-dev, libclc-x.y-dev
+Description: OpenCL C language implementation - development files
+ libclc is an open implementation of the OpenCL C programming language,
+ as specified by the OpenCL 1.1 Specification.
+ .
+ This package contains development header files.
+
+# ------------- libunwind -------------
+
+Package: libunwind-19
+Section: libs
+Architecture: amd64 arm64 armhf i386 loong64 ppc64el ppc64 riscv64
+Multi-Arch: same
+Depends: ${shlibs:Depends},
+ ${misc:Depends}
+Provides: ${t64:Provides}, libunwind-x.y
+Conflicts: libunwind-x.y
+Replaces: libunwind-x.y
+Description: production-quality unwinder
+ libunwind is a production-quality unwinder, with platform support for DWARF
+ unwind info, SjLj, and ARM EHABI.
+ .
+ The low level libunwind API was designed to work either in-process (aka local)
+ or to operate on another process (aka remote), but only the local path has
+ been implemented. Remote unwinding remains as future work.
+
+Package: libunwind-19-dev
+Section: libdevel
+Architecture: amd64 arm64 armhf i386 loong64 ppc64el ppc64 riscv64
+Multi-Arch: same
+Depends:
+ ${misc:Depends},
+ 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
+Description: production-quality unwinder
+ libunwind is a production-quality unwinder, with platform support for DWARF
+ unwind info, SjLj, and ARM EHABI.
+ .
+ The low level libunwind API was designed to work either in-process (aka local)
+ or to operate on another process (aka remote), but only the local path has
+ been implemented. Remote unwinding remains as future work.
+
+# ------------- mlir -------------
+
+Package: mlir-19-tools
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: Multi-Level Intermediate Representation tools
+ Novel approach to building reusable and extensible compiler infrastructure.
+ MLIR aims to address software fragmentation, improve compilation for
+ heterogeneous hardware, significantly reduce the cost of building domain
+ specific compilers, and aid in connecting existing compilers together.
+ .
+ This package provides tools.
+
+Package: libmlir-19
+Section: libs
+Architecture: any
+Multi-Arch: same
+Depends: ${shlibs:Depends},
+ ${misc:Depends}
+Provides: ${t64:Provides}, libmlir-x.y
+Conflicts: libmlir-x.y
+Replaces: libmlir-x.y
+Description: Multi-Level Intermediate Representation library
+ Novel approach to building reusable and extensible compiler infrastructure.
+ MLIR aims to address software fragmentation, improve compilation for
+ heterogeneous hardware, significantly reduce the cost of building domain
+ specific compilers, and aid in connecting existing compilers together.
+
+
+Package: libmlir-19-dev
+Section: libdevel
+Architecture: any
+Multi-Arch: same
+Depends:
+ ${misc:Depends},
+ libmlir-19 (= ${binary:Version})
+Breaks: libmlir-dev
+Provides: libmlir-x.y-dev
+Conflicts: libmlir-x.y-dev
+Replaces: libmlir-dev, libmlir-x.y-dev
+Description: Multi-Level Intermediate Representation library
+ Novel approach to building reusable and extensible compiler infrastructure.
+ MLIR aims to address software fragmentation, improve compilation for
+ heterogeneous hardware, significantly reduce the cost of building domain
+ specific compilers, and aid in connecting existing compilers together.
+
+
+# ------------- bolt -------------
+
+Package: bolt-19
+Architecture: amd64 arm64
+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-19-dev
+Section: libdevel
+Architecture: amd64 arm64
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: Post-link optimizer
+ It achieves the improvements by optimizing application's code layout based on
+ execution profile gathered by sampling profiler.
+
+# ------------- flang -------------
+
+Package: flang-19
+# no 32bit support
+# https://github.com/llvm/llvm-project/issues/59845
+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
+ modern C++.
+ .
+ While it is capable of generating executables for a number
+ of examples, some functionalities are still missing.
+
+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
+ Ground-up implementation of a Fortran front end written in
+ modern C++.
+ .
+ While it is capable of generating executables for a number
+ of examples, some functionalities are still missing.
+ .
+ This package contains the flang libraries and headers.
+
+# ------------- LLVM libc -------------
+
+Package: libllvmlibc-19-dev
+Section: libdevel
+Architecture: amd64 arm64 armhf
+Description: LLVM C Library - dev package
+ Implementation of the C standard library targeting C17 and above.
+ .
+ This is an experimental project. Don't use in production.
diff --git a/control.in b/control.in
new file mode 100644 (file)
index 0000000..a877d68
--- /dev/null
@@ -0,0 +1,967 @@
+Source: llvm-toolchain-@BRANCH_NAME@
+Section: devel
+Priority: optional
+Rules-Requires-Root: no
+Maintainer: LLVM Packaging Team <pkg-llvm-team@lists.alioth.debian.org>
+Uploaders: Sylvestre Ledru <sylvestre@debian.org>, Gianfranco Costamagna <locutusofborg@debian.org>
+Build-Depends: debhelper (>= 10.0), cmake, ninja-build,
+    chrpath, texinfo, sharutils,
+    libelf-dev,
+    libffi-dev,
+    lsb-release, patchutils, diffstat, xz-utils, python3-dev,
+    libedit-dev, libncurses-dev, swig, python3-sphinx (>= 1.3.6),
+    binutils-dev, binutils-gold [amd64 arm64 armel armhf i386 powerpc ppc64 ppc64el sparc sparc64 s390x x32 hurd-amd64 hurd-i386],
+    libxml2-dev,
+    libjsoncpp-dev, pkg-config,
+    libipt-dev [amd64 i386],
+    lcov, procps, help2man,
+    zlib1g-dev, libzstd-dev,
+    g++-multilib [@MULTILIB_ARCHS@]@BEGIN_OPTIONAL_HELLO@ | hello [@MULTILIB_ARCHS@]@END_OPTIONAL_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-19 [amd64 arm64 armhf i386 ppc64 ppc64el riscv64 s390x] <!stage1>@BEGIN_OPTIONAL_HELLO@ | hello [amd64 arm64 armhf i386 ppc64 ppc64el riscv64 s390x] <!stage1>@END_OPTIONAL_HELLO@,
+    spirv-tools [linux-any] <!stage1>@BEGIN_OPTIONAL_HELLO@ | hello [linux-any] <!stage1>@END_OPTIONAL_HELLO@,
+    wasi-libc@BEGIN_OPTIONAL_HELLO@ | hello@END_OPTIONAL_HELLO@,
+    libcurl4-openssl-dev <!stage1> | libcurl-dev <!stage1>,
+    libgrpc++-dev [amd64 arm64 armel armhf mips64el mipsel ppc64 ppc64el powerpc riscv64 s390x] <!stage1>,
+    protobuf-compiler-grpc [amd64 arm64 armel armhf mips64el mipsel ppc64 ppc64el powerpc riscv64 s390x] <!stage1>,
+    libprotobuf-dev [amd64 arm64 armel armhf mips64el mipsel ppc64 ppc64el powerpc riscv64 s390x] <!stage1>,
+    protobuf-compiler [amd64 arm64 armel armhf mips64el mipsel ppc64 ppc64el powerpc riscv64 s390x] <!stage1>,
+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 @BRANCH_NAME@
+Vcs-Browser: https://salsa.debian.org/pkg-llvm-team/llvm-toolchain/tree/@BRANCH_NAME@
+
+# ------------- clang -------------
+
+Package: clang-@LLVM_VERSION@
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}, ${dep:devlibs},
+ ${dep:devlibs-objc},
+ libllvm@LLVM_VERSION@ (= ${binary:Version}),
+ libclang-common-@LLVM_VERSION@-dev (= ${binary:Version}),
+ llvm-@LLVM_VERSION@-linker-tools (= ${binary:Version}),
+ libclang1-@LLVM_VERSION@ (= ${binary:Version}), libc6-dev, binutils
+Provides: c-compiler, objc-compiler, c++-compiler, objc++-compiler
+Recommends: llvm-@LLVM_VERSION@-dev, python3, clang-tools-@LLVM_VERSION@
+# libomp-@LLVM_VERSION@-dev
+Suggests: clang-@LLVM_VERSION@-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
+ GNU Compiler Collection (GCC).
+ .
+ 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-@LLVM_VERSION@
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}, clang-@LLVM_VERSION@ (= ${binary:Version}),
+ python3
+Description: clang-based tools for C/C++ developments
+ 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
+ GNU Compiler Collection (GCC).
+ .
+ Clang implements all of the ISO C++ 1998, 11, 14 and 17 standards and also
+ provides most of the support of C++20.
+ .
+ This package contains some clang-based tools like scan-build, clang-cl, etc.
+
+Package: clang-format-@LLVM_VERSION@
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}, python3,
+ libllvm@LLVM_VERSION@ (= ${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
+ style guides. To do so, clang-format uses Clang's Lexer to transform an
+ input file into a token stream and then changes all the whitespace around
+ those tokens. The goal is for clang-format to both serve both as a user
+ tool (ideally with powerful IDE integrations) and part of other
+ refactoring tools, e.g. to do a reformatting of all the lines changed
+ during a renaming.
+ .
+ This package also provides vim and emacs plugins.
+
+Package: clang-tidy-@LLVM_VERSION@
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}, python3,
+ libllvm@LLVM_VERSION@ (= ${binary:Version}),
+ libclang-common-@LLVM_VERSION@-dev (= ${binary:Version}),
+ clang-tools-@LLVM_VERSION@, 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-@LLVM_VERSION@
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends},
+ libllvm@LLVM_VERSION@ (= ${binary:Version}),
+ libclang-common-@LLVM_VERSION@-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
+  - compile errors
+  - go-to-definition
+  - and more.
+ .
+ clangd is a language server that implements the Language Server Protocol;
+ it can work with many editors through a plugin.
+
+Package: clang-@LLVM_VERSION@-doc
+Architecture: all
+Multi-Arch: foreign
+Section: doc
+Depends: ${shlibs:Depends}, ${misc:Depends}, libjs-mathjax
+Description: C, C++ and Objective-C compiler - Documentation
+ 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
+ GNU Compiler Collection (GCC).
+ .
+ Clang implements all of the ISO C++ 1998, 11, 14 and 17 standards and also
+ provides most of the support of C++20.
+ .
+ This package contains the documentation.
+
+Package: libclang1-@LLVM_VERSION@
+Provides: ${t64:Provides}
+Section: libs
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}
+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
+ based on the LLVM compiler. Its goal is to offer a replacement to the
+ GNU Compiler Collection (GCC).
+ .
+ Clang implements all of the ISO C++ 1998, 11, 14 and 17 standards and also
+ provides most of the support of C++20.
+ .
+ This package contains the Clang library.
+ .
+ The C Interface to Clang provides a relatively small API that exposes
+ facilities for parsing source code into an abstract syntax tree (AST),
+ loading already-parsed ASTs, traversing the AST, associating physical source
+ locations with elements within the AST, and other facilities that support
+ Clang-based development tools.
+
+Package: libclang-@LLVM_VERSION@-dev
+Architecture: any
+Section: libdevel
+Depends: ${shlibs:Depends}, ${misc:Depends}, ${dep:devlibs},
+ ${dep:devlibs-objc}, libclang1-@LLVM_VERSION@ (= ${binary:Version}),
+ libclang-common-@LLVM_VERSION@-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
+ GNU Compiler Collection (GCC).
+ .
+ Clang implements all of the ISO C++ 1998, 11, 14 and 17 standards and also
+ provides most of the support of C++20.
+ .
+ This package contains the Clang headers to develop extensions over
+ libclang1-@LLVM_VERSION@.
+
+Package: libclang-common-@LLVM_VERSION@-dev
+Architecture: any
+Multi-Arch: same
+Section: libdevel
+Depends: ${shlibs:Depends}, ${misc:Depends},
+Recommends: libclang-rt-@LLVM_VERSION@-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
+ GNU Compiler Collection (GCC).
+ .
+ Clang implements all of the ISO C++ 1998, 11, 14 and 17 standards and also
+ provides most of the support of C++20.
+ .
+ This package contains the Clang generic headers.
+
+# ------------- compiler-rt -------------
+
+Package: libclang-rt-@LLVM_VERSION@-dev
+Architecture: any
+Multi-Arch: same
+Section: libdevel
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: Compiler-rt - development package
+ This package provides various libraries:
+ .
+   * builtins - Simple libraries that provide implementation of the
+     low-level target-specific hooks required by code generation
+     and other runtime components.
+   * sanitizer runtimes - AddressSanitizer, ThreadSanitizer,
+     UndefinedBehaviorSanitizer, MemorySanitizer, LeakSanitizer
+     DataFlowSanitizer, etc
+   * profile - Library which is used to collect coverage information.
+
+Package: libclang-rt-@LLVM_VERSION@-dev-wasm32
+Architecture: all
+Multi-Arch: foreign
+Section: libdevel
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: Compiler-rt - wasm32 builtins
+ Provides the compiler-rt builtins for WebAssembly 32 bits
+
+Package: libclang-rt-@LLVM_VERSION@-dev-wasm64
+Architecture: all
+Multi-Arch: foreign
+Section: libdevel
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: Compiler-rt - wasm64 builtins
+ Provides the compiler-rt builtins for WebAssembly 64 bits
+
+# ------------- polly -------------
+
+Package: libpolly-@LLVM_VERSION@-dev
+Architecture: any
+Multi-Arch: same
+Section: libdevel
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: High-level loop and data-locality optimizer
+ Uses an abstract mathematical representation based on integer polyhedra
+ to analyze and optimize the memory access pattern of a program
+
+# ------------- clang libraries -------------
+
+Package: libclang-cpp@LLVM_VERSION@
+Provides: ${t64:Provides}
+Section: libs
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm@LLVM_VERSION@ (= ${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
+ based on the LLVM compiler. Its goal is to offer a replacement to the
+ GNU Compiler Collection (GCC).
+ .
+ Clang implements all of the ISO C++ 1998, 11, 14 and 17 standards and also
+ provides most of the support of C++20.
+ .
+ This package contains the Clang C++ library.
+ .
+ The C++ Interface to Clang provides an API that exposes
+ facilities for parsing source code into an abstract syntax tree (AST),
+ loading already-parsed ASTs, traversing the AST, associating physical source
+ locations with elements within the AST, and other facilities that support
+ Clang-based development tools.
+
+Package: libclang-cpp@LLVM_VERSION@-dev
+Architecture: any
+Section: libdevel
+Depends: ${shlibs:Depends}, ${misc:Depends}, ${dep:devlibs},
+ libclang-cpp@LLVM_VERSION@ (= ${binary:Version})
+# Move of libclang-cpp.so into libclang-cpp@LLVM_VERSION@.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
+ GNU Compiler Collection (GCC).
+ .
+ Clang implements all of the ISO C++ 1998, 11, 14 and 17 standards and also
+ provides most of the support of C++20.
+ .
+ This package contains the Clang C++ library.
+ .
+ The C++ Interface to Clang provides an API that exposes
+ facilities for parsing source code into an abstract syntax tree (AST),
+ loading already-parsed ASTs, traversing the AST, associating physical source
+ locations with elements within the AST, and other facilities that support
+ Clang-based development tools.
+ .
+ This package contains symlinks without a version number, which needed by
+ linker at build time.
+
+
+Package: libfuzzer-@LLVM_VERSION@-dev
+Architecture: linux-any
+Section: libdevel
+Depends: ${shlibs:Depends}, ${misc:Depends}, clang-@LLVM_VERSION@ (= ${binary:Version})
+Description: Library for coverage-guided fuzz testing
+ LibFuzzer is a library for in-process, coverage-guided, evolutionary fuzzing
+ of other libraries.
+ .
+ LibFuzzer is similar in concept to American Fuzzy Lop (AFL), but it performs
+ all of its fuzzing inside a single process. This in-process fuzzing can be
+ more restrictive and fragile, but is potentially much faster as there is no
+ overhead for process start-up.
+ .
+ The fuzzer is linked with the library under test, and feeds fuzzed inputs to
+ the library via a specific fuzzing entrypoint (aka 'target function'); the
+ fuzzer then tracks which areas of the code are reached, and generates mutations
+ on the corpus of input data in order to maximize the code coverage. The code
+ coverage information for libFuzzer is provided by LLVM's SanitizerCoverage
+ instrumentation.
+
+
+Package: python3-clang-@LLVM_VERSION@
+Section: python
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}, python3, libclang-@LLVM_VERSION@-dev
+Replaces: python-clang-x.y,
+Conflicts: python-clang-x.y
+Provides: python-clang-x.y
+Description: Clang Python Bindings
+ 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
+ GNU Compiler Collection (GCC).
+ .
+ Clang implements all of the ISO C++ 1998, 11, 14 and 17 standards and also
+ provides most of the support of C++20.
+ .
+ This binding package provides access to the Clang compiler and libraries.
+
+Package: clang-@LLVM_VERSION@-examples
+Architecture: all
+Multi-Arch: foreign
+Section: doc
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: Clang examples
+ 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
+ GNU Compiler Collection (GCC).
+ .
+ Clang implements all of the ISO C++ 1998, 11, 14 and 17 standards and also
+ provides most of the support of C++20.
+ .
+ This package contains the Clang examples.
+
+# ------------- LLVM -------------
+
+Package: libllvm@LLVM_VERSION@
+Provides: ${t64:Provides}
+Architecture: any
+Section: libs
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Pre-Depends: ${misc:Pre-Depends}
+Multi-Arch: same
+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
+ compiler-related programs.
+ .
+ This package contains the LLVM runtime library.
+
+Package: llvm-@LLVM_VERSION@-linker-tools
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: Modular compiler and toolchain technologies - Plugins
+ LLVM is a collection of libraries and tools that make it easy to build
+ compilers, optimizers, just-in-time code generators, and many other
+ compiler-related programs.
+ .
+ This package contains the LLVMgold and LLVMPolly linker plugins.
+
+Package: llvm-@LLVM_VERSION@
+Architecture: any
+Suggests: llvm-@LLVM_VERSION@-doc
+Depends: llvm-@LLVM_VERSION@-runtime (= ${binary:Version}),
+ llvm-@LLVM_VERSION@-linker-tools (= ${binary:Version}),
+ ${shlibs:Depends}, ${misc:Depends}
+Recommends: llvm-@LLVM_VERSION@-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
+ compiler-related programs.
+ .
+ LLVM uses a single, language-independent virtual instruction set both
+ as an offline code representation (to communicate code between
+ compiler phases and to run-time systems) and as the compiler internal
+ representation (to analyze and transform programs). This persistent
+ code representation allows a common set of sophisticated compiler
+ techniques to be applied at compile-time, link-time, install-time,
+ run-time, or "idle-time" (between program runs).
+ .
+ The strengths of the LLVM infrastructure are its extremely
+ simple design (which makes it easy to understand and use),
+ source-language independence, powerful mid-level optimizer, automated
+ compiler debugging support, extensibility, and its stability and
+ reliability. LLVM is currently being used to host a wide variety of
+ academic research projects and commercial projects. LLVM includes C
+ and C++ front-ends, a front-end for a Forth-like language (Stacker),
+ 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-@LLVM_VERSION@-runtime
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Recommends: binfmt-support | systemd
+Description: Modular compiler and toolchain technologies, IR interpreter
+ LLVM is a collection of libraries and tools that make it easy to build
+ compilers, optimizers, just-in-time code generators, and many other
+ compiler-related programs.
+ .
+ LLVM uses a single, language-independent virtual instruction set both
+ as an offline code representation (to communicate code between
+ compiler phases and to run-time systems) and as the compiler internal
+ representation (to analyze and transform programs). This persistent
+ code representation allows a common set of sophisticated compiler
+ techniques to be applied at compile-time, link-time, install-time,
+ run-time, or "idle-time" (between program runs).
+ .
+ This package provides the minimal required to execute programs in LLVM
+ format.
+
+Package: llvm-@LLVM_VERSION@-dev
+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}),
+ 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
+ compiler-related programs.
+ .
+ LLVM uses a single, language-independent virtual instruction set both
+ as an offline code representation (to communicate code between
+ compiler phases and to run-time systems) and as the compiler internal
+ representation (to analyze and transform programs). This persistent
+ code representation allows a common set of sophisticated compiler
+ techniques to be applied at compile-time, link-time, install-time,
+ run-time, or "idle-time" (between program runs).
+ .
+ This package provides the libraries and headers to develop applications
+ using llvm.
+
+Package: llvm-@LLVM_VERSION@-tools
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}, python3,
+ python3-pygments, python3-yaml,
+# Because of yaml-bench
+Description: Modular compiler and toolchain technologies, tools
+ LLVM is a collection of libraries and tools that make it easy to build
+ compilers, optimizers, just-in-time code generators, and many other
+ compiler-related programs.
+ .
+ LLVM uses a single, language-independent virtual instruction set both
+ as an offline code representation (to communicate code between
+ compiler phases and to run-time systems) and as the compiler internal
+ representation (to analyze and transform programs). This persistent
+ code representation allows a common set of sophisticated compiler
+ techniques to be applied at compile-time, link-time, install-time,
+ run-time, or "idle-time" (between program runs).
+ .
+ This package provides tools for testing.
+
+Package: libllvm-@LLVM_VERSION@-ocaml-dev
+Section: ocaml
+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
+Conflicts: libllvm-x.y-ocaml-dev
+Provides: ${ocaml:Provides}, libllvm-x.y-ocaml-dev
+Description: Modular compiler and toolchain technologies, OCaml bindings
+ LLVM is a collection of libraries and tools that make it easy to build
+ compilers, optimizers, just-in-time code generators, and many other
+ compiler-related programs.
+ .
+ LLVM uses a single, language-independent virtual instruction set both
+ as an offline code representation (to communicate code between
+ compiler phases and to run-time systems) and as the compiler internal
+ representation (to analyze and transform programs). This persistent
+ code representation allows a common set of sophisticated compiler
+ techniques to be applied at compile-time, link-time, install-time,
+ run-time, or "idle-time" (between program runs).
+ .
+ This package provides the OCaml bindings to develop applications using llvm.
+
+Package: llvm-@LLVM_VERSION@-doc
+Section: doc
+Architecture: all
+Multi-Arch: foreign
+Depends: ${misc:Depends}, libjs-jquery, libjs-underscore
+Description: Modular compiler and toolchain technologies, documentation
+ LLVM is a collection of libraries and tools that make it easy to build
+ compilers, optimizers, just-in-time code generators, and many other
+ compiler-related programs.
+ .
+ LLVM uses a single, language-independent virtual instruction set both
+ as an offline code representation (to communicate code between
+ compiler phases and to run-time systems) and as the compiler internal
+ representation (to analyze and transform programs). This persistent
+ code representation allows a common set of sophisticated compiler
+ techniques to be applied at compile-time, link-time, install-time,
+ run-time, or "idle-time" (between program runs).
+ .
+ This package contains all documentation (extensive).
+
+Package: llvm-@LLVM_VERSION@-examples
+Section: doc
+Architecture: all
+Depends: ${misc:Depends}, llvm-@LLVM_VERSION@-dev (>= ${source:Version}), llvm-@LLVM_VERSION@-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
+ compiler-related programs.
+ .
+ LLVM uses a single, language-independent virtual instruction set both
+ as an offline code representation (to communicate code between
+ compiler phases and to run-time systems) and as the compiler internal
+ representation (to analyze and transform programs). This persistent
+ code representation allows a common set of sophisticated compiler
+ techniques to be applied at compile-time, link-time, install-time,
+ run-time, or "idle-time" (between program runs).
+ .
+ This package contains examples for using LLVM, both in developing
+ extensions to LLVM and in using it to compile code.
+
+
+# ------------- lld -------------
+
+Package: lld-@LLVM_VERSION@
+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}
+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-@LLVM_VERSION@
+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}
+Section: libs
+Description: LLVM-based linker, library
+ 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.
+ .
+ This package contains the LLD runtime library.
+
+Package: liblld-@LLVM_VERSION@-dev
+Section: libdevel
+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
+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
+ components which highly leverage existing libraries in the larger LLVM
+ Project.
+ .
+ This package provides the header files to build extension over lld.
+
+
+# ------------- lldb -------------
+
+Package: lldb-@LLVM_VERSION@
+Architecture: @LLDB_ARCHS@
+Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm@LLVM_VERSION@ (= ${binary:Version}),
+ python3-lldb-@LLVM_VERSION@
+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-@LLVM_VERSION@
+Provides: ${t64:Provides}
+Architecture: @LLDB_ARCHS@
+Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm@LLVM_VERSION@ (= ${binary:Version})
+Pre-Depends: ${misc:Pre-Depends}
+Section: libs
+Description: Next generation, high-performance debugger, library
+ 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.
+ .
+ This package contains the LLDB runtime library.
+
+Package: python3-lldb-@LLVM_VERSION@
+Section: python
+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
+Provides: python3-lldb-x.y
+Pre-Depends: ${misc:Pre-Depends}
+Description: Next generation, high-performance debugger, python3 lib
+ 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.
+ .
+ This binding package provides access to lldb.
+
+Package: liblldb-@LLVM_VERSION@-dev
+Section: libdevel
+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
+ 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.
+ .
+ This package provides the header files to build extension over lldb.
+
+
+# ------------- openmp -------------
+# 44 because it was the first version in which openmp & libc++ have been
+# managed in llvm-defaults
+
+Package: libomp-@LLVM_VERSION@-dev
+Section: libdevel
+Architecture: @OMP_ARCHS@
+Depends: libomp5-@LLVM_VERSION@ (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends}
+Suggests: libomp-@LLVM_VERSION@-doc
+Breaks: libiomp-dev (<< 3.7-1)
+Provides: libomp-x.y-dev
+Conflicts: libomp-x.y-dev
+Replaces: libomp-x.y-dev
+Description: LLVM OpenMP runtime - dev package
+ The runtime is the part of the OpenMP implementation that your code is
+ linked against, and that manages the multiple threads in an OpenMP program
+ while it is executing.
+
+Package: libomp5-@LLVM_VERSION@
+Multi-Arch: same
+Architecture: @OMP_ARCHS@
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Provides: ${t64:Provides}, libomp-x.y
+Conflicts: libomp-x.y
+Replaces: libomp-x.y
+Description: LLVM OpenMP runtime
+ The runtime is the part of the OpenMP implementation that your code is
+ linked against, and that manages the multiple threads in an OpenMP program
+ while it is executing.
+
+Package: libomp-@LLVM_VERSION@-doc
+Section: doc
+Architecture: all
+Multi-Arch: foreign
+Depends: ${shlibs:Depends}, ${misc:Depends}, libjs-jquery
+Replaces: libiomp-x.y-doc
+Breaks: libiomp-x.y-doc
+Description: LLVM OpenMP runtime - Documentation
+ The runtime is the part of the OpenMP implementation that your code is
+ linked against, and that manages the multiple threads in an OpenMP program
+ while it is executing.
+ .
+ This package contains the documentation of this package.
+
+# ------------- libcxx -------------
+
+Package: libc++1-@LLVM_VERSION@
+Section: libs
+Architecture: any
+Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Suggests: clang
+Provides: ${t64:Provides}, libc++-x.y
+Conflicts: libc++-x.y
+Replaces: libc++-x.y
+Description: LLVM C++ Standard library
+ libc++ is another implementation of the C++ standard library.
+ .
+ Features and Goals
+ .
+   * Correctness as defined by the C++ standards.
+   * Fast execution.
+   * Minimal memory use.
+   * Fast compile times.
+   * ABI compatibility with gcc's libstdc++ for some low-level features such
+     as exception objects, rtti and memory allocation.
+   * Extensive unit tests.
+
+Package: libc++-@LLVM_VERSION@-dev
+Section: libdevel
+Architecture: any
+Multi-Arch: same
+Depends: libc++1-@LLVM_VERSION@ (= ${binary:Version}), ${misc:Depends},
+ libc++abi-@LLVM_VERSION@-dev (= ${binary:Version}),
+ libunwind-@LLVM_VERSION@-dev [amd64 arm64 armhf i386 loong64 ppc64el ppc64 riscv64]
+Provides: libc++-x.y-dev
+Conflicts: libc++-x.y-dev
+Replaces: libc++-x.y-dev
+Description: LLVM C++ Standard library (development files)
+ libc++ is another implementation of the C++ standard library
+ .
+ Features and Goals
+ .
+   * Correctness as defined by the C++ standards.
+   * Fast execution.
+   * Minimal memory use.
+   * Fast compile times.
+   * ABI compatibility with gcc's libstdc++ for some low-level features such
+     as exception objects, rtti and memory allocation.
+   * Extensive unit tests.
+
+Package: libc++-@LLVM_VERSION@-dev-wasm32
+Section: libdevel
+Architecture: all
+Multi-Arch: foreign
+Depends: wasi-libc, libc++abi-@LLVM_VERSION@-dev-wasm32, ${misc:Depends}
+Provides: libc++-x.y-dev-wasm32
+Conflicts: libc++-x.y-dev-wasm32
+Replaces: libc++-x.y-dev-wasm32
+Description: LLVM C++ Standard library (WASI)
+ libc++ is another implementation of the C++ standard library
+ .
+ Features and Goals
+ .
+   * Correctness as defined by the C++ standards.
+   * Fast execution.
+   * Minimal memory use.
+   * Fast compile times.
+   * ABI compatibility with gcc's libstdc++ for some low-level features such
+     as exception objects, rtti and memory allocation.
+   * Extensive unit tests.
+ .
+ This package provides a version for the 32-bit WebAssembly System Interface.
+
+# ------------- libcxxabi -------------
+
+Package: libc++abi1-@LLVM_VERSION@
+Section: libs
+Architecture: any
+Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Provides: ${t64:Provides}, libc++abi-x.y
+Conflicts: libc++abi-x.y
+Replaces: libc++abi-x.y
+Description: LLVM low level support for a standard C++ library
+ libc++abi is another implementation of low level support for a standard C++
+ library.
+ .
+ Features and Goals
+ .
+   * Correctness as defined by the C++ standards.
+   * Provide a portable sublayer to ease the porting of libc++
+
+Package: libc++abi-@LLVM_VERSION@-dev
+Section: libdevel
+Architecture: any
+Multi-Arch: same
+Depends: libc++abi1-@LLVM_VERSION@ (= ${binary:Version}), ${misc:Depends}
+Breaks: libc++abi-dev (<= 44)
+Provides: libc++abi-x.y-dev
+Conflicts: libc++abi-x.y-dev
+Replaces: libc++abi-x.y-dev
+Description: LLVM low level support for a standard C++ library (development files)
+ libc++abi is another implementation of low level support for a standard C++
+ library.
+ .
+ Features and Goals
+ .
+   * Correctness as defined by the C++ standards.
+   * Provide a portable sublayer to ease the porting of libc++
+
+Package: libc++abi-@LLVM_VERSION@-dev-wasm32
+Section: libdevel
+Architecture: all
+Multi-Arch: foreign
+Depends: wasi-libc, ${misc:Depends}
+Provides: libc++abi-x.y-dev-wasm32
+Conflicts: libc++abi-x.y-dev-wasm32
+Replaces: libc++abi-x.y-dev-wasm32
+Description: LLVM low level support for a standard C++ library (WASI)
+ libc++abi is another implementation of low level support for a standard C++
+ library.
+ .
+ Features and Goals
+ .
+   * Correctness as defined by the C++ standards.
+   * Provide a portable sublayer to ease the porting of libc++
+ .
+ This package provides a version for the 32-bit WebAssembly System Interface.
+
+# ------------- libclc -------------
+
+Package: libclc-@LLVM_VERSION@
+Section: libs
+Architecture: all
+Multi-Arch: foreign
+Depends:
+ ${misc:Depends},
+ libclc-@LLVM_VERSION@-dev (= ${binary:Version}),
+ libclang-common-@LLVM_VERSION@-dev,
+Breaks: libclc-amdgcn, libclc-ptx, libclc-r600
+Provides: libclc-x.y
+Conflicts: libclc-x.y
+Replaces: libclc-x.y, libclc-amdgcn, libclc-ptx, libclc-r600,
+Description: OpenCL C language implementation - platform support
+ libclc is an open implementation of the OpenCL C programming language,
+ as specified by the OpenCL 1.1 Specification.
+ .
+ This package contains support for the amdgcn (AMD GPU), PTX and r600
+ platforms.
+
+Package: libclc-@LLVM_VERSION@-dev
+Section: libdevel
+Architecture: all
+Multi-Arch: foreign
+Depends:
+ ${misc:Depends},
+Breaks: libclc-dev
+Provides: libclc-x.y-dev
+Conflicts: libclc-x.y-dev
+Replaces: libclc-dev, libclc-x.y-dev
+Description: OpenCL C language implementation - development files
+ libclc is an open implementation of the OpenCL C programming language,
+ as specified by the OpenCL 1.1 Specification.
+ .
+ This package contains development header files.
+
+# ------------- libunwind -------------
+
+Package: libunwind-@LLVM_VERSION@
+Section: libs
+Architecture: amd64 arm64 armhf i386 loong64 ppc64el ppc64 riscv64
+Multi-Arch: same
+Depends: ${shlibs:Depends},
+ ${misc:Depends}
+Provides: ${t64:Provides}, libunwind-x.y
+Conflicts: libunwind-x.y
+Replaces: libunwind-x.y
+Description: production-quality unwinder
+ libunwind is a production-quality unwinder, with platform support for DWARF
+ unwind info, SjLj, and ARM EHABI.
+ .
+ The low level libunwind API was designed to work either in-process (aka local)
+ or to operate on another process (aka remote), but only the local path has
+ been implemented. Remote unwinding remains as future work.
+
+Package: libunwind-@LLVM_VERSION@-dev
+Section: libdevel
+Architecture: amd64 arm64 armhf i386 loong64 ppc64el ppc64 riscv64
+Multi-Arch: same
+Depends:
+ ${misc:Depends},
+ libunwind-@LLVM_VERSION@ (= ${binary:Version})
+Provides: libunwind-dev, libunwind-x.y-dev
+Conflicts: libunwind-dev, libunwind-x.y-dev
+Replaces: libunwind-dev, libunwind-x.y-dev
+Description: production-quality unwinder
+ libunwind is a production-quality unwinder, with platform support for DWARF
+ unwind info, SjLj, and ARM EHABI.
+ .
+ The low level libunwind API was designed to work either in-process (aka local)
+ or to operate on another process (aka remote), but only the local path has
+ been implemented. Remote unwinding remains as future work.
+
+# ------------- mlir -------------
+
+Package: mlir-@LLVM_VERSION@-tools
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: Multi-Level Intermediate Representation tools
+ Novel approach to building reusable and extensible compiler infrastructure.
+ MLIR aims to address software fragmentation, improve compilation for
+ heterogeneous hardware, significantly reduce the cost of building domain
+ specific compilers, and aid in connecting existing compilers together.
+ .
+ This package provides tools.
+
+Package: libmlir-@LLVM_VERSION@
+Section: libs
+Architecture: any
+Multi-Arch: same
+Depends: ${shlibs:Depends},
+ ${misc:Depends}
+Provides: ${t64:Provides}, libmlir-x.y
+Conflicts: libmlir-x.y
+Replaces: libmlir-x.y
+Description: Multi-Level Intermediate Representation library
+ Novel approach to building reusable and extensible compiler infrastructure.
+ MLIR aims to address software fragmentation, improve compilation for
+ heterogeneous hardware, significantly reduce the cost of building domain
+ specific compilers, and aid in connecting existing compilers together.
+
+
+Package: libmlir-@LLVM_VERSION@-dev
+Section: libdevel
+Architecture: any
+Multi-Arch: same
+Depends:
+ ${misc:Depends},
+ libmlir-@LLVM_VERSION@ (= ${binary:Version})
+Breaks: libmlir-dev
+Provides: libmlir-x.y-dev
+Conflicts: libmlir-x.y-dev
+Replaces: libmlir-dev, libmlir-x.y-dev
+Description: Multi-Level Intermediate Representation library
+ Novel approach to building reusable and extensible compiler infrastructure.
+ MLIR aims to address software fragmentation, improve compilation for
+ heterogeneous hardware, significantly reduce the cost of building domain
+ specific compilers, and aid in connecting existing compilers together.
+
+
+# ------------- bolt -------------
+
+Package: bolt-@LLVM_VERSION@
+Architecture: amd64 arm64
+Depends: ${shlibs:Depends}, ${misc:Depends}, libbolt-@LLVM_VERSION@-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-@LLVM_VERSION@-dev
+Section: libdevel
+Architecture: amd64 arm64
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: Post-link optimizer
+ It achieves the improvements by optimizing application's code layout based on
+ execution profile gathered by sampling profiler.
+
+# ------------- flang -------------
+
+Package: flang-@LLVM_VERSION@
+# no 32bit support
+# https://github.com/llvm/llvm-project/issues/59845
+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
+ Ground-up implementation of a Fortran front end written in
+ modern C++.
+ .
+ While it is capable of generating executables for a number
+ of examples, some functionalities are still missing.
+
+Package: libflang-@LLVM_VERSION@-dev
+Architecture: @FLANG_ARCHS@
+Section: libdevel
+Depends: ${shlibs:Depends}, ${misc:Depends}, ${dep:devlibs},
+Description: Flang library - Development package
+ Ground-up implementation of a Fortran front end written in
+ modern C++.
+ .
+ While it is capable of generating executables for a number
+ of examples, some functionalities are still missing.
+ .
+ This package contains the flang libraries and headers.
+
+# ------------- LLVM libc -------------
+
+Package: libllvmlibc-@LLVM_VERSION@-dev
+Section: libdevel
+Architecture: amd64 arm64 armhf
+Description: LLVM C Library - dev package
+ Implementation of the C standard library targeting C17 and above.
+ .
+ This is an experimental project. Don't use in production.
diff --git a/copyright b/copyright
new file mode 100644 (file)
index 0000000..8fef1e7
--- /dev/null
+++ b/copyright
@@ -0,0 +1,146 @@
+Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+Upstream-Name: LLVM/Clang
+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.
+License: APACHE-2-LLVM-EXCEPTIONS
+ On Debian systems the full text of the Apache Software License 2.0 can be
+ found in the `/usr/share/common-licenses/Apache-2.0' file.
+ .
+ ---- LLVM Exceptions to the Apache 2.0 License ----
+ .
+ As an exception, if, as a result of your compiling your source code, portions
+ of this Software are embedded into an Object form of such source code, you
+ may redistribute such embedded portions in such Object form without complying
+ with the conditions of Sections 4(a), 4(b) and 4(d) of the License.
+ .
+ In addition, if you combine or link compiled forms of this Software with
+ software that is licensed under the GPLv2 ("Combined Software") and if a
+ court of competent jurisdiction determines that the patent provision (Section
+ 3), the indemnity provision (Section 9) or other Section of the License
+ conflicts with the conditions of the GPLv2, you may retroactively and
+ prospectively choose to deem waived or otherwise exclude such Section(s) of
+ the License, but only in their entirety and only with respect to the Combined
+ Software.
+
+Files: debian/*
+Copyright: 2003-2020 Sylvestre Ledru and others
+License: APACHE-2-LLVM-EXCEPTIONS
+ On Debian systems the full text of the Apache Software License 2.0 can be
+ found in the `/usr/share/common-licenses/Apache-2.0' file.
+ .
+ ---- LLVM Exceptions to the Apache 2.0 License ----
+ .
+ As an exception, if, as a result of your compiling your source code, portions
+ of this Software are embedded into an Object form of such source code, you
+ may redistribute such embedded portions in such Object form without complying
+ with the conditions of Sections 4(a), 4(b) and 4(d) of the License.
+ .
+ In addition, if you combine or link compiled forms of this Software with
+ software that is licensed under the GPLv2 ("Combined Software") and if a
+ court of competent jurisdiction determines that the patent provision (Section
+ 3), the indemnity provision (Section 9) or other Section of the License
+ conflicts with the conditions of the GPLv2, you may retroactively and
+ prospectively choose to deem waived or otherwise exclude such Section(s) of
+ the License, but only in their entirety and only with respect to the Combined
+ Software.
+
+Files: compiler-rt/lib/BlocksRuntime/*
+ lldb/tools/debugserver/source/MacOSX/stack_logging.h
+Copyright: 2008-2010 Apple, Inc.
+License: MIT
+
+Files: llvm/lib/Support/reg*
+Copyright: 1992, 1993, 1994 Henry Spencer
+           1992, 1993, 1994 The Regents of the University of California
+License: BSD-3-clause
+
+Files: llvm/lib/Support/MD5.cpp llvm/include/llvm/Support/MD5.h
+Copyright: 2001 Alexander Peslyak <solar at openwall.com>
+License: solar-public-domain
+ This software was written by Alexander Peslyak in 2001.  No copyright is
+ claimed, and the software is hereby placed in the public domain.
+ In case this attempt to disclaim copyright and place the software in the
+ public domain is deemed null and void, then the software is
+ Copyright (c) 2001 Alexander Peslyak and it is hereby released to the
+ general public under the following terms:
+ .
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted.
+ .
+ * There's ABSOLUTELY NO WARRANTY, express or implied.
+
+Files: lldb/third_party/Python/module/unittest2*
+Copyright: 1999-2003 Steve Purcell
+           2003-2010 Python Software Foundation
+License: Python
+ This module is free software, and you may redistribute it and/or modify
+ it under the same terms as Python itself, so long as this copyright message
+ and disclaimer are retained in their original form.
+ .
+ IN NO EVENT SHALL THE AUTHOR BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT,
+ SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OF
+ THIS CODE, EVEN IF THE AUTHOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+ DAMAGE.
+ .
+ THE AUTHOR SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT
+ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
+ PARTICULAR PURPOSE.  THE CODE PROVIDED HEREUNDER IS ON AN "AS IS" BASIS,
+ AND THERE IS NO OBLIGATION WHATSOEVER TO PROVIDE MAINTENANCE,
+ SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
+
+Files: llvm/llvmtest/YAMLParser/*
+Copyright: 2006 Kirill Simonov
+License: MIT
+
+Files: llvm/utils/unittest/googletest/*
+Copyright: 2006-2008, Google Inc.
+License: BSD-3-Clause
+
+Files: llvm/utils/unittest/googlemock/*
+Copyright: 2008, Google Inc.
+License: BSD-3-Clause
+
+Files: clang/lib/Headers/cuda_wrappers/*
+ clang/lib/Headers/avx512vlvp2intersectintrin.h
+ clang/lib/Headers/avx512vp2intersectintrin.h
+Copyright: 2016-2020, Google Inc.
+ Permission is hereby granted, free of charge, to any person obtaining a copy
+ of this software and associated documentation files (the "Software"), to deal
+ in the Software without restriction, including without limitation the rights
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+ .
+ The above copyright notice and this permission notice shall be included in
+ all copies or substantial portions of the Software.
+ .
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ THE SOFTWARE.
+
+
+License: MIT
+ Permission is hereby granted, free of charge, to any person obtaining a copy
+ of this software and associated documentation files (the "Software"), to deal
+ in the Software without restriction, including without limitation the rights
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+ .
+ The above copyright notice and this permission notice shall be included in
+ all copies or substantial portions of the Software.
+ .
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ THE SOFTWARE.
diff --git a/debian_path.h b/debian_path.h
new file mode 100644 (file)
index 0000000..539636f
--- /dev/null
@@ -0,0 +1,16 @@
+//===----------------------------------------------------------------------===//
+//
+// Debian paths declaration management
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef DEBIAN_PATH_H
+#define DEBIAN_PATH_H
+
+// Provides the debian revision
+#define DEB_PATCHSETVERSION  "@DEB_PATCHSETVERSION@"
+
+#endif
diff --git a/flang-X.Y.install.in b/flang-X.Y.install.in
new file mode 100644 (file)
index 0000000..2a57d2d
--- /dev/null
@@ -0,0 +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-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-new-@LLVM_VERSION@
+usr/bin/tco-@LLVM_VERSION@
+
diff --git a/libbolt-X.Y-dev.install.in b/libbolt-X.Y-dev.install.in
new file mode 100755 (executable)
index 0000000..f4ce706
--- /dev/null
@@ -0,0 +1,4 @@
+#!/usr/bin/dh-exec
+
+[amd64 arm64] /usr/lib/llvm-@LLVM_VERSION@/lib/libbolt_rt_hugify.a
+[amd64 arm64] /usr/lib/llvm-@LLVM_VERSION@/lib/libbolt_rt_instr.a
diff --git a/libc++-X.Y-dev-wasm32.install.in b/libc++-X.Y-dev-wasm32.install.in
new file mode 100644 (file)
index 0000000..7c8171f
--- /dev/null
@@ -0,0 +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/libc++-X.Y-dev-wasm32.links.in b/libc++-X.Y-dev-wasm32.links.in
new file mode 100644 (file)
index 0000000..465536e
--- /dev/null
@@ -0,0 +1,2 @@
+usr/lib/llvm-@LLVM_VERSION@/lib/wasm32-wasi/libc++.a /usr/lib/wasm32-wasi/libc++.a
+usr/lib/llvm-@LLVM_VERSION@/include/wasm32-wasi/c++/v1 /usr/include/wasm32-wasi/c++/v1
diff --git a/libc++-X.Y-dev-wasm32.lintian-overrides.in b/libc++-X.Y-dev-wasm32.lintian-overrides.in
new file mode 100644 (file)
index 0000000..e24d6af
--- /dev/null
@@ -0,0 +1,2 @@
+libc++-@LLVM_VERSION@-dev-wasm32: arch-independent-package-contains-binary-or-object *usr/lib/llvm-@LLVM_VERSION@/lib/wasm32-wasi/libc++*.a*
+libc++-@LLVM_VERSION@-dev-wasm32: arch-independent-package-contains-binary-or-object *usr/lib/llvm-@LLVM_VERSION@/lib/wasm32-wasi/libc++.a*
diff --git a/libc++-X.Y-dev.install.in b/libc++-X.Y-dev.install.in
new file mode 100644 (file)
index 0000000..1a4d26e
--- /dev/null
@@ -0,0 +1,11 @@
+usr/lib/llvm-@LLVM_VERSION@/lib/libc++.so
+usr/lib/llvm-@LLVM_VERSION@/lib/libc++.a
+usr/lib/llvm-@LLVM_VERSION@/include/c++/
+usr/lib/llvm-@LLVM_VERSION@/include/c++/v1/
+usr/lib/llvm-@LLVM_VERSION@/lib/libc++experimental.a
+
+# C++ modules
+usr/lib/llvm-@LLVM_VERSION@/lib/libc++.modules.json
+usr/lib/llvm-@LLVM_VERSION@/share/libc++/v1/std.compat/*.inc
+usr/lib/llvm-@LLVM_VERSION@/share/libc++/v1/*.cppm
+usr/lib/llvm-@LLVM_VERSION@/share/libc++/v1/std/*.inc
diff --git a/libc++-X.Y-dev.links.in b/libc++-X.Y-dev.links.in
new file mode 100644 (file)
index 0000000..3e55af8
--- /dev/null
@@ -0,0 +1,4 @@
+usr/lib/llvm-@LLVM_VERSION@/lib/libc++.so /usr/lib/@DEB_HOST_MULTIARCH@/libc++.so
+usr/lib/llvm-@LLVM_VERSION@/lib/libc++.a /usr/lib/@DEB_HOST_MULTIARCH@/libc++.a
+usr/lib/llvm-@LLVM_VERSION@/include/c++/v1 /usr/include/c++/v1
+usr/lib/llvm-@LLVM_VERSION@/lib/libc++experimental.a /usr/lib/@DEB_HOST_MULTIARCH@/libc++experimental.a
diff --git a/libc++-X.Y-dev.lintian-overrides.in b/libc++-X.Y-dev.lintian-overrides.in
new file mode 100644 (file)
index 0000000..66d93b2
--- /dev/null
@@ -0,0 +1,2 @@
+libc++-@LLVM_VERSION@-dev: arch-dependent-file-not-in-arch-specific-directory *usr/lib/llvm-@LLVM_VERSION@/lib/libc++.a*
+libc++-@LLVM_VERSION@-dev: arch-dependent-file-not-in-arch-specific-directory *usr/lib/llvm-@LLVM_VERSION@/lib/libc++experimental.a*
diff --git a/libc++1-X.Y.install.in b/libc++1-X.Y.install.in
new file mode 100644 (file)
index 0000000..78e2cd3
--- /dev/null
@@ -0,0 +1 @@
+usr/lib/llvm-@LLVM_VERSION@/lib/libc++.so.*
diff --git a/libc++1-X.Y.links.in b/libc++1-X.Y.links.in
new file mode 100644 (file)
index 0000000..4d1955c
--- /dev/null
@@ -0,0 +1,2 @@
+usr/lib/llvm-@LLVM_VERSION@/lib/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/libc++1-X.Y.lintian-overrides.in b/libc++1-X.Y.lintian-overrides.in
new file mode 100644 (file)
index 0000000..8e1532d
--- /dev/null
@@ -0,0 +1 @@
+libc++1-@LLVM_VERSION@: arch-dependent-file-not-in-arch-specific-directory *usr/lib/llvm-@LLVM_VERSION@/lib/libc++.so.1.0*
diff --git a/libc++abi-X.Y-dev-wasm32.install.in b/libc++abi-X.Y-dev-wasm32.install.in
new file mode 100644 (file)
index 0000000..1d6e850
--- /dev/null
@@ -0,0 +1 @@
+usr/lib/llvm-@LLVM_VERSION@/lib/wasm32-wasi/libc++abi.a
diff --git a/libc++abi-X.Y-dev-wasm32.links.in b/libc++abi-X.Y-dev-wasm32.links.in
new file mode 100644 (file)
index 0000000..c1655fb
--- /dev/null
@@ -0,0 +1 @@
+usr/lib/llvm-@LLVM_VERSION@/lib/wasm32-wasi/libc++abi.a /usr/lib/wasm32-wasi/libc++abi.a
diff --git a/libc++abi-X.Y-dev-wasm32.lintian-overrides.in b/libc++abi-X.Y-dev-wasm32.lintian-overrides.in
new file mode 100644 (file)
index 0000000..9da02e1
--- /dev/null
@@ -0,0 +1 @@
+libc++abi-@LLVM_VERSION@-dev-wasm32: arch-independent-package-contains-binary-or-object *usr/lib/llvm-@LLVM_VERSION@/lib/wasm32-wasi/libc++abi.a*
\ No newline at end of file
diff --git a/libc++abi-X.Y-dev.install.in b/libc++abi-X.Y-dev.install.in
new file mode 100644 (file)
index 0000000..8774c6a
--- /dev/null
@@ -0,0 +1,3 @@
+usr/lib/llvm-@LLVM_VERSION@/lib/libc++abi*so
+usr/lib/llvm-@LLVM_VERSION@/lib/libc++abi.a
+libcxxabi/include/* usr/lib/llvm-@LLVM_VERSION@/include/
diff --git a/libc++abi-X.Y-dev.links.in b/libc++abi-X.Y-dev.links.in
new file mode 100644 (file)
index 0000000..6dd5f55
--- /dev/null
@@ -0,0 +1 @@
+usr/lib/llvm-@LLVM_VERSION@/lib/libc++abi.so  /usr/lib/@DEB_HOST_MULTIARCH@/libc++abi.so
diff --git a/libc++abi-X.Y-dev.lintian-overrides.in b/libc++abi-X.Y-dev.lintian-overrides.in
new file mode 100644 (file)
index 0000000..6b37892
--- /dev/null
@@ -0,0 +1 @@
+libc++abi-@LLVM_VERSION@-dev: arch-dependent-file-not-in-arch-specific-directory *usr/lib/llvm-@LLVM_VERSION@/lib/libc++abi.a*
diff --git a/libc++abi1-X.Y.install.in b/libc++abi1-X.Y.install.in
new file mode 100644 (file)
index 0000000..6e27733
--- /dev/null
@@ -0,0 +1 @@
+usr/lib/llvm-@LLVM_VERSION@/lib/libc++abi.so.*
diff --git a/libc++abi1-X.Y.links.in b/libc++abi1-X.Y.links.in
new file mode 100644 (file)
index 0000000..a57ef06
--- /dev/null
@@ -0,0 +1,2 @@
+usr/lib/llvm-@LLVM_VERSION@/lib/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/libc++abi1-X.Y.lintian-overrides.in b/libc++abi1-X.Y.lintian-overrides.in
new file mode 100644 (file)
index 0000000..0637b50
--- /dev/null
@@ -0,0 +1 @@
+libc++abi1-@LLVM_VERSION@: arch-dependent-file-not-in-arch-specific-directory *usr/lib/llvm-@LLVM_VERSION@/lib/libc++abi.so.1.0*
diff --git a/libclang-X.Y-dev.install.in b/libclang-X.Y-dev.install.in
new file mode 100755 (executable)
index 0000000..518e168
--- /dev/null
@@ -0,0 +1,14 @@
+#!/usr/bin/dh-exec
+
+usr/lib/llvm-@LLVM_VERSION@/include/clang
+usr/lib/llvm-@LLVM_VERSION@/include/clang-c
+usr/lib/llvm-@LLVM_VERSION@/include/clang-tidy
+usr/lib/llvm-@LLVM_VERSION@/lib/libclang*a
+usr/lib/llvm-@LLVM_VERSION@/lib/libclang.so
+usr/lib/llvm-@LLVM_VERSION@/lib/libclang-@LLVM_VERSION@*.so
+usr/lib/llvm-@LLVM_VERSION@/lib/libfindAllSymbols.a
+
+# clangd grpc architectures
+#grpc [amd64 arm64 armel armhf mips64el mipsel ppc64 ppc64el powerpc riscv64 s390x] usr/lib/llvm-@LLVM_VERSION@/lib/libclangdRemoteIndexProto.a
+#grpc [amd64 arm64 armel armhf mips64el mipsel ppc64 ppc64el powerpc riscv64 s390x] usr/lib/llvm-@LLVM_VERSION@/lib/libclangdRemoteIndexServiceProto.a
+#grpc [amd64 arm64 armel armhf mips64el mipsel ppc64 ppc64el powerpc riscv64 s390x] usr/lib/llvm-@LLVM_VERSION@/lib/libclangdMonitoringServiceProto.a
diff --git a/libclang-X.Y-dev.links.in b/libclang-X.Y-dev.links.in
new file mode 100644 (file)
index 0000000..7cd10c4
--- /dev/null
@@ -0,0 +1,3 @@
+usr/lib/@DEB_HOST_MULTIARCH@/libclang-@LLVM_VERSION@.so.@LLVM_VERSION@ usr/lib/@DEB_HOST_MULTIARCH@/libclang-@LLVM_VERSION@.so
+usr/lib/@DEB_HOST_MULTIARCH@/libclang-@LLVM_VERSION@.so.@LLVM_VERSION@ usr/lib/llvm-@LLVM_VERSION@/lib/libclang.so
+usr/lib/@DEB_HOST_MULTIARCH@/libclang-@LLVM_VERSION@.so.@LLVM_VERSION@ usr/lib/llvm-@LLVM_VERSION@/lib/libclang-@LLVM_VERSION@.so
diff --git a/libclang-common-X.Y-dev.install.in b/libclang-common-X.Y-dev.install.in
new file mode 100644 (file)
index 0000000..43abdb2
--- /dev/null
@@ -0,0 +1,9 @@
+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/
+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/libclang-common-X.Y-dev.links.in b/libclang-common-X.Y-dev.links.in
new file mode 100644 (file)
index 0000000..8b11806
--- /dev/null
@@ -0,0 +1,7 @@
+usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION@/include usr/include/clang/@LLVM_VERSION@/include
+usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION@/include usr/lib/clang/@LLVM_VERSION@/include
+usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION@/lib usr/lib/clang/@LLVM_VERSION@/lib
+usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION@/include usr/include/clang/@LLVM_VERSION_FULL@/include
+usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION@/include usr/lib/clang/@LLVM_VERSION_FULL@/include
+usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION@/lib usr/lib/clang/@LLVM_VERSION_FULL@/lib
+
diff --git a/libclang-cppX.Y-dev.install.in b/libclang-cppX.Y-dev.install.in
new file mode 100644 (file)
index 0000000..5d2609e
--- /dev/null
@@ -0,0 +1 @@
+usr/lib/llvm-@LLVM_VERSION@/lib/libclang-cpp.so
diff --git a/libclang-cppX.Y-dev.links.in b/libclang-cppX.Y-dev.links.in
new file mode 100644 (file)
index 0000000..6a96217
--- /dev/null
@@ -0,0 +1,2 @@
+usr/lib/llvm-@LLVM_VERSION@/lib/libclang-cpp.so /usr/lib/@DEB_HOST_MULTIARCH@/libclang-cpp@LLVM_VERSION@.so
+usr/lib/llvm-@LLVM_VERSION@/lib/libclang-cpp.so /usr/lib/llvm-@LLVM_VERSION@/lib/libclang-cpp@LLVM_VERSION@.so
diff --git a/libclang-cppX.Y.install.in b/libclang-cppX.Y.install.in
new file mode 100644 (file)
index 0000000..25c3079
--- /dev/null
@@ -0,0 +1 @@
+usr/lib/llvm-@LLVM_VERSION@/lib/libclang-cpp.so.@LLVM_VERSION@.@LLVM_VERSION_MINOR@  /usr/lib/@DEB_HOST_MULTIARCH@/
diff --git a/libclang-cppX.Y.links.in b/libclang-cppX.Y.links.in
new file mode 100644 (file)
index 0000000..5d0e8f2
--- /dev/null
@@ -0,0 +1,2 @@
+# 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/libclang-rt-X.Y-dev-wasm32.install.in b/libclang-rt-X.Y-dev-wasm32.install.in
new file mode 100644 (file)
index 0000000..2f223e7
--- /dev/null
@@ -0,0 +1,2 @@
+usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION@*/lib/wasi/libclang_rt.builtins-wasm32.a
+
diff --git a/libclang-rt-X.Y-dev-wasm32.lintian-overrides.in b/libclang-rt-X.Y-dev-wasm32.lintian-overrides.in
new file mode 100644 (file)
index 0000000..47b7f52
--- /dev/null
@@ -0,0 +1,4 @@
+libclang-rt-@LLVM_VERSION@-dev-wasm32: arch-independent-package-contains-binary-or-object *usr/lib/llvm-@LLVM_VERSION@/lib/*
+libclang-rt-@LLVM_VERSION@-dev-wasm32: arch-dependent-file-not-in-arch-specific-directory *usr/lib/llvm-@LLVM_VERSION@/lib/*
+# wasm code
+libclang-rt-@LLVM_VERSION@-dev-wasm32: no-code-sections *usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION@*/lib/wasi/libclang_rt.builtins-wasm32.a*
diff --git a/libclang-rt-X.Y-dev-wasm64.install.in b/libclang-rt-X.Y-dev-wasm64.install.in
new file mode 100644 (file)
index 0000000..b859428
--- /dev/null
@@ -0,0 +1,2 @@
+usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION@*/lib/wasi/libclang_rt.builtins-wasm64.a
+
diff --git a/libclang-rt-X.Y-dev-wasm64.lintian-overrides.in b/libclang-rt-X.Y-dev-wasm64.lintian-overrides.in
new file mode 100644 (file)
index 0000000..a3a8172
--- /dev/null
@@ -0,0 +1,4 @@
+libclang-rt-@LLVM_VERSION@-dev-wasm64: arch-independent-package-contains-binary-or-object *usr/lib/llvm-@LLVM_VERSION@/lib/*
+libclang-rt-@LLVM_VERSION@-dev-wasm64: arch-dependent-file-not-in-arch-specific-directory *usr/lib/llvm-@LLVM_VERSION@/lib/*
+# wasm code
+libclang-rt-@LLVM_VERSION@-dev-wasm64: no-code-sections *usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION@*/lib/wasi/libclang_rt.builtins-wasm64.a*
diff --git a/libclang-rt-X.Y-dev.install.in b/libclang-rt-X.Y-dev.install.in
new file mode 100755 (executable)
index 0000000..156f03d
--- /dev/null
@@ -0,0 +1,10 @@
+#!/usr/bin/dh-exec
+
+usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION@*/share/*.txt
+usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION@*/include/sanitizer/
+usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION@*/lib/*/*clang_rt*
+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 powerpc ppc64 ppc64el x32] usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION@*/lib/linux/liborc_rt*
diff --git a/libclang-rt-X.Y-dev.lintian-overrides.in b/libclang-rt-X.Y-dev.lintian-overrides.in
new file mode 100644 (file)
index 0000000..5c99be1
--- /dev/null
@@ -0,0 +1,2 @@
+libclang-rt-@LLVM_VERSION@-dev: arch-dependent-file-not-in-arch-specific-directory *usr/lib/llvm-@LLVM_VERSION@/lib/*
+libclang-rt-@LLVM_VERSION@-dev: no-code-sections *usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION@*/lib/linux/libclang_rt.asan_static-i386.a*
\ No newline at end of file
diff --git a/libclang1-X.Y.install.in b/libclang1-X.Y.install.in
new file mode 100644 (file)
index 0000000..a707d1d
--- /dev/null
@@ -0,0 +1 @@
+usr/lib/llvm-@LLVM_VERSION@/lib/libclang-@LLVM_VERSION@.so.1* /usr/lib/@DEB_HOST_MULTIARCH@/
diff --git a/libclang1-X.Y.links.in b/libclang1-X.Y.links.in
new file mode 100644 (file)
index 0000000..28fa281
--- /dev/null
@@ -0,0 +1,6 @@
+# as upstream
+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/libclang1-X.Y.lintian-overrides.in b/libclang1-X.Y.lintian-overrides.in
new file mode 100644 (file)
index 0000000..8603845
--- /dev/null
@@ -0,0 +1,5 @@
+# I know and I am not planning to change that yet.
+libclang1-@LLVM_VERSION@: package-name-doesnt-match-sonames libclang-@LLVM_VERSION@-1
+# Provided as transition
+libclang1-@LLVM_VERSION@: dev-pkg-without-shlib-symlink usr/lib/*/libclang-@LLVM_VERSION@.so.1 usr/lib/*/libclang.so
+libclang1-@LLVM_VERSION@: ldconfig-symlink-missing-for-shlib usr/lib/*/libclang-LLVM_VERSION@.so usr/lib/*/libclang-LLVM_VERSION@.so.1 libclang-LLVM_VERSION@.so
diff --git a/libclang1-X.Y.symbols.in b/libclang1-X.Y.symbols.in
new file mode 100644 (file)
index 0000000..5eafac8
--- /dev/null
@@ -0,0 +1,415 @@
+libclang-@LLVM_VERSION@.so.@LLVM_VERSION@ libclang1-@LLVM_VERSION@ #MINVER#
+ (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
+ (symver)LLVM_19 1:19.1.6
+ 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~
+ clang_BlockCommandComment_getParagraph@LLVM_13 1:5.0~svn298832-1~
+ clang_CXCursorSet_contains@LLVM_13 1:5.0~svn298832-1~
+ clang_CXCursorSet_insert@LLVM_13 1:5.0~svn298832-1~
+ clang_CXIndex_getGlobalOptions@LLVM_13 1:5.0~svn298832-1~
+ clang_CXIndex_setGlobalOptions@LLVM_13 1:5.0~svn298832-1~
+ clang_CXIndex_setInvocationEmissionPathOption@LLVM_13 1:5.0~svn298832-1~
+ clang_CXRewriter_create@LLVM_13 1:5.0~svn298832-1~
+ clang_CXRewriter_dispose@LLVM_13 1:5.0~svn298832-1~
+ clang_CXRewriter_insertTextBefore@LLVM_13 1:5.0~svn298832-1~
+ clang_CXRewriter_overwriteChangedFiles@LLVM_13 1:5.0~svn298832-1~
+ clang_CXRewriter_removeText@LLVM_13 1:5.0~svn298832-1~
+ clang_CXRewriter_replaceText@LLVM_13 1:5.0~svn298832-1~
+ clang_CXRewriter_writeMainFileToStdOut@LLVM_13 1:5.0~svn298832-1~
+ clang_CXXConstructor_isConvertingConstructor@LLVM_13 1:5.0~svn298832-1~
+ clang_CXXConstructor_isCopyConstructor@LLVM_13 1:5.0~svn298832-1~
+ clang_CXXConstructor_isDefaultConstructor@LLVM_13 1:5.0~svn298832-1~
+ clang_CXXConstructor_isMoveConstructor@LLVM_13 1:5.0~svn298832-1~
+ clang_CXXField_isMutable@LLVM_13 1:5.0~svn298832-1~
+ clang_CXXMethod_isConst@LLVM_13 1:5.0~svn298832-1~
+ clang_CXXMethod_isCopyAssignmentOperator@LLVM_16 1:16.0.2-1~
+ clang_CXXMethod_isDefaulted@LLVM_13 1:5.0~svn298832-1~
+ clang_CXXMethod_isDeleted@LLVM_16 1:16.0.2-1~
+ clang_CXXMethod_isExplicit@LLVM_17 1:17
+ clang_CXXMethod_isMoveAssignmentOperator@LLVM_16 1:16.0.2-1~
+ clang_CXXMethod_isPureVirtual@LLVM_13 1:5.0~svn298832-1~
+ clang_CXXMethod_isStatic@LLVM_13 1:5.0~svn298832-1~
+ clang_CXXMethod_isVirtual@LLVM_13 1:5.0~svn298832-1~
+ clang_CXXRecord_isAbstract@LLVM_13 1:6.0~svn320926-1~
+ clang_Comment_getChild@LLVM_13 1:5.0~svn298832-1~
+ clang_Comment_getKind@LLVM_13 1:5.0~svn298832-1~
+ clang_Comment_getNumChildren@LLVM_13 1:5.0~svn298832-1~
+ clang_Comment_isWhitespace@LLVM_13 1:5.0~svn298832-1~
+ clang_CompilationDatabase_dispose@LLVM_13 1:5.0~svn298832-1~
+ clang_CompilationDatabase_fromDirectory@LLVM_13 1:5.0~svn298832-1~
+ clang_CompilationDatabase_getAllCompileCommands@LLVM_13 1:5.0~svn298832-1~
+ clang_CompilationDatabase_getCompileCommands@LLVM_13 1:5.0~svn298832-1~
+ clang_CompileCommand_getArg@LLVM_13 1:5.0~svn298832-1~
+ clang_CompileCommand_getDirectory@LLVM_13 1:5.0~svn298832-1~
+ clang_CompileCommand_getFilename@LLVM_13 1:5.0~svn298832-1~
+ clang_CompileCommand_getMappedSourceContent@LLVM_13 1:5.0~svn298832-1~
+ clang_CompileCommand_getMappedSourcePath@LLVM_13 1:5.0~svn298832-1~
+ clang_CompileCommand_getNumArgs@LLVM_13 1:5.0~svn298832-1~
+ clang_CompileCommand_getNumMappedSources@LLVM_13 1:13.0.0~++20210811042606+b33de5411594-1~
+ clang_CompileCommands_dispose@LLVM_13 1:5.0~svn298832-1~
+ clang_CompileCommands_getCommand@LLVM_13 1:5.0~svn298832-1~
+ clang_CompileCommands_getSize@LLVM_13 1:5.0~svn298832-1~
+ clang_Cursor_Evaluate@LLVM_13 1:5.0~svn298832-1~
+ clang_Cursor_getArgument@LLVM_13 1:5.0~svn298832-1~
+ clang_Cursor_getBriefCommentText@LLVM_13 1:5.0~svn298832-1~
+ clang_Cursor_getCXXManglings@LLVM_13 1:5.0~svn298832-1~
+ clang_Cursor_getCommentRange@LLVM_13 1:5.0~svn298832-1~
+ clang_Cursor_getMangling@LLVM_13 1:5.0~svn298832-1~
+ clang_Cursor_getModule@LLVM_13 1:5.0~svn298832-1~
+ clang_Cursor_getNumArguments@LLVM_13 1:5.0~svn298832-1~
+ clang_Cursor_getNumTemplateArguments@LLVM_13 1:5.0~svn298832-1~
+ clang_Cursor_getObjCDeclQualifiers@LLVM_13 1:5.0~svn298832-1~
+ clang_Cursor_getObjCManglings@LLVM_13 1:6.0~svn320926-1~
+ clang_Cursor_getObjCPropertyAttributes@LLVM_13 1:5.0~svn298832-1~
+ clang_Cursor_getObjCPropertyGetterName@LLVM_13 1:8~svn339515-1~
+ clang_Cursor_getObjCPropertySetterName@LLVM_13 1:8~svn339515-1~
+ clang_Cursor_getObjCSelectorIndex@LLVM_13 1:5.0~svn298832-1~
+ clang_Cursor_getOffsetOfField@LLVM_13 1:5.0~svn298832-1~
+ clang_Cursor_getParsedComment@LLVM_13 1:5.0~svn298832-1~
+ clang_Cursor_getRawCommentText@LLVM_13 1:5.0~svn298832-1~
+ clang_Cursor_getReceiverType@LLVM_13 1:5.0~svn298832-1~
+ clang_Cursor_getSpellingNameRange@LLVM_13 1:5.0~svn298832-1~
+ clang_Cursor_getStorageClass@LLVM_13 1:5.0~svn298832-1~
+ clang_Cursor_getTemplateArgumentKind@LLVM_13 1:5.0~svn298832-1~
+ clang_Cursor_getTemplateArgumentType@LLVM_13 1:5.0~svn298832-1~
+ clang_Cursor_getTemplateArgumentUnsignedValue@LLVM_13 1:5.0~svn298832-1~
+ clang_Cursor_getTemplateArgumentValue@LLVM_13 1:5.0~svn298832-1~
+ clang_Cursor_getTranslationUnit@LLVM_13 1:5.0~svn298832-1~
+ clang_Cursor_getVarDeclInitializer@LLVM_13 1:12~++20200906115111+ff218cbc84f-1~
+ clang_Cursor_hasAttrs@LLVM_13 1:5.0~svn298832-1~
+ clang_Cursor_hasVarDeclExternalStorage@LLVM_13 1:12~++20200906115111+ff218cbc84f-1~
+ clang_Cursor_hasVarDeclGlobalStorage@LLVM_13 1:12~++20200906115111+ff218cbc84f-1~
+ clang_Cursor_isAnonymous@LLVM_13 1:5.0~svn298832-1~
+ clang_Cursor_isAnonymousRecordDecl@LLVM_13 1:9~svn359771-1~
+ clang_Cursor_isBitField@LLVM_13 1:5.0~svn298832-1~
+ clang_Cursor_isDynamicCall@LLVM_13 1:5.0~svn298832-1~
+ clang_Cursor_isExternalSymbol@LLVM_13 1:5.0~+rc1~
+ clang_Cursor_isFunctionInlined@LLVM_13 1:5.0~svn298832-1~
+ clang_Cursor_isInlineNamespace@LLVM_13 1:9~svn360566-1~
+ clang_Cursor_isMacroBuiltin@LLVM_13 1:5.0~svn298832-1~
+ clang_Cursor_isMacroFunctionLike@LLVM_13 1:5.0~svn298832-1~
+ clang_Cursor_isNull@LLVM_13 1:5.0~svn298832-1~
+ clang_Cursor_isObjCOptional@LLVM_13 1:5.0~svn298832-1~
+ clang_Cursor_isVariadic@LLVM_13 1:5.0~svn298832-1~
+ clang_EnumDecl_isScoped@LLVM_13 1:5.0~+rc1~
+ clang_EvalResult_dispose@LLVM_13 1:5.0~svn298832-1~
+ clang_EvalResult_getAsDouble@LLVM_13 1:5.0~svn298832-1~
+ clang_EvalResult_getAsInt@LLVM_13 1:5.0~svn298832-1~
+ clang_EvalResult_getAsLongLong@LLVM_13 1:5.0~svn302377-1~
+ clang_EvalResult_getAsStr@LLVM_13 1:5.0~svn298832-1~
+ clang_EvalResult_getAsUnsigned@LLVM_13 1:5.0~svn302377-1~
+ clang_EvalResult_getKind@LLVM_13 1:5.0~svn298832-1~
+ clang_EvalResult_isUnsignedInt@LLVM_13 1:5.0~svn302377-1~
+ clang_File_isEqual@LLVM_13 1:5.0~svn298832-1~
+ clang_File_tryGetRealPathName@LLVM_13 1:7~svn329516-1~
+ clang_FullComment_getAsHTML@LLVM_13 1:5.0~svn298832-1~
+ clang_FullComment_getAsXML@LLVM_13 1:5.0~svn298832-1~
+ clang_HTMLStartTagComment_isSelfClosing@LLVM_13 1:5.0~svn298832-1~
+ clang_HTMLStartTag_getAttrName@LLVM_13 1:5.0~svn298832-1~
+ clang_HTMLStartTag_getAttrValue@LLVM_13 1:5.0~svn298832-1~
+ clang_HTMLStartTag_getNumAttrs@LLVM_13 1:5.0~svn298832-1~
+ clang_HTMLTagComment_getAsString@LLVM_13 1:5.0~svn298832-1~
+ clang_HTMLTagComment_getTagName@LLVM_13 1:5.0~svn298832-1~
+ clang_IndexAction_create@LLVM_13 1:5.0~svn298832-1~
+ clang_IndexAction_dispose@LLVM_13 1:5.0~svn298832-1~
+ clang_InlineCommandComment_getArgText@LLVM_13 1:5.0~svn298832-1~
+ clang_InlineCommandComment_getCommandName@LLVM_13 1:5.0~svn298832-1~
+ clang_InlineCommandComment_getNumArgs@LLVM_13 1:5.0~svn298832-1~
+ clang_InlineCommandComment_getRenderKind@LLVM_13 1:5.0~svn298832-1~
+ clang_InlineContentComment_hasTrailingNewline@LLVM_13 1:5.0~svn298832-1~
+ clang_Location_isFromMainFile@LLVM_13 1:5.0~svn298832-1~
+ clang_Location_isInSystemHeader@LLVM_13 1:5.0~svn298832-1~
+ clang_ModuleMapDescriptor_create@LLVM_13 1:5.0~svn298832-1~
+ clang_ModuleMapDescriptor_dispose@LLVM_13 1:5.0~svn298832-1~
+ clang_ModuleMapDescriptor_setFrameworkModuleName@LLVM_13 1:5.0~svn298832-1~
+ clang_ModuleMapDescriptor_setUmbrellaHeader@LLVM_13 1:5.0~svn298832-1~
+ clang_ModuleMapDescriptor_writeToBuffer@LLVM_13 1:5.0~svn298832-1~
+ clang_Module_getASTFile@LLVM_13 1:5.0~svn298832-1~
+ clang_Module_getFullName@LLVM_13 1:5.0~svn298832-1~
+ clang_Module_getName@LLVM_13 1:5.0~svn298832-1~
+ clang_Module_getNumTopLevelHeaders@LLVM_13 1:5.0~svn298832-1~
+ clang_Module_getParent@LLVM_13 1:5.0~svn298832-1~
+ clang_Module_getTopLevelHeader@LLVM_13 1:5.0~svn298832-1~
+ clang_Module_isSystem@LLVM_13 1:5.0~svn298832-1~
+ clang_ParamCommandComment_getDirection@LLVM_13 1:5.0~svn298832-1~
+ clang_ParamCommandComment_getParamIndex@LLVM_13 1:5.0~svn298832-1~
+ clang_ParamCommandComment_getParamName@LLVM_13 1:5.0~svn298832-1~
+ clang_ParamCommandComment_isDirectionExplicit@LLVM_13 1:5.0~svn298832-1~
+ clang_ParamCommandComment_isParamIndexValid@LLVM_13 1:5.0~svn298832-1~
+ clang_PrintingPolicy_dispose@LLVM_13 1:7~svn324835-1~
+ clang_PrintingPolicy_getProperty@LLVM_13 1:7~svn324835-1~
+ clang_PrintingPolicy_setProperty@LLVM_13 1:7~svn324835-1~
+ clang_Range_isNull@LLVM_13 1:5.0~svn298832-1~
+ clang_TParamCommandComment_getDepth@LLVM_13 1:5.0~svn298832-1~
+ clang_TParamCommandComment_getIndex@LLVM_13 1:5.0~svn298832-1~
+ clang_TParamCommandComment_getParamName@LLVM_13 1:5.0~svn298832-1~
+ clang_TParamCommandComment_isParamPositionValid@LLVM_13 1:5.0~svn298832-1~
+ clang_TargetInfo_dispose@LLVM_13 1:5.0~svn302377-1~
+ clang_TargetInfo_getPointerWidth@LLVM_13 1:5.0~svn302377-1~
+ clang_TargetInfo_getTriple@LLVM_13 1:5.0~svn302377-1~
+ clang_TextComment_getText@LLVM_13 1:5.0~svn298832-1~
+ clang_Type_getAlignOf@LLVM_13 1:5.0~svn298832-1~
+ clang_Type_getCXXRefQualifier@LLVM_13 1:5.0~svn298832-1~
+ clang_Type_getClassType@LLVM_13 1:5.0~svn298832-1~
+ clang_Type_getModifiedType@LLVM_13 1:8~svn339515-1~
+ clang_Type_getNamedType@LLVM_13 1:5.0~svn298832-1~
+ clang_Type_getNullability@LLVM_13 1:8~svn339515-1~
+ clang_Type_getNumObjCProtocolRefs@LLVM_13 1:8~svn339515-1~
+ clang_Type_getNumObjCTypeArgs@LLVM_13 1:8~svn339515-1~
+ clang_Type_getNumTemplateArguments@LLVM_13 1:5.0~svn298832-1~
+ clang_Type_getObjCEncoding@LLVM_13 1:5.0~svn298832-1~
+ clang_Type_getObjCObjectBaseType@LLVM_13 1:8~svn339515-1~
+ clang_Type_getObjCProtocolDecl@LLVM_13 1:8~svn339515-1~
+ clang_Type_getObjCTypeArg@LLVM_13 1:8~svn339515-1~
+ clang_Type_getOffsetOf@LLVM_13 1:5.0~svn298832-1~
+ clang_Type_getSizeOf@LLVM_13 1:5.0~svn298832-1~
+ clang_Type_getTemplateArgumentAsType@LLVM_13 1:5.0~svn298832-1~
+ clang_Type_getValueType@LLVM_13 1:13~++20200417041528+cc0ec3fdb9d-1~
+ clang_Type_isTransparentTagTypedef@LLVM_13 1:5.0~svn302377-1~
+ clang_Type_visitFields@LLVM_13 1:5.0~svn298832-1~
+ clang_VerbatimBlockLineComment_getText@LLVM_13 1:5.0~svn298832-1~
+ clang_VerbatimLineComment_getText@LLVM_13 1:5.0~svn298832-1~
+ clang_VirtualFileOverlay_addFileMapping@LLVM_13 1:5.0~svn298832-1~
+ clang_VirtualFileOverlay_create@LLVM_13 1:5.0~svn298832-1~
+ clang_VirtualFileOverlay_dispose@LLVM_13 1:5.0~svn298832-1~
+ clang_VirtualFileOverlay_setCaseSensitivity@LLVM_13 1:5.0~svn298832-1~
+ clang_VirtualFileOverlay_writeToBuffer@LLVM_13 1:5.0~svn298832-1~
+ clang_annotateTokens@LLVM_13 1:5.0~svn298832-1~
+ clang_codeCompleteAt@LLVM_13 1:5.0~svn298832-1~
+ clang_codeCompleteGetContainerKind@LLVM_13 1:5.0~svn298832-1~
+ clang_codeCompleteGetContainerUSR@LLVM_13 1:5.0~svn298832-1~
+ clang_codeCompleteGetContexts@LLVM_13 1:5.0~svn298832-1~
+ clang_codeCompleteGetDiagnostic@LLVM_13 1:5.0~svn298832-1~
+ clang_codeCompleteGetNumDiagnostics@LLVM_13 1:5.0~svn298832-1~
+ clang_codeCompleteGetObjCSelector@LLVM_13 1:5.0~svn298832-1~
+ clang_constructUSR_ObjCCategory@LLVM_13 1:5.0~svn298832-1~
+ clang_constructUSR_ObjCClass@LLVM_13 1:5.0~svn298832-1~
+ clang_constructUSR_ObjCIvar@LLVM_13 1:5.0~svn298832-1~
+ clang_constructUSR_ObjCMethod@LLVM_13 1:5.0~svn298832-1~
+ clang_constructUSR_ObjCProperty@LLVM_13 1:5.0~svn298832-1~
+ clang_constructUSR_ObjCProtocol@LLVM_13 1:5.0~svn298832-1~
+ clang_createAPISet@LLVM_16 1:16.0.2-1~
+ clang_createCXCursorSet@LLVM_13 1:5.0~svn298832-1~
+ clang_createIndex@LLVM_13 1:5.0~svn298832-1~
+ clang_createIndexWithOptions@LLVM_17 1:17
+ clang_createTranslationUnit2@LLVM_13 1:5.0~svn298832-1~
+ clang_createTranslationUnit@LLVM_13 1:5.0~svn298832-1~
+ clang_createTranslationUnitFromSourceFile@LLVM_13 1:5.0~svn298832-1~
+ clang_defaultCodeCompleteOptions@LLVM_13 1:5.0~svn298832-1~
+ clang_defaultDiagnosticDisplayOptions@LLVM_13 1:5.0~svn298832-1~
+ clang_defaultEditingTranslationUnitOptions@LLVM_13 1:5.0~svn298832-1~
+ clang_defaultReparseOptions@LLVM_13 1:5.0~svn298832-1~
+ clang_defaultSaveOptions@LLVM_13 1:5.0~svn298832-1~
+ clang_disposeAPISet@LLVM_16 1:16.0.2-1~
+ clang_disposeCXCursorSet@LLVM_13 1:5.0~svn298832-1~
+ clang_disposeCXPlatformAvailability@LLVM_13 1:5.0~svn298832-1~
+ clang_disposeCXTUResourceUsage@LLVM_13 1:5.0~svn298832-1~
+ clang_disposeCodeCompleteResults@LLVM_13 1:5.0~svn298832-1~
+ clang_disposeDiagnostic@LLVM_13 1:5.0~svn298832-1~
+ clang_disposeDiagnosticSet@LLVM_13 1:5.0~svn298832-1~
+ clang_disposeIndex@LLVM_13 1:5.0~svn298832-1~
+ clang_disposeOverriddenCursors@LLVM_13 1:5.0~svn298832-1~
+ clang_disposeSourceRangeList@LLVM_13 1:5.0~svn298832-1~
+ clang_disposeString@LLVM_13 1:5.0~svn298832-1~
+ clang_disposeStringSet@LLVM_13 1:5.0~svn298832-1~
+ clang_disposeTokens@LLVM_13 1:5.0~svn298832-1~
+ clang_disposeTranslationUnit@LLVM_13 1:5.0~svn298832-1~
+ clang_enableStackTraces@LLVM_13 1:5.0~svn298832-1~
+ clang_equalCursors@LLVM_13 1:5.0~svn298832-1~
+ clang_equalLocations@LLVM_13 1:5.0~svn298832-1~
+ clang_equalRanges@LLVM_13 1:5.0~svn298832-1~
+ clang_equalTypes@LLVM_13 1:5.0~svn298832-1~
+ clang_executeOnThread@LLVM_13 1:5.0~svn298832-1~
+ clang_findIncludesInFile@LLVM_13 1:5.0~svn298832-1~
+ clang_findIncludesInFileWithBlock@LLVM_13 1:5.0~svn298832-1~
+ clang_findReferencesInFile@LLVM_13 1:5.0~svn298832-1~
+ clang_findReferencesInFileWithBlock@LLVM_13 1:5.0~svn298832-1~
+ clang_formatDiagnostic@LLVM_13 1:5.0~svn298832-1~
+ clang_free@LLVM_13 1:5.0~svn298832-1~
+ clang_getAddressSpace@LLVM_13 1:5.0~+rc1~
+ clang_getAllSkippedRanges@LLVM_13 1:5.0~svn302377-1~
+ clang_getArgType@LLVM_13 1:5.0~svn298832-1~
+ clang_getArrayElementType@LLVM_13 1:5.0~svn298832-1~
+ clang_getArraySize@LLVM_13 1:5.0~svn298832-1~
+ clang_getBinaryOperatorKindSpelling@LLVM_17 1:17
+ clang_getBuildSessionTimestamp@LLVM_13 1:5.0~svn298832-1~
+ clang_getCString@LLVM_13 1:5.0~svn298832-1~
+ clang_getCXTUResourceUsage@LLVM_13 1:5.0~svn298832-1~
+ clang_getCXXAccessSpecifier@LLVM_13 1:5.0~svn298832-1~
+ clang_getCanonicalCursor@LLVM_13 1:5.0~svn298832-1~
+ clang_getCanonicalType@LLVM_13 1:5.0~svn298832-1~
+ clang_getChildDiagnostics@LLVM_13 1:5.0~svn298832-1~
+ clang_getClangVersion@LLVM_13 1:5.0~svn298832-1~
+ clang_getCompletionAnnotation@LLVM_13 1:5.0~svn298832-1~
+ clang_getCompletionAvailability@LLVM_13 1:5.0~svn298832-1~
+ clang_getCompletionBriefComment@LLVM_13 1:5.0~svn298832-1~
+ clang_getCompletionChunkCompletionString@LLVM_13 1:5.0~svn298832-1~
+ clang_getCompletionChunkKind@LLVM_13 1:5.0~svn298832-1~
+ clang_getCompletionChunkText@LLVM_13 1:5.0~svn298832-1~
+ clang_getCompletionFixIt@LLVM_13 1:7~svn334604-1~
+ clang_getCompletionNumAnnotations@LLVM_13 1:5.0~svn298832-1~
+ clang_getCompletionNumFixIts@LLVM_13 1:7~svn334604-1~+0~
+ clang_getCompletionParent@LLVM_13 1:5.0~svn298832-1~
+ clang_getCompletionPriority@LLVM_13 1:5.0~svn298832-1~
+ clang_getCursor@LLVM_13 1:5.0~svn298832-1~
+ clang_getCursorAvailability@LLVM_13 1:5.0~svn298832-1~
+ clang_getCursorBinaryOperatorKind@LLVM_17 1:17
+ clang_getCursorCompletionString@LLVM_13 1:5.0~svn298832-1~
+ clang_getCursorDefinition@LLVM_13 1:5.0~svn298832-1~
+ clang_getCursorDisplayName@LLVM_13 1:5.0~svn298832-1~
+ clang_getCursorExceptionSpecificationType@LLVM_13 1:5.0~+rc1~
+ clang_getCursorExtent@LLVM_13 1:5.0~svn298832-1~
+ clang_getCursorKind@LLVM_13 1:5.0~svn298832-1~
+ clang_getCursorKindSpelling@LLVM_13 1:5.0~svn298832-1~
+ clang_getCursorLanguage@LLVM_13 1:5.0~svn298832-1~
+ clang_getCursorLexicalParent@LLVM_13 1:5.0~svn298832-1~
+ clang_getCursorLinkage@LLVM_13 1:5.0~svn298832-1~
+ clang_getCursorLocation@LLVM_13 1:5.0~svn298832-1~
+ clang_getCursorPlatformAvailability@LLVM_13 1:5.0~svn298832-1~
+ clang_getCursorPrettyPrinted@LLVM_13 1:7~svn324835-1~
+ clang_getCursorPrintingPolicy@LLVM_13 1:7~svn324835-1~
+ clang_getCursorReferenceNameRange@LLVM_13 1:5.0~svn298832-1~
+ clang_getCursorReferenced@LLVM_13 1:5.0~svn298832-1~
+ clang_getCursorResultType@LLVM_13 1:5.0~svn298832-1~
+ clang_getCursorSemanticParent@LLVM_13 1:5.0~svn298832-1~
+ clang_getCursorSpelling@LLVM_13 1:5.0~svn298832-1~
+ clang_getCursorTLSKind@LLVM_13 1:6.0~svn320926-1~
+ clang_getCursorType@LLVM_13 1:5.0~svn298832-1~
+ clang_getCursorUSR@LLVM_13 1:5.0~svn298832-1~
+ clang_getCursorUnaryOperatorKind@LLVM_17 1:17
+ clang_getCursorVisibility@LLVM_13 1:5.0~svn298832-1~
+ clang_getDeclObjCTypeEncoding@LLVM_13 1:5.0~svn298832-1~
+ clang_getDefinitionSpellingAndExtent@LLVM_13 1:5.0~svn298832-1~
+ clang_getDiagnostic@LLVM_13 1:5.0~svn298832-1~
+ clang_getDiagnosticCategory@LLVM_13 1:5.0~svn298832-1~
+ clang_getDiagnosticCategoryName@LLVM_13 1:5.0~svn298832-1~
+ clang_getDiagnosticCategoryText@LLVM_13 1:5.0~svn298832-1~
+ clang_getDiagnosticFixIt@LLVM_13 1:5.0~svn298832-1~
+ clang_getDiagnosticInSet@LLVM_13 1:5.0~svn298832-1~
+ clang_getDiagnosticLocation@LLVM_13 1:5.0~svn298832-1~
+ clang_getDiagnosticNumFixIts@LLVM_13 1:5.0~svn298832-1~
+ clang_getDiagnosticNumRanges@LLVM_13 1:5.0~svn298832-1~
+ clang_getDiagnosticOption@LLVM_13 1:5.0~svn298832-1~
+ clang_getDiagnosticRange@LLVM_13 1:5.0~svn298832-1~
+ clang_getDiagnosticSetFromTU@LLVM_13 1:5.0~svn298832-1~
+ clang_getDiagnosticSeverity@LLVM_13 1:5.0~svn298832-1~
+ clang_getDiagnosticSpelling@LLVM_13 1:5.0~svn298832-1~
+ clang_getElementType@LLVM_13 1:5.0~svn298832-1~
+ clang_getEnumConstantDeclUnsignedValue@LLVM_13 1:5.0~svn298832-1~
+ clang_getEnumConstantDeclValue@LLVM_13 1:5.0~svn298832-1~
+ clang_getEnumDeclIntegerType@LLVM_13 1:5.0~svn298832-1~
+ clang_getExceptionSpecificationType@LLVM_13 1:5.0~+rc1~
+ clang_getExpansionLocation@LLVM_13 1:5.0~svn298832-1~
+ clang_getFieldDeclBitWidth@LLVM_13 1:5.0~svn298832-1~
+ clang_getFile@LLVM_13 1:5.0~svn298832-1~
+ clang_getFileContents@LLVM_13 1:6.0~svn321745-1~
+ clang_getFileLocation@LLVM_13 1:5.0~svn298832-1~
+ clang_getFileName@LLVM_13 1:5.0~svn298832-1~
+ clang_getFileTime@LLVM_13 1:5.0~svn298832-1~
+ clang_getFileUniqueID@LLVM_13 1:5.0~svn298832-1~
+ clang_getFunctionTypeCallingConv@LLVM_13 1:5.0~svn298832-1~
+ clang_getIBOutletCollectionType@LLVM_13 1:5.0~svn298832-1~
+ clang_getIncludedFile@LLVM_13 1:5.0~svn298832-1~
+ clang_getInclusions@LLVM_13 1:5.0~svn298832-1~
+ clang_getInstantiationLocation@LLVM_13 1:5.0~svn298832-1~
+ clang_getLocation@LLVM_13 1:5.0~svn298832-1~
+ clang_getLocationForOffset@LLVM_13 1:5.0~svn298832-1~
+ clang_getModuleForFile@LLVM_13 1:5.0~svn298832-1~
+ clang_getNonReferenceType@LLVM_16 1:16.0.2-1~
+ clang_getNullCursor@LLVM_13 1:5.0~svn298832-1~
+ clang_getNullLocation@LLVM_13 1:5.0~svn298832-1~
+ clang_getNullRange@LLVM_13 1:5.0~svn298832-1~
+ clang_getNumArgTypes@LLVM_13 1:5.0~svn298832-1~
+ clang_getNumCompletionChunks@LLVM_13 1:5.0~svn298832-1~
+ clang_getNumDiagnostics@LLVM_13 1:5.0~svn298832-1~
+ clang_getNumDiagnosticsInSet@LLVM_13 1:5.0~svn298832-1~
+ clang_getNumElements@LLVM_13 1:5.0~svn298832-1~
+ clang_getNumOverloadedDecls@LLVM_13 1:5.0~svn298832-1~
+ clang_getOverloadedDecl@LLVM_13 1:5.0~svn298832-1~
+ clang_getOverriddenCursors@LLVM_13 1:5.0~svn298832-1~
+ clang_getPointeeType@LLVM_13 1:5.0~svn298832-1~
+ clang_getPresumedLocation@LLVM_13 1:5.0~svn298832-1~
+ clang_getRange@LLVM_13 1:5.0~svn298832-1~
+ clang_getRangeEnd@LLVM_13 1:5.0~svn298832-1~
+ clang_getRangeStart@LLVM_13 1:5.0~svn298832-1~
+ clang_getRemappings@LLVM_13 1:5.0~svn298832-1~
+ clang_getRemappingsFromFileList@LLVM_13 1:5.0~svn298832-1~
+ clang_getResultType@LLVM_13 1:5.0~svn298832-1~
+ clang_getSkippedRanges@LLVM_13 1:5.0~svn298832-1~
+ clang_getSpecializedCursorTemplate@LLVM_13 1:5.0~svn298832-1~
+ clang_getSpellingLocation@LLVM_13 1:5.0~svn298832-1~
+ clang_getSymbolGraphForCursor@LLVM_16 1:16.0.2-1~
+ clang_getSymbolGraphForUSR@LLVM_16 1:16.0.2-1~
+ clang_getTUResourceUsageName@LLVM_13 1:5.0~svn298832-1~
+ clang_getTemplateCursorKind@LLVM_13 1:5.0~svn298832-1~
+ clang_getToken@LLVM_13 1:7~svn334604-1~
+ clang_getTokenExtent@LLVM_13 1:5.0~svn298832-1~
+ clang_getTokenKind@LLVM_13 1:5.0~svn298832-1~
+ clang_getTokenLocation@LLVM_13 1:5.0~svn298832-1~
+ clang_getTokenSpelling@LLVM_13 1:5.0~svn298832-1~
+ clang_getTranslationUnitCursor@LLVM_13 1:5.0~svn298832-1~
+ clang_getTranslationUnitSpelling@LLVM_13 1:5.0~svn298832-1~
+ clang_getTranslationUnitTargetInfo@LLVM_13 1:5.0~svn302377-1~
+ clang_getTypeDeclaration@LLVM_13 1:5.0~svn298832-1~
+ clang_getTypeKindSpelling@LLVM_13 1:5.0~svn298832-1~
+ clang_getTypeSpelling@LLVM_13 1:5.0~svn298832-1~
+ clang_getTypedefDeclUnderlyingType@LLVM_13 1:5.0~svn298832-1~
+ clang_getTypedefName@LLVM_13 1:5.0~+rc1~
+ clang_getUnaryOperatorKindSpelling@LLVM_17 1:17
+ clang_getUnqualifiedType@LLVM_16 1:16.0.2-1~
+ clang_hashCursor@LLVM_13 1:5.0~svn298832-1~
+ clang_indexLoc_getCXSourceLocation@LLVM_13 1:5.0~svn298832-1~
+ clang_indexLoc_getFileLocation@LLVM_13 1:5.0~svn298832-1~
+ clang_indexSourceFile@LLVM_13 1:5.0~svn298832-1~
+ clang_indexSourceFileFullArgv@LLVM_13 1:5.0~svn298832-1~
+ clang_indexTranslationUnit@LLVM_13 1:5.0~svn298832-1~
+ clang_index_getCXXClassDeclInfo@LLVM_13 1:5.0~svn298832-1~
+ clang_index_getClientContainer@LLVM_13 1:5.0~svn298832-1~
+ clang_index_getClientEntity@LLVM_13 1:5.0~svn298832-1~
+ clang_index_getIBOutletCollectionAttrInfo@LLVM_13 1:5.0~svn298832-1~
+ clang_index_getObjCCategoryDeclInfo@LLVM_13 1:5.0~svn298832-1~
+ clang_index_getObjCContainerDeclInfo@LLVM_13 1:5.0~svn298832-1~
+ clang_index_getObjCInterfaceDeclInfo@LLVM_13 1:5.0~svn298832-1~
+ clang_index_getObjCPropertyDeclInfo@LLVM_13 1:5.0~svn298832-1~
+ clang_index_getObjCProtocolRefListInfo@LLVM_13 1:5.0~svn298832-1~
+ clang_index_isEntityObjCContainerKind@LLVM_13 1:5.0~svn298832-1~
+ clang_index_setClientContainer@LLVM_13 1:5.0~svn298832-1~
+ clang_index_setClientEntity@LLVM_13 1:5.0~svn298832-1~
+ clang_install_aborting_llvm_fatal_error_handler@LLVM_13 1:10~svn371796-1~
+ clang_isAttribute@LLVM_13 1:5.0~svn298832-1~
+ clang_isConstQualifiedType@LLVM_13 1:5.0~svn298832-1~
+ clang_isCursorDefinition@LLVM_13 1:5.0~svn298832-1~
+ clang_isDeclaration@LLVM_13 1:5.0~svn298832-1~
+ clang_isExpression@LLVM_13 1:5.0~svn298832-1~
+ clang_isFileMultipleIncludeGuarded@LLVM_13 1:5.0~svn298832-1~
+ clang_isFunctionTypeVariadic@LLVM_13 1:5.0~svn298832-1~
+ clang_isInvalid@LLVM_13 1:5.0~svn298832-1~
+ clang_isInvalidDeclaration@LLVM_13 1:7~svn321385-1~
+ clang_isPODType@LLVM_13 1:5.0~svn298832-1~
+ clang_isPreprocessing@LLVM_13 1:5.0~svn298832-1~
+ clang_isReference@LLVM_13 1:5.0~svn298832-1~
+ clang_isRestrictQualifiedType@LLVM_13 1:5.0~svn298832-1~
+ clang_isStatement@LLVM_13 1:5.0~svn298832-1~
+ clang_isTranslationUnit@LLVM_13 1:5.0~svn298832-1~
+ clang_isUnexposed@LLVM_13 1:5.0~svn298832-1~
+ clang_isVirtualBase@LLVM_13 1:5.0~svn298832-1~
+ clang_isVolatileQualifiedType@LLVM_13 1:5.0~svn298832-1~
+ clang_loadDiagnostics@LLVM_13 1:5.0~svn298832-1~
+ clang_parseTranslationUnit2@LLVM_13 1:5.0~svn298832-1~
+ clang_parseTranslationUnit2FullArgv@LLVM_13 1:5.0~svn298832-1~
+ clang_parseTranslationUnit@LLVM_13 1:5.0~svn298832-1~
+ clang_remap_dispose@LLVM_13 1:5.0~svn298832-1~
+ clang_remap_getFilenames@LLVM_13 1:5.0~svn298832-1~
+ clang_remap_getNumFiles@LLVM_13 1:5.0~svn298832-1~
+ clang_reparseTranslationUnit@LLVM_13 1:5.0~svn298832-1~
+ clang_saveTranslationUnit@LLVM_13 1:5.0~svn298832-1~
+ clang_sortCodeCompletionResults@LLVM_13 1:5.0~svn298832-1~
+ clang_suspendTranslationUnit@LLVM_13 1:5.0~+rc1~
+ clang_toggleCrashRecovery@LLVM_13 1:5.0~svn298832-1~
+ clang_tokenize@LLVM_13 1:5.0~svn298832-1~
+ clang_uninstall_llvm_fatal_error_handler@LLVM_13 1:10~svn371796-1~
+ clang_visitChildren@LLVM_13 1:5.0~svn298832-1~
+ clang_visitChildrenWithBlock@LLVM_13 1:5.0~svn298832-1~
diff --git a/libclc-X.Y-dev.install.in b/libclc-X.Y-dev.install.in
new file mode 100644 (file)
index 0000000..12c76fe
--- /dev/null
@@ -0,0 +1,3 @@
+usr/include/clc
+usr/lib/pkgconfig/libclc.pc
+libclc/check_external_calls.sh usr/lib/llvm-@LLVM_VERSION@/share/libclc
diff --git a/libclc-X.Y.install.in b/libclc-X.Y.install.in
new file mode 100644 (file)
index 0000000..923094f
--- /dev/null
@@ -0,0 +1,2 @@
+usr/lib/clc/*.bc
+#spv usr/lib/clc/*.spv
diff --git a/libflang-X.Y-dev.install.in b/libflang-X.Y-dev.install.in
new file mode 100644 (file)
index 0000000..69954cf
--- /dev/null
@@ -0,0 +1,8 @@
+usr/lib/llvm-@LLVM_VERSION@/lib/cmake/flang/
+usr/lib/llvm-@LLVM_VERSION@/include/flang/
+usr/lib/llvm-@LLVM_VERSION@/lib/libflang*.a
+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/liblld-X.Y-dev.install.in b/liblld-X.Y-dev.install.in
new file mode 100644 (file)
index 0000000..6b65c0f
--- /dev/null
@@ -0,0 +1,2 @@
+usr/lib/llvm-@LLVM_VERSION@/include/lld
+usr/lib/llvm-@LLVM_VERSION@/lib/cmake/lld/*.cmake
diff --git a/liblld-X.Y.install.in b/liblld-X.Y.install.in
new file mode 100644 (file)
index 0000000..e0c0b42
--- /dev/null
@@ -0,0 +1,7 @@
+#usr/lib/llvm-@LLVM_VERSION@/lib/liblld-@LLVM_VERSION@.so.1 /usr/lib/@DEB_HOST_MULTIARCH@/
+usr/lib/llvm-@LLVM_VERSION@/lib/liblldELF.a
+usr/lib/llvm-@LLVM_VERSION@/lib/liblldMachO.a
+usr/lib/llvm-@LLVM_VERSION@/lib/liblldCOFF.a
+usr/lib/llvm-@LLVM_VERSION@/lib/liblldMinGW.a
+usr/lib/llvm-@LLVM_VERSION@/lib/liblldCommon.a
+usr/lib/llvm-@LLVM_VERSION@/lib/liblldWasm.a
diff --git a/liblld-X.Y.links.in b/liblld-X.Y.links.in
new file mode 100644 (file)
index 0000000..0aa8180
--- /dev/null
@@ -0,0 +1,3 @@
+#usr/lib/@DEB_HOST_MULTIARCH@/liblld-@LLVM_VERSION@.so.1       usr/lib/@DEB_HOST_MULTIARCH@/liblld-@LLVM_VERSION@.so
+#usr/lib/@DEB_HOST_MULTIARCH@/liblld-@LLVM_VERSION@.so         usr/lib/python3/dist-packages/lld-@LLVM_VERSION@/_lld.so
+#usr/lib/@DEB_HOST_MULTIARCH@/liblld-@LLVM_VERSION@.so.1       usr/lib/llvm-@LLVM_VERSION@/lib/liblld.so.1
diff --git a/liblldb-X.Y-dev.install.in b/liblldb-X.Y-dev.install.in
new file mode 100644 (file)
index 0000000..72f48e7
--- /dev/null
@@ -0,0 +1,3 @@
+/usr/lib/llvm-@LLVM_VERSION@/include/lldb
+#/usr/lib/llvm-@LLVM_VERSION@/lib/liblldb*a
+/usr/lib/llvm-@LLVM_VERSION@/lib/liblldb*so
diff --git a/liblldb-X.Y-dev.links.in b/liblldb-X.Y-dev.links.in
new file mode 100644 (file)
index 0000000..3c6aef9
--- /dev/null
@@ -0,0 +1,3 @@
+usr/lib/@DEB_HOST_MULTIARCH@/liblldb-@LLVM_VERSION@.so.1       usr/lib/llvm-@LLVM_VERSION@/lib/liblldb.so
+usr/lib/@DEB_HOST_MULTIARCH@/liblldb-@LLVM_VERSION@.so.1       usr/lib/llvm-@LLVM_VERSION@/lib/liblldb-@LLVM_VERSION@.so
+usr/lib/@DEB_HOST_MULTIARCH@/liblldb-@LLVM_VERSION@.so.1       usr/lib/llvm-@LLVM_VERSION@/lib/liblldb-@LLVM_VERSION@.so.1
diff --git a/liblldb-X.Y.install.in b/liblldb-X.Y.install.in
new file mode 100644 (file)
index 0000000..24fa444
--- /dev/null
@@ -0,0 +1,3 @@
+usr/lib/llvm-@LLVM_VERSION@/lib/liblldb-@LLVM_VERSION@.so.1 /usr/lib/@DEB_HOST_MULTIARCH@/
+
+usr/lib/llvm-@LLVM_VERSION@/lib/liblldbIntelFeatures.so.*
diff --git a/liblldb-X.Y.links.in b/liblldb-X.Y.links.in
new file mode 100644 (file)
index 0000000..ae73a19
--- /dev/null
@@ -0,0 +1,2 @@
+usr/lib/@DEB_HOST_MULTIARCH@/liblldb-@LLVM_VERSION@.so.1       usr/lib/@DEB_HOST_MULTIARCH@/liblldb-@LLVM_VERSION@.so
+usr/lib/@DEB_HOST_MULTIARCH@/liblldb-@LLVM_VERSION@.so.1       usr/lib/llvm-@LLVM_VERSION@/lib/liblldb.so.1
diff --git a/liblldb-X.Y.lintian-overrides.in b/liblldb-X.Y.lintian-overrides.in
new file mode 100644 (file)
index 0000000..180aec3
--- /dev/null
@@ -0,0 +1,5 @@
+# That is normal. The lib is not (yet?) shipped as a new package
+liblldb-@LLVM_VERSION@: package-name-doesnt-match-sonames liblldb-@LLVM_VERSION@-1
+# For now, override this warning. We might create a -dev at some point
+liblldb-@LLVM_VERSION@: non-dev-pkg-with-shlib-symlink usr/lib/*/liblldb.so.1 usr/lib/*/liblldb.so
+liblldb-@LLVM_VERSION@: non-dev-pkg-with-shlib-symlink usr/lib/*/liblldb-@LLVM_VERSION@.so.1 usr/lib/*/liblldb-@LLVM_VERSION@.so
diff --git a/libllvm-X.Y-ocaml-dev.META.in b/libllvm-X.Y-ocaml-dev.META.in
new file mode 100644 (file)
index 0000000..366820d
--- /dev/null
@@ -0,0 +1,63 @@
+description = "Low Level Virtual Machine bindings"
+version = "@LLVM_VERSION@"
+
+directory = "+llvm-@LLVM_VERSION@"
+
+archive(byte)   = "llvm.cma"
+archive(native) = "llvm.cmxa"
+linkopts = "-cclib -lstdc++ -cclib -lllvm"
+
+package "executionengine"
+(
+  requires = "llvm-@LLVM_VERSION@"
+  version = "@LLVM_VERSION@"
+  archive(native) = "llvm_executionengine.cmxa"
+  archive(byte)   = "llvm_executionengine.cma"
+  linkopts = "-cclib -lllvm_executionengine"
+)
+
+package "target"
+(
+  requires = "llvm-@LLVM_VERSION@"
+  version = "@LLVM_VERSION@"
+  archive(native) = "llvm_target.cmxa"
+  archive(byte)   = "llvm_target.cma"
+  linkopts = "-cclib -lllvm_target"
+)
+
+package "scalar_opts"
+(
+  requires = "llvm-@LLVM_VERSION@ llvm-@LLVM_VERSION@.target"
+  version = "@LLVM_VERSION@"
+  archive(native) = "llvm_scalar_opts.cmxa"
+  archive(byte)   = "llvm_scalar_opts.cma"
+  linkopts = "-cclib -lllvm_scalar_opts"
+)
+
+package "analysis"
+(
+  requires = "llvm-@LLVM_VERSION@"
+  version = "@LLVM_VERSION@"
+  archive(native) = "llvm_analysis.cmxa"
+  archive(byte)   = "llvm_analysis.cma"
+  linkopts = "-cclib -lllvm_analysis"
+)
+
+package "bitwriter"
+(
+  requires = "llvm-@LLVM_VERSION@"
+  version = "@LLVM_VERSION@"
+  archive(native) = "llvm_bitwriter.cmxa"
+  archive(byte)   = "llvm_bitwriter.cma"
+  linkopts = "-cclib -lllvm_bitwriter"
+)
+
+package "bitreader"
+(
+  requires = "llvm-@LLVM_VERSION@ llvm-@LLVM_VERSION@.bitwriter"
+  version = "@LLVM_VERSION@"
+  archive(native) = "llvm_bitreader.cmxa"
+  archive(byte)   = "llvm_bitreader.cma"
+  linkopts = "-cclib -lllvm_bitreader"
+)
+
diff --git a/libllvm-X.Y-ocaml-dev.dirs.in b/libllvm-X.Y-ocaml-dev.dirs.in
new file mode 100644 (file)
index 0000000..6c9c736
--- /dev/null
@@ -0,0 +1,2 @@
+@OCAML_STDLIB_DIR@/META/
+
diff --git a/libllvm-X.Y-ocaml-dev.install.in b/libllvm-X.Y-ocaml-dev.install.in
new file mode 100644 (file)
index 0000000..199d111
--- /dev/null
@@ -0,0 +1,3 @@
+@OCAML_STDLIB_DIR@
+usr/lib/llvm-@LLVM_VERSION@/share/doc/llvm/ocaml-html/ usr/share/doc/libllvm-@LLVM_VERSION@-ocaml-dev/
+usr/lib/llvm-@LLVM_VERSION@/share/doc/LLVM/llvm/ocaml-html/ usr/share/doc/libllvm-@LLVM_VERSION@-ocaml-dev/
diff --git a/libllvm-X.Y-ocaml-dev.lintian-overrides.in b/libllvm-X.Y-ocaml-dev.lintian-overrides.in
new file mode 100644 (file)
index 0000000..5d25d44
--- /dev/null
@@ -0,0 +1,2 @@
+# It is in the section ocaml which is fine.
+libllvm-@LLVM_VERSION@-ocaml-dev: wrong-section-according-to-package-name libllvm-@LLVM_VERSION@-ocaml-dev => libdevel
diff --git a/libllvmX.Y.install.in b/libllvmX.Y.install.in
new file mode 100644 (file)
index 0000000..7100f0b
--- /dev/null
@@ -0,0 +1,7 @@
+# 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/libllvmX.Y.links.in b/libllvmX.Y.links.in
new file mode 100644 (file)
index 0000000..3573f38
--- /dev/null
@@ -0,0 +1,3 @@
+# provide symlinks in the LLVM subdir
+
+# no symlinks in the LLVM subdir, the package is M-A: same
diff --git a/libllvmX.Y.lintian-overrides.in b/libllvmX.Y.lintian-overrides.in
new file mode 100644 (file)
index 0000000..49f7ef2
--- /dev/null
@@ -0,0 +1,2 @@
+# That is normal. Upstream does not match the debian convention
+libllvm@LLVM_VERSION@: package-name-doesnt-match-sonames libLLVM-@LLVM_VERSION@-1
diff --git a/libllvmlibc-X.Y-dev.install.in b/libllvmlibc-X.Y-dev.install.in
new file mode 100644 (file)
index 0000000..76caad8
--- /dev/null
@@ -0,0 +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/libmlir-X.Y-dev.install.in b/libmlir-X.Y-dev.install.in
new file mode 100644 (file)
index 0000000..f0cf345
--- /dev/null
@@ -0,0 +1,9 @@
+usr/lib/llvm-@LLVM_VERSION@/include/mlir-c/
+usr/lib/llvm-@LLVM_VERSION@/include/mlir/
+usr/lib/llvm-@LLVM_VERSION@/lib/cmake/mlir/
+
+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/libmlir-X.Y-dev.lintian-overrides.in b/libmlir-X.Y-dev.lintian-overrides.in
new file mode 100644 (file)
index 0000000..4e14583
--- /dev/null
@@ -0,0 +1 @@
+libmlir-@LLVM_VERSION@-dev: arch-dependent-file-not-in-arch-specific-directory *usr/lib/llvm-@LLVM_VERSION@/lib/*
diff --git a/libmlir-X.Y.install.in b/libmlir-X.Y.install.in
new file mode 100644 (file)
index 0000000..8867115
--- /dev/null
@@ -0,0 +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/libmlir-X.Y.lintian-overrides.in b/libmlir-X.Y.lintian-overrides.in
new file mode 100644 (file)
index 0000000..f2f020b
--- /dev/null
@@ -0,0 +1 @@
+libmlir-@LLVM_VERSION@: arch-dependent-file-not-in-arch-specific-directory *usr/lib/llvm-@LLVM_VERSION@/lib/*
diff --git a/libomp-X.Y-dev.install.in b/libomp-X.Y-dev.install.in
new file mode 100755 (executable)
index 0000000..ce086f0
--- /dev/null
@@ -0,0 +1,22 @@
+#!/usr/bin/dh-exec
+
+/usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION@/include/omp*.h
+/usr/lib/llvm-@LLVM_VERSION@/lib/libgomp.so
+/usr/lib/llvm-@LLVM_VERSION@/lib/libiomp5.so
+/usr/lib/llvm-@LLVM_VERSION@/lib/libomp*.so
+[!armhf !mips64el] /usr/lib/llvm-@LLVM_VERSION@/lib/libarcher_static.a
+[!armhf !mips64el] /usr/lib/llvm-@LLVM_VERSION@/lib/libarcher.so
+
+[amd64 hurd-amd64 ppc64el arm64 ppc64] /usr/lib/llvm-@LLVM_VERSION@/lib/libomptarget.devicertl.a
+
+[amd64 hurd-amd64 ppc64el arm64 ppc64] /usr/lib/llvm-@LLVM_VERSION@/lib/libomptarget-*.bc
+
+usr/lib/llvm-@LLVM_VERSION@/lib/cmake/openmp/*.cmake
+
+[amd64 hurd-amd64 arm64 ppc64el ppc64] usr/lib/llvm-@LLVM_VERSION@/bin/llvm-omp-device-info
+[amd64 hurd-amd64 arm64 ppc64el ppc64] usr/lib/llvm-@LLVM_VERSION@/bin/llvm-omp-kernel-replay
+
+[amd64 hurd-amd64 arm64 ppc64el ppc64] usr/bin/llvm-omp-device-info-@LLVM_VERSION@
+[amd64 hurd-amd64 arm64 ppc64el ppc64] usr/bin/llvm-omp-kernel-replay-@LLVM_VERSION@
+
+[!armhf !hurd-amd64] usr/lib/llvm-@LLVM_VERSION@/share/gdb/python/ompd/
diff --git a/libomp-X.Y-dev.links.in b/libomp-X.Y-dev.links.in
new file mode 100644 (file)
index 0000000..8b01da8
--- /dev/null
@@ -0,0 +1,3 @@
+/usr/lib/llvm-@LLVM_VERSION@/lib/libomp.so usr/lib/@DEB_HOST_MULTIARCH@/libomp5.so
+/usr/lib/llvm-@LLVM_VERSION@/lib/libomp.so usr/lib/@DEB_HOST_MULTIARCH@/libiomp5.so
+
diff --git a/libomp-X.Y-doc.docs.in b/libomp-X.Y-doc.docs.in
new file mode 100644 (file)
index 0000000..fbb48ae
--- /dev/null
@@ -0,0 +1 @@
+openmp/runtime/doc/doxygen/generated/html/
diff --git a/libomp-X.Y.links.in b/libomp-X.Y.links.in
new file mode 100644 (file)
index 0000000..6bc3d4c
--- /dev/null
@@ -0,0 +1 @@
+usr/lib/llvm-@LLVM_VERSION@/lib/libomp.so.5 usr/lib/@DEB_HOST_MULTIARCH@/libomp.so.5 
diff --git a/libomp5-X.Y.install.in b/libomp5-X.Y.install.in
new file mode 100755 (executable)
index 0000000..e2dd42e
--- /dev/null
@@ -0,0 +1,5 @@
+#!/usr/bin/dh-exec
+
+usr/lib/llvm-@LLVM_VERSION@/lib/libomp*.so.5
+[amd64 hurd-amd64 arm64 ppc64el ppc64] usr/lib/llvm-@LLVM_VERSION@/lib/libomptarget*.so.@LLVM_VERSION@.@LLVM_VERSION_MINOR@
+
diff --git a/libomp5-X.Y.links.in b/libomp5-X.Y.links.in
new file mode 100644 (file)
index 0000000..cd9227f
--- /dev/null
@@ -0,0 +1,3 @@
+usr/lib/llvm-@LLVM_VERSION@/lib/libomp.so.5  /usr/lib/@DEB_HOST_MULTIARCH@/libomp.so.5
+
+
diff --git a/libomp5-X.Y.lintian-overrides.in b/libomp5-X.Y.lintian-overrides.in
new file mode 100644 (file)
index 0000000..335e58e
--- /dev/null
@@ -0,0 +1 @@
+libomp5-@LLVM_VERSION@: arch-dependent-file-not-in-arch-specific-directory *usr/lib/llvm-@LLVM_VERSION@/lib/libomp.so.5*
diff --git a/libomp5-X.Y.symbols.in b/libomp5-X.Y.symbols.in
new file mode 100644 (file)
index 0000000..946a262
--- /dev/null
@@ -0,0 +1,933 @@
+libomp.so.5 #PACKAGE# #MINVER#
+ (symver)GOMP_1.0 0.20131209
+ (symver)GOMP_2.0 0.20131209
+ (symver)GOMP_3.0 0.20131209
+ (symver)GOMP_4.0 0.20131209
+ (symver)GOMP_4.5 7
+ (symver)GOMP_5.0 11
+ (symver)GOMP_5.0.1 1:14
+ (symver)OMP_1.0 0.20131209
+ (symver)OMP_2.0 0.20131209
+ (symver)OMP_3.0 0.20131209
+ (symver)OMP_3.1 0.20131209
+ (symver)OMP_4.0 0.20131209
+ (symver)OMP_4.5 7
+ (symver)OMP_5.0 13
+# do not make the VERSION symbol a symver!
+ VERSION@VERSION 0.20130412
+ GOMP_alloc@VERSION 14
+ GOMP_atomic_end@VERSION 0.20130412
+ GOMP_atomic_start@VERSION 0.20130412
+ GOMP_barrier@VERSION 0.20130412
+ GOMP_barrier_cancel@VERSION 0.20140926
+ GOMP_cancel@VERSION 0.20140926
+ GOMP_cancellation_point@VERSION 0.20140926
+ GOMP_critical_end@VERSION 0.20130412
+ GOMP_critical_name_end@VERSION 0.20130412
+ GOMP_critical_name_start@VERSION 0.20130412
+ GOMP_critical_start@VERSION 0.20130412
+ GOMP_doacross_post@VERSION 7
+ GOMP_doacross_ull_post@VERSION 7
+ GOMP_doacross_ull_wait@VERSION 7
+ GOMP_doacross_wait@VERSION 7
+ GOMP_free@VERSION 14
+ GOMP_loop_doacross_dynamic_start@VERSION 7
+ GOMP_loop_doacross_guided_start@VERSION 7
+ GOMP_loop_doacross_runtime_start@VERSION 7
+ GOMP_loop_doacross_start@VERSION 13
+ GOMP_loop_doacross_static_start@VERSION 7
+ GOMP_loop_dynamic_next@VERSION 0.20130412
+ GOMP_loop_dynamic_start@VERSION 0.20130412
+ GOMP_loop_end@VERSION 0.20130412
+ GOMP_loop_end_cancel@VERSION 0.20140926
+ GOMP_loop_end_nowait@VERSION 0.20130412
+ GOMP_loop_guided_next@VERSION 0.20130412
+ GOMP_loop_guided_start@VERSION 0.20130412
+ GOMP_loop_maybe_nonmonotonic_runtime_next@VERSION 11
+ GOMP_loop_maybe_nonmonotonic_runtime_start@VERSION 11
+ GOMP_loop_nonmonotonic_dynamic_next@VERSION 10
+ GOMP_loop_nonmonotonic_dynamic_start@VERSION 10
+ GOMP_loop_nonmonotonic_guided_next@VERSION 10
+ GOMP_loop_nonmonotonic_guided_start@VERSION 10
+ GOMP_loop_nonmonotonic_runtime_next@VERSION 11
+ GOMP_loop_nonmonotonic_runtime_start@VERSION 11
+ GOMP_loop_ordered_dynamic_next@VERSION 0.20130412
+ GOMP_loop_ordered_dynamic_start@VERSION 0.20130412
+ GOMP_loop_ordered_guided_next@VERSION 0.20130412
+ GOMP_loop_ordered_guided_start@VERSION 0.20130412
+ GOMP_loop_ordered_runtime_next@VERSION 0.20130412
+ GOMP_loop_ordered_runtime_start@VERSION 0.20130412
+ GOMP_loop_ordered_start@VERSION 13
+ GOMP_loop_ordered_static_next@VERSION 0.20130412
+ GOMP_loop_ordered_static_start@VERSION 0.20130412
+ GOMP_loop_runtime_next@VERSION 0.20130412
+ GOMP_loop_runtime_start@VERSION 0.20130412
+ GOMP_loop_start@VERSION 13
+ GOMP_loop_static_next@VERSION 0.20130412
+ GOMP_loop_static_start@VERSION 0.20130412
+ GOMP_loop_ull_doacross_dynamic_start@VERSION 7
+ GOMP_loop_ull_doacross_guided_start@VERSION 7
+ GOMP_loop_ull_doacross_runtime_start@VERSION 7
+ GOMP_loop_ull_doacross_start@VERSION 13
+ GOMP_loop_ull_doacross_static_start@VERSION 7
+ GOMP_loop_ull_dynamic_next@VERSION 0.20130412
+ GOMP_loop_ull_dynamic_start@VERSION 0.20130412
+ GOMP_loop_ull_guided_next@VERSION 0.20130412
+ GOMP_loop_ull_guided_start@VERSION 0.20130412
+ GOMP_loop_ull_maybe_nonmonotonic_runtime_next@VERSION 11
+ GOMP_loop_ull_maybe_nonmonotonic_runtime_start@VERSION 11
+ GOMP_loop_ull_nonmonotonic_dynamic_next@VERSION 10
+ GOMP_loop_ull_nonmonotonic_dynamic_start@VERSION 10
+ GOMP_loop_ull_nonmonotonic_guided_next@VERSION 10
+ GOMP_loop_ull_nonmonotonic_guided_start@VERSION 10
+ GOMP_loop_ull_nonmonotonic_runtime_next@VERSION 11
+ GOMP_loop_ull_nonmonotonic_runtime_start@VERSION 11
+ GOMP_loop_ull_ordered_dynamic_next@VERSION 0.20130412
+ GOMP_loop_ull_ordered_dynamic_start@VERSION 0.20130412
+ GOMP_loop_ull_ordered_guided_next@VERSION 0.20130412
+ GOMP_loop_ull_ordered_guided_start@VERSION 0.20130412
+ GOMP_loop_ull_ordered_runtime_next@VERSION 0.20130412
+ GOMP_loop_ull_ordered_runtime_start@VERSION 0.20130412
+ GOMP_loop_ull_ordered_start@VERSION 13
+ GOMP_loop_ull_ordered_static_next@VERSION 0.20130412
+ GOMP_loop_ull_ordered_static_start@VERSION 0.20130412
+ GOMP_loop_ull_runtime_next@VERSION 0.20130412
+ GOMP_loop_ull_runtime_start@VERSION 0.20130412
+ GOMP_loop_ull_start@VERSION 13
+ GOMP_loop_ull_static_next@VERSION 0.20130412
+ GOMP_loop_ull_static_start@VERSION 0.20130412
+ GOMP_ordered_end@VERSION 0.20130412
+ GOMP_ordered_start@VERSION 0.20130412
+ GOMP_parallel@VERSION 0.20140926
+ GOMP_parallel_end@VERSION 0.20130412
+ GOMP_parallel_loop_dynamic@VERSION 0.20140926
+ GOMP_parallel_loop_dynamic_start@VERSION 0.20130412
+ GOMP_parallel_loop_guided@VERSION 0.20140926
+ GOMP_parallel_loop_guided_start@VERSION 0.20130412
+ GOMP_parallel_loop_maybe_nonmonotonic_runtime@VERSION 11
+ GOMP_parallel_loop_nonmonotonic_dynamic@VERSION 10
+ GOMP_parallel_loop_nonmonotonic_guided@VERSION 10
+ GOMP_parallel_loop_nonmonotonic_runtime@VERSION 11
+ GOMP_parallel_loop_runtime@VERSION 0.20140926
+ GOMP_parallel_loop_runtime_start@VERSION 0.20130412
+ GOMP_parallel_loop_static@VERSION 0.20140926
+ GOMP_parallel_loop_static_start@VERSION 0.20130412
+ GOMP_parallel_reductions@VERSION 13
+ GOMP_parallel_sections@VERSION 0.20140926
+ GOMP_parallel_sections_start@VERSION 0.20130412
+ GOMP_parallel_start@VERSION 0.20130412
+ GOMP_sections2_start@VERSION 13
+ GOMP_sections_end@VERSION 0.20130412
+ GOMP_sections_end_cancel@VERSION 0.20140926
+ GOMP_sections_end_nowait@VERSION 0.20130412
+ GOMP_sections_next@VERSION 0.20130412
+ GOMP_sections_start@VERSION 0.20130412
+ GOMP_single_copy_end@VERSION 0.20130412
+ GOMP_single_copy_start@VERSION 0.20130412
+ GOMP_single_start@VERSION 0.20130412
+ GOMP_target@VERSION 0.20140926
+ GOMP_target_data@VERSION 0.20140926
+ GOMP_target_end_data@VERSION 0.20140926
+ GOMP_target_update@VERSION 0.20140926
+ GOMP_task@VERSION 0.20130412
+ GOMP_task_reduction_remap@VERSION 13
+ GOMP_taskgroup_end@VERSION 0.20140926
+ GOMP_taskgroup_reduction_register@VERSION 13
+ GOMP_taskgroup_reduction_unregister@VERSION 13
+ GOMP_taskgroup_start@VERSION 0.20140926
+ GOMP_taskloop@VERSION 7
+ GOMP_taskloop_ull@VERSION 7
+ GOMP_taskwait@VERSION 0.20130412
+ GOMP_taskwait_depend@VERSION 12
+ GOMP_taskyield@VERSION 0.20131209
+ GOMP_teams@VERSION 0.20140926
+ GOMP_teams_reg@VERSION 12
+ GOMP_workshare_task_reduction_unregister@VERSION 13
+ ___kmp_allocate@VERSION 0.20130412
+ ___kmp_free@VERSION 0.20130412
+ __kmp_acquire_drdpa_lock@VERSION 0.20130715
+ __kmp_acquire_nested_drdpa_lock@VERSION 0.20130715
+ __kmp_acquire_nested_queuing_lock@VERSION 0.20130715
+ __kmp_acquire_nested_tas_lock@VERSION 0.20130715
+ __kmp_acquire_nested_ticket_lock@VERSION 0.20130715
+ __kmp_acquire_queuing_lock@VERSION 0.20130715
+ __kmp_acquire_tas_lock@VERSION 0.20130715
+ __kmp_acquire_ticket_lock@VERSION 0.20130715
+ __kmp_debugging@VERSION 17
+ __kmp_fork_call@VERSION 0.20130715
+ __kmp_get_reduce_method@VERSION 0.20130412
+ __kmp_invoke_microtask@VERSION 0.20130715
+ __kmp_itt_fini_ittlib@VERSION 0.20130715
+ __kmp_itt_init_ittlib@VERSION 0.20130715
+ __kmp_omp_debug_struct_info@VERSION 17
+ __kmp_reap_monitor@VERSION 17
+ __kmp_reap_worker@VERSION 0.20130715
+ __kmp_release_64@VERSION 0.20140926
+ __kmp_reset_stats@VERSION 17
+ __kmp_thread_pool@VERSION 0.20130412
+ __kmp_wait_4@VERSION 9
+ __kmp_wait_64@VERSION 0.20140926
+ __kmpc_aligned_alloc@VERSION 14
+ __kmpc_alloc@VERSION 8
+ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_10@VERSION 0.20130412
+ __kmpc_atomic_16@VERSION 0.20130412
+ __kmpc_atomic_1@VERSION 0.20130412
+ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_20@VERSION 0.20130412
+ __kmpc_atomic_2@VERSION 0.20130412
+ __kmpc_atomic_32@VERSION 0.20130412
+ __kmpc_atomic_4@VERSION 0.20130412
+ __kmpc_atomic_8@VERSION 0.20130412
+ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_bool_1_cas@VERSION 14
+ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_bool_1_cas_cpt@VERSION 14
+ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_bool_2_cas@VERSION 14
+ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_bool_2_cas_cpt@VERSION 14
+ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_bool_4_cas@VERSION 14
+ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_bool_4_cas_cpt@VERSION 14
+ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_bool_8_cas@VERSION 14
+ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_bool_8_cas_cpt@VERSION 14
+ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_cmplx10_add@VERSION 0.20130412
+ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_cmplx10_add_cpt@VERSION 0.20130412
+ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_cmplx10_div@VERSION 0.20130412
+ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_cmplx10_div_cpt@VERSION 0.20130412
+ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_cmplx10_div_cpt_rev@VERSION 0.20130412
+ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_cmplx10_div_rev@VERSION 0.20130412
+ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_cmplx10_mul@VERSION 0.20130412
+ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_cmplx10_mul_cpt@VERSION 0.20130412
+ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_cmplx10_rd@VERSION 0.20130412
+ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_cmplx10_sub@VERSION 0.20130412
+ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_cmplx10_sub_cpt@VERSION 0.20130412
+ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_cmplx10_sub_cpt_rev@VERSION 0.20130412
+ (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
+ __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
+ __kmpc_atomic_cmplx4_div@VERSION 0.20130412
+ __kmpc_atomic_cmplx4_div_cmplx8@VERSION 0.20130412
+ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_cmplx4_div_cpt@VERSION 0.20130412
+ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_cmplx4_div_cpt_rev@VERSION 0.20130412
+ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_cmplx4_div_rev@VERSION 0.20130412
+ __kmpc_atomic_cmplx4_mul@VERSION 0.20130412
+ __kmpc_atomic_cmplx4_mul_cmplx8@VERSION 0.20130412
+ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_cmplx4_mul_cpt@VERSION 0.20130412
+ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_cmplx4_rd@VERSION 0.20130412
+ __kmpc_atomic_cmplx4_sub@VERSION 0.20130412
+ __kmpc_atomic_cmplx4_sub_cmplx8@VERSION 0.20130412
+ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_cmplx4_sub_cpt@VERSION 0.20130412
+ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_cmplx4_sub_cpt_rev@VERSION 0.20130412
+ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_cmplx4_sub_rev@VERSION 0.20130412
+ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_cmplx4_swp@VERSION 0.20130412
+ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_cmplx4_wr@VERSION 0.20130412
+ __kmpc_atomic_cmplx8_add@VERSION 0.20130412
+ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_cmplx8_add_cpt@VERSION 0.20130412
+ __kmpc_atomic_cmplx8_div@VERSION 0.20130412
+ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_cmplx8_div_cpt@VERSION 0.20130412
+ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_cmplx8_div_cpt_rev@VERSION 0.20130412
+ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_cmplx8_div_rev@VERSION 0.20130412
+ __kmpc_atomic_cmplx8_mul@VERSION 0.20130412
+ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_cmplx8_mul_cpt@VERSION 0.20130412
+ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_cmplx8_rd@VERSION 0.20130412
+ __kmpc_atomic_cmplx8_sub@VERSION 0.20130412
+ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_cmplx8_sub_cpt@VERSION 0.20130412
+ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_cmplx8_sub_cpt_rev@VERSION 0.20130412
+ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_cmplx8_sub_rev@VERSION 0.20130412
+ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_cmplx8_swp@VERSION 0.20130412
+ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_cmplx8_wr@VERSION 0.20130412
+ (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
+ __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
+ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_fixed1_div_cpt_rev@VERSION 0.20130412
+ __kmpc_atomic_fixed1_div_float8@VERSION 0.20130412
+ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_fixed1_div_rev@VERSION 0.20130412
+ __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
+ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed1_max_cpt@VERSION 0.20130412
+ __kmpc_atomic_fixed1_min@VERSION 0.20130412
+ (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
+ __kmpc_atomic_fixed1_mul_float8@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
+ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed1_orb_cpt@VERSION 0.20130412
+ __kmpc_atomic_fixed1_orl@VERSION 0.20130412
+ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed1_orl_cpt@VERSION 0.20130412
+ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed1_rd@VERSION 0.20130412
+ __kmpc_atomic_fixed1_shl@VERSION 0.20130412
+ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed1_shl_cpt@VERSION 0.20130412
+ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_fixed1_shl_cpt_rev@VERSION 0.20130412
+ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_fixed1_shl_rev@VERSION 0.20130412
+ __kmpc_atomic_fixed1_shr@VERSION 0.20130412
+ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed1_shr_cpt@VERSION 0.20130412
+ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_fixed1_shr_cpt_rev@VERSION 0.20130412
+ (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
+ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_fixed1_sub_cpt_rev@VERSION 0.20130412
+ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_fixed1_sub_rev@VERSION 0.20130412
+ (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
+ __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
+ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_fixed1u_div_cpt_rev@VERSION 0.20130412
+ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_fixed1u_div_rev@VERSION 0.20130412
+ __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
+ __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
+ __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
+ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_fixed2_div_cpt_rev@VERSION 0.20130412
+ __kmpc_atomic_fixed2_div_float8@VERSION 0.20130412
+ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_fixed2_div_rev@VERSION 0.20130412
+ __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
+ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed2_max_cpt@VERSION 0.20130412
+ __kmpc_atomic_fixed2_min@VERSION 0.20130412
+ (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
+ __kmpc_atomic_fixed2_mul_float8@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
+ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed2_orb_cpt@VERSION 0.20130412
+ __kmpc_atomic_fixed2_orl@VERSION 0.20130412
+ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed2_orl_cpt@VERSION 0.20130412
+ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed2_rd@VERSION 0.20130412
+ __kmpc_atomic_fixed2_shl@VERSION 0.20130412
+ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed2_shl_cpt@VERSION 0.20130412
+ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_fixed2_shl_cpt_rev@VERSION 0.20130412
+ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_fixed2_shl_rev@VERSION 0.20130412
+ __kmpc_atomic_fixed2_shr@VERSION 0.20130412
+ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed2_shr_cpt@VERSION 0.20130412
+ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_fixed2_shr_cpt_rev@VERSION 0.20130412
+ (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
+ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_fixed2_sub_cpt_rev@VERSION 0.20130412
+ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_fixed2_sub_rev@VERSION 0.20130412
+ (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
+ __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
+ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_fixed2u_div_cpt_rev@VERSION 0.20130412
+ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_fixed2u_div_rev@VERSION 0.20130412
+ __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
+ __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
+ __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
+ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_fixed4_div_cpt_rev@VERSION 0.20130412
+ __kmpc_atomic_fixed4_div_float8@VERSION 0.20130412
+ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_fixed4_div_rev@VERSION 0.20130412
+ __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
+ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed4_max_cpt@VERSION 0.20130412
+ __kmpc_atomic_fixed4_min@VERSION 0.20130412
+ (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
+ __kmpc_atomic_fixed4_mul_float8@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
+ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed4_orb_cpt@VERSION 0.20130412
+ __kmpc_atomic_fixed4_orl@VERSION 0.20130412
+ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed4_orl_cpt@VERSION 0.20130412
+ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed4_rd@VERSION 0.20130412
+ __kmpc_atomic_fixed4_shl@VERSION 0.20130412
+ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed4_shl_cpt@VERSION 0.20130412
+ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_fixed4_shl_cpt_rev@VERSION 0.20130412
+ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_fixed4_shl_rev@VERSION 0.20130412
+ __kmpc_atomic_fixed4_shr@VERSION 0.20130412
+ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed4_shr_cpt@VERSION 0.20130412
+ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_fixed4_shr_cpt_rev@VERSION 0.20130412
+ (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
+ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_fixed4_sub_cpt_rev@VERSION 0.20130412
+ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_fixed4_sub_rev@VERSION 0.20130412
+ (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
+ (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
+ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_fixed4u_div_cpt_rev@VERSION 0.20130412
+ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_fixed4u_div_rev@VERSION 0.20130412
+ __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
+ (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
+ __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
+ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_fixed8_div_cpt_rev@VERSION 0.20130412
+ __kmpc_atomic_fixed8_div_float8@VERSION 0.20130412
+ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_fixed8_div_rev@VERSION 0.20130412
+ __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
+ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed8_max_cpt@VERSION 0.20130412
+ __kmpc_atomic_fixed8_min@VERSION 0.20130412
+ (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
+ __kmpc_atomic_fixed8_mul_float8@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
+ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed8_orb_cpt@VERSION 0.20130412
+ __kmpc_atomic_fixed8_orl@VERSION 0.20130412
+ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed8_orl_cpt@VERSION 0.20130412
+ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed8_rd@VERSION 0.20130412
+ __kmpc_atomic_fixed8_shl@VERSION 0.20130412
+ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed8_shl_cpt@VERSION 0.20130412
+ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_fixed8_shl_cpt_rev@VERSION 0.20130412
+ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_fixed8_shl_rev@VERSION 0.20130412
+ __kmpc_atomic_fixed8_shr@VERSION 0.20130412
+ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed8_shr_cpt@VERSION 0.20130412
+ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_fixed8_shr_cpt_rev@VERSION 0.20130412
+ (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
+ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_fixed8_sub_cpt_rev@VERSION 0.20130412
+ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_fixed8_sub_rev@VERSION 0.20130412
+ (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
+ __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
+ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_fixed8u_div_cpt_rev@VERSION 0.20130412
+ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_fixed8u_div_rev@VERSION 0.20130412
+ __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
+ (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
+ (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
+ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_float10_div_cpt_rev@VERSION 0.20130412
+ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_float10_div_rev@VERSION 0.20130412
+ (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
+ (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
+ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_float10_sub_cpt_rev@VERSION 0.20130412
+ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_float10_sub_rev@VERSION 0.20130412
+ (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
+ __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
+ (arch=!ppc64 !ppc64el)__kmpc_atomic_float4_add_float8@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
+ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_float4_div_cpt_rev@VERSION 0.20130412
+ __kmpc_atomic_float4_div_float8@VERSION 0.20130412
+ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_float4_div_rev@VERSION 0.20130412
+ __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
+ __kmpc_atomic_float4_mul_float8@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
+ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_float4_sub_cpt_rev@VERSION 0.20130412
+ __kmpc_atomic_float4_sub_float8@VERSION 0.20130412
+ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_float4_sub_rev@VERSION 0.20130412
+ (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
+ __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
+ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_float8_div_cpt_rev@VERSION 0.20130412
+ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_float8_div_rev@VERSION 0.20130412
+ __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
+ (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
+ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_float8_sub_cpt_rev@VERSION 0.20130412
+ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_float8_sub_rev@VERSION 0.20130412
+ (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
+ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_val_1_cas@VERSION 14
+ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_val_1_cas_cpt@VERSION 14
+ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_val_2_cas@VERSION 14
+ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_val_2_cas_cpt@VERSION 14
+ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_val_4_cas@VERSION 14
+ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_val_4_cas_cpt@VERSION 14
+ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_val_8_cas@VERSION 14
+ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_val_8_cas_cpt@VERSION 14
+ __kmpc_barrier@VERSION 0.20130412
+ __kmpc_barrier_master@VERSION 0.20130412
+ __kmpc_barrier_master_nowait@VERSION 0.20130412
+ __kmpc_begin@VERSION 0.20130412
+ __kmpc_bound_num_threads@VERSION 0.20130412
+ __kmpc_bound_thread_num@VERSION 0.20130412
+ __kmpc_calc_original_ivs_rectang@VERSION 17
+ __kmpc_calloc@VERSION 12
+ __kmpc_cancel@VERSION 0.20131209
+ __kmpc_cancel_barrier@VERSION 0.20131209
+ __kmpc_cancellationpoint@VERSION 0.20131209
+ __kmpc_copyprivate@VERSION 0.20130412
+ __kmpc_copyprivate_light@VERSION 17
+ __kmpc_critical@VERSION 0.20130412
+ __kmpc_critical_with_hint@VERSION 3.8.0
+ __kmpc_destroy_allocator@VERSION 9
+ __kmpc_destroy_lock@VERSION 0.20130412
+ __kmpc_destroy_nest_lock@VERSION 0.20130412
+ __kmpc_dispatch_deinit@VERSION 1:19.1.6
+ __kmpc_dispatch_fini_4@VERSION 0.20130412
+ __kmpc_dispatch_fini_4u@VERSION 0.20130412
+ __kmpc_dispatch_fini_8@VERSION 0.20130412
+ __kmpc_dispatch_fini_8u@VERSION 0.20130412
+ __kmpc_dispatch_init_4@VERSION 0.20130412
+ __kmpc_dispatch_init_4u@VERSION 0.20130412
+ __kmpc_dispatch_init_8@VERSION 0.20130412
+ __kmpc_dispatch_init_8u@VERSION 0.20130412
+ __kmpc_dispatch_next_4@VERSION 0.20130412
+ __kmpc_dispatch_next_4u@VERSION 0.20130412
+ __kmpc_dispatch_next_8@VERSION 0.20130412
+ __kmpc_dispatch_next_8u@VERSION 0.20130412
+ __kmpc_dist_dispatch_init_4@VERSION 0.20140926
+ __kmpc_dist_dispatch_init_4u@VERSION 0.20140926
+ __kmpc_dist_dispatch_init_8@VERSION 0.20140926
+ __kmpc_dist_dispatch_init_8u@VERSION 0.20140926
+ __kmpc_dist_for_static_init_4@VERSION 0.20140926
+ __kmpc_dist_for_static_init_4u@VERSION 0.20140926
+ __kmpc_dist_for_static_init_8@VERSION 0.20140926
+ __kmpc_dist_for_static_init_8u@VERSION 0.20140926
+ __kmpc_doacross_fini@VERSION 3.9.0
+ __kmpc_doacross_init@VERSION 3.9.0
+ __kmpc_doacross_post@VERSION 3.9.0
+ __kmpc_doacross_wait@VERSION 3.9.0
+ __kmpc_end@VERSION 0.20130412
+ __kmpc_end_barrier_master@VERSION 0.20130412
+ __kmpc_end_critical@VERSION 0.20130412
+ __kmpc_end_masked@VERSION 13
+ __kmpc_end_master@VERSION 0.20130412
+ __kmpc_end_ordered@VERSION 0.20130412
+ __kmpc_end_reduce@VERSION 0.20130412
+ __kmpc_end_reduce_nowait@VERSION 0.20130412
+ __kmpc_end_scope@VERSION 14
+ __kmpc_end_sections@VERSION 17
+ __kmpc_end_serialized_parallel@VERSION 0.20130412
+ __kmpc_end_single@VERSION 0.20130412
+ __kmpc_end_taskgroup@VERSION 0.20130412
+ __kmpc_error@VERSION 13
+ __kmpc_flush@VERSION 0.20130412
+ __kmpc_for_collapsed_init@VERSION 17
+ __kmpc_for_static_fini@VERSION 0.20130412
+ __kmpc_for_static_init_4@VERSION 0.20130412
+ __kmpc_for_static_init_4u@VERSION 0.20130412
+ __kmpc_for_static_init_8@VERSION 0.20130412
+ __kmpc_for_static_init_8u@VERSION 0.20130412
+ __kmpc_fork_call@VERSION 0.20130412
+ __kmpc_fork_call_if@VERSION 17
+ __kmpc_fork_teams@VERSION 0.20130715
+ __kmpc_free@VERSION 8
+ __kmpc_get_default_allocator@VERSION 8
+ __kmpc_get_parent_taskid@VERSION 0.20130412
+ __kmpc_get_target_offload@VERSION 7
+ __kmpc_get_taskid@VERSION 0.20130412
+ __kmpc_global_num_threads@VERSION 0.20130412
+ __kmpc_push_num_threads_list@VERSION 1:19.1.6
+ __kmpc_push_num_threads_list_strict@VERSION 1:19.1.6
+ __kmpc_push_num_threads_strict@VERSION 1:19.1.6
+ __kmpc_global_thread_num@VERSION 0.20130412
+ __kmpc_in_parallel@VERSION 0.20130412
+ __kmpc_init_allocator@VERSION 9
+ __kmpc_init_lock@VERSION 0.20130412
+ __kmpc_init_lock_with_hint@VERSION 3.8.0
+ __kmpc_init_nest_lock@VERSION 0.20130412
+ __kmpc_init_nest_lock_with_hint@VERSION 3.8.0
+ __kmpc_invoke_task_func@VERSION 0.20130412
+ __kmpc_masked@VERSION 13
+ __kmpc_master@VERSION 0.20130412
+ __kmpc_next_section@VERSION 17
+ __kmpc_ok_to_fork@VERSION 0.20130412
+ __kmpc_omp_get_target_async_handle_ptr@VERSION 17
+ __kmpc_omp_has_task_team@VERSION 17
+ __kmpc_omp_reg_task_with_affinity@VERSION 8
+ __kmpc_omp_target_task_alloc@VERSION 9
+ __kmpc_omp_task@VERSION 0.20130412
+ __kmpc_omp_task_alloc@VERSION 0.20130412
+ __kmpc_omp_task_begin_if0@VERSION 0.20130412
+ __kmpc_omp_task_complete_if0@VERSION 0.20130412
+ __kmpc_omp_task_parts@VERSION 0.20130412
+ __kmpc_omp_task_with_deps@VERSION 0.20130912
+ __kmpc_omp_taskwait@VERSION 0.20130412
+ __kmpc_omp_taskwait_deps_51@VERSION 17
+ __kmpc_omp_taskyield@VERSION 0.20130412
+ __kmpc_omp_wait_deps@VERSION 0.20130912
+ __kmpc_ordered@VERSION 0.20130412
+ __kmpc_pause_resource@VERSION 9
+ __kmpc_pop_num_threads@VERSION 0.20130412
+ __kmpc_process_loop_nest_rectang@VERSION 17
+ __kmpc_proxy_task_completed@VERSION 0.20150401
+ __kmpc_proxy_task_completed_ooo@VERSION 0.20150401
+ __kmpc_push_num_teams@VERSION 0.20130715
+ __kmpc_push_num_teams_51@VERSION 13
+ __kmpc_push_num_threads@VERSION 0.20130412
+ __kmpc_push_proc_bind@VERSION 0.20130412
+ __kmpc_realloc@VERSION 12
+ __kmpc_reduce@VERSION 0.20130412
+ __kmpc_reduce_nowait@VERSION 0.20130412
+ __kmpc_scope@VERSION 14
+ __kmpc_sections_init@VERSION 17
+ __kmpc_serialized_parallel@VERSION 0.20130412
+ __kmpc_set_default_allocator@VERSION 8
+ __kmpc_set_lock@VERSION 0.20130412
+ __kmpc_set_nest_lock@VERSION 0.20130412
+ __kmpc_set_thread_limit@VERSION 18
+ __kmpc_single@VERSION 0.20130412
+ __kmpc_task_allow_completion_event@VERSION 9
+ __kmpc_task_get_depnode@VERSION 18
+ __kmpc_task_get_successors@VERSION 18
+ __kmpc_task_reduction_get_th_data@VERSION 5.0
+ __kmpc_task_reduction_init@VERSION 5.0
+ __kmpc_task_reduction_modifier_fini@VERSION 9
+ __kmpc_task_reduction_modifier_init@VERSION 9
+ __kmpc_taskgroup@VERSION 0.20130412
+ __kmpc_taskloop@VERSION 3.9.0
+ __kmpc_taskloop_5@VERSION 12
+ __kmpc_taskred_init@VERSION 9
+ __kmpc_taskred_modifier_init@VERSION 9
+ __kmpc_team_static_init_4@VERSION 0.20140926
+ __kmpc_team_static_init_4u@VERSION 0.20140926
+ __kmpc_team_static_init_8@VERSION 0.20140926
+ __kmpc_team_static_init_8u@VERSION 0.20140926
+ __kmpc_test_lock@VERSION 0.20130412
+ __kmpc_test_nest_lock@VERSION 0.20130412
+ __kmpc_threadprivate@VERSION 0.20130412
+ __kmpc_threadprivate_cached@VERSION 0.20130412
+ __kmpc_threadprivate_register@VERSION 0.20130412
+ __kmpc_threadprivate_register_vec@VERSION 0.20130412
+ __kmpc_unset_lock@VERSION 0.20130412
+ __kmpc_unset_nest_lock@VERSION 0.20130412
+ kmp_a_debug@VERSION 7
+ kmp_aligned_malloc@VERSION 3.9.0
+ kmp_aligned_malloc_@VERSION 3.9.0
+ kmp_b_debug@VERSION 7
+ kmp_c_debug@VERSION 7
+ kmp_calloc@VERSION 0.20130412
+ kmp_calloc_@VERSION 0.20130412
+ kmp_create_affinity_mask@VERSION 0.20130412
+ kmp_create_affinity_mask_@VERSION 0.20130412
+ kmp_d_debug@VERSION 7
+ kmp_destroy_affinity_mask@VERSION 0.20130412
+ kmp_destroy_affinity_mask_@VERSION 0.20130412
+ kmp_diag@VERSION 7
+ kmp_e_debug@VERSION 7
+ kmp_f_debug@VERSION 7
+ kmp_free@VERSION 0.20130412
+ kmp_free_@VERSION 0.20130412
+ kmp_get_affinity@VERSION 0.20130412
+ kmp_get_affinity_@VERSION 0.20130412
+ kmp_get_affinity_mask_proc@VERSION 0.20130412
+ kmp_get_affinity_mask_proc_@VERSION 0.20130412
+ kmp_get_affinity_max_proc@VERSION 0.20130412
+ kmp_get_affinity_max_proc_@VERSION 0.20130412
+ kmp_get_blocktime@VERSION 0.20130412
+ kmp_get_blocktime_@VERSION 0.20130412
+ kmp_get_cancellation_status@VERSION 0.20131209
+ kmp_get_cancellation_status_@VERSION 0.20131209
+ kmp_get_library@VERSION 0.20130412
+ kmp_get_library_@VERSION 0.20130412
+ kmp_get_num_known_threads@VERSION 0.20130412
+ kmp_get_num_known_threads_@VERSION 0.20130412
+ kmp_get_stacksize@VERSION 0.20130412
+ kmp_get_stacksize_@VERSION 0.20130412
+ kmp_get_stacksize_s@VERSION 0.20130412
+ kmp_get_stacksize_s_@VERSION 0.20130412
+ kmp_malloc@VERSION 0.20130412
+ kmp_malloc_@VERSION 0.20130412
+ kmp_max_mem_alloc@VERSION 9
+ (arch=!armhf !mips64el)kmp_mutex_impl_info@VERSION 7
+ kmp_realloc@VERSION 0.20130412
+ kmp_realloc_@VERSION 0.20130412
+ kmp_set_affinity@VERSION 0.20130412
+ kmp_set_affinity_@VERSION 0.20130412
+ kmp_set_affinity_mask_proc@VERSION 0.20130412
+ kmp_set_affinity_mask_proc_@VERSION 0.20130412
+ kmp_set_blocktime@VERSION 0.20130412
+ kmp_set_blocktime_@VERSION 0.20130412
+ kmp_set_defaults@VERSION 0.20130412
+ kmp_set_defaults_@VERSION 0.20130412
+ kmp_set_disp_num_buffers@VERSION 3.9.0
+ kmp_set_disp_num_buffers_@VERSION 3.9.0
+ kmp_set_library@VERSION 0.20130412
+ kmp_set_library_@VERSION 0.20130412
+ kmp_set_library_serial@VERSION 0.20130412
+ kmp_set_library_serial_@VERSION 0.20130412
+ kmp_set_library_throughput@VERSION 0.20130412
+ kmp_set_library_throughput_@VERSION 0.20130412
+ kmp_set_library_turnaround@VERSION 0.20130412
+ kmp_set_library_turnaround_@VERSION 0.20130412
+ kmp_set_stacksize@VERSION 0.20130412
+ kmp_set_stacksize_@VERSION 0.20130412
+ kmp_set_stacksize_s@VERSION 0.20130412
+ kmp_set_stacksize_s_@VERSION 0.20130412
+ (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
+ kmp_set_warnings_on_@VERSION 0.20130412
+ kmp_threadprivate_insert@VERSION 0.20130412
+ kmp_threadprivate_insert_private_data@VERSION 0.20130412
+ kmp_unset_affinity_mask_proc@VERSION 0.20130412
+ kmp_unset_affinity_mask_proc_@VERSION 0.20130412
+ kmpc_aligned_malloc@VERSION 3.9.0
+ kmpc_calloc@VERSION 0.20130412
+ kmpc_free@VERSION 0.20130412
+ kmpc_get_affinity_mask_proc@VERSION 0.20130412
+ kmpc_malloc@VERSION 0.20130412
+ kmpc_realloc@VERSION 0.20130412
+ kmpc_set_affinity_mask_proc@VERSION 0.20130412
+ kmpc_set_blocktime@VERSION 0.20130412
+ kmpc_set_defaults@VERSION 0.20130412
+ kmpc_set_disp_num_buffers@VERSION 3.9.0
+ kmpc_set_library@VERSION 0.20130412
+ kmpc_set_stacksize@VERSION 0.20130412
+ kmpc_set_stacksize_s@VERSION 0.20130412
+ kmpc_unset_affinity_mask_proc@VERSION 0.20130412
+ omp_aligned_alloc@VERSION 14
+ omp_aligned_calloc@VERSION 14
+ omp_alloc@VERSION 8
+ omp_calloc@VERSION 12
+ omp_capture_affinity@VERSION 8
+ omp_capture_affinity_@VERSION 8
+ omp_cgroup_mem_alloc@VERSION 8
+ omp_const_mem_alloc@VERSION 8
+ omp_const_mem_space@VERSION 9
+ omp_control_tool@VERSION 6.0
+ omp_control_tool_@VERSION 8
+ omp_default_mem_alloc@VERSION 8
+ omp_default_mem_space@VERSION 9
+ omp_destroy_allocator@VERSION 9
+ omp_destroy_allocator_@VERSION 9
+ omp_destroy_lock@VERSION 0.20130412
+ omp_destroy_lock_@VERSION 0.20130412
+ omp_destroy_nest_lock@VERSION 0.20130412
+ omp_destroy_nest_lock_@VERSION 0.20130412
+ omp_display_affinity@VERSION 8
+ omp_display_affinity_@VERSION 8
+ omp_display_env@VERSION 11
+ omp_display_env_@VERSION 11
+ omp_free@VERSION 8
+ omp_fulfill_event@VERSION 9
+ omp_fulfill_event_@VERSION 9
+ omp_get_active_level@VERSION 0.20130412
+ omp_get_active_level_@VERSION 0.20130412
+ omp_get_affinity_format@VERSION 8
+ omp_get_affinity_format_@VERSION 8
+ omp_get_ancestor_thread_num@VERSION 0.20130412
+ omp_get_ancestor_thread_num_@VERSION 0.20130412
+ omp_get_cancellation@VERSION 0.20131209
+ omp_get_cancellation_@VERSION 0.20131209
+ omp_get_default_allocator@VERSION 8
+ omp_get_default_allocator_@VERSION 8
+ omp_get_default_device@VERSION 4.0
+ omp_get_default_device_@VERSION 4.0
+ omp_get_device_num@VERSION 8
+ omp_get_device_num_@VERSION 8
+ omp_get_dynamic@VERSION 0.20130412
+ omp_get_dynamic_@VERSION 0.20130412
+ omp_get_initial_device@VERSION 8
+ omp_get_initial_device_@VERSION 8
+ omp_get_interop_int@VERSION 17
+ omp_get_interop_int_@VERSION 17
+ omp_get_interop_name@VERSION 17
+ omp_get_interop_name_@VERSION 17
+ omp_get_interop_ptr@VERSION 17
+ omp_get_interop_ptr_@VERSION 17
+ omp_get_interop_rc_desc@VERSION 17
+ omp_get_interop_rc_desc_@VERSION 17
+ omp_get_interop_str@VERSION 17
+ omp_get_interop_str_@VERSION 17
+ omp_get_interop_type_desc@VERSION 17
+ omp_get_interop_type_desc_@VERSION 17
+ omp_get_level@VERSION 0.20130412
+ omp_get_level_@VERSION 0.20130412
+ omp_get_max_active_levels@VERSION 0.20130412
+ omp_get_max_active_levels_@VERSION 0.20130412
+ omp_get_max_task_priority@VERSION 3.9.0
+ omp_get_max_task_priority_@VERSION 3.9.0
+ omp_get_max_teams@VERSION 13
+ omp_get_max_teams_@VERSION 13
+ omp_get_max_threads@VERSION 0.20130412
+ omp_get_max_threads_@VERSION 0.20130412
+ omp_get_nested@VERSION 0.20130412
+ omp_get_nested_@VERSION 0.20130412
+ omp_get_num_devices@VERSION 8
+ omp_get_num_devices_@VERSION 8
+ omp_get_num_interop_properties@VERSION 17
+ omp_get_num_interop_properties_@VERSION 17
+ omp_get_num_places@VERSION 3.9.0
+ omp_get_num_places_@VERSION 3.9.0
+ omp_get_num_procs@VERSION 0.20130412
+ omp_get_num_procs_@VERSION 0.20130412
+ omp_get_num_teams@VERSION 0.20130715
+ omp_get_num_teams_@VERSION 0.20130715
+ omp_get_num_threads@VERSION 0.20130412
+ omp_get_num_threads_@VERSION 0.20130412
+ omp_get_partition_num_places@VERSION 3.9.0
+ omp_get_partition_num_places_@VERSION 3.9.0
+ omp_get_partition_place_nums@VERSION 3.9.0
+ omp_get_partition_place_nums_@VERSION 3.9.0
+ omp_get_place_num@VERSION 3.9.0
+ omp_get_place_num_@VERSION 3.9.0
+ omp_get_place_num_procs@VERSION 3.9.0
+ omp_get_place_num_procs_@VERSION 3.9.0
+ omp_get_place_proc_ids@VERSION 3.9.0
+ omp_get_place_proc_ids_@VERSION 3.9.0
+ omp_get_proc_bind@VERSION 0.20130412
+ omp_get_proc_bind_@VERSION 0.20130412
+ omp_get_schedule@VERSION 0.20130412
+ omp_get_schedule_@VERSION 0.20130412
+ omp_get_supported_active_levels@VERSION 9
+ omp_get_supported_active_levels_@VERSION 9
+ omp_get_team_num@VERSION 0.20130715
+ omp_get_team_num_@VERSION 0.20130715
+ omp_get_team_size@VERSION 0.20130412
+ omp_get_team_size_@VERSION 0.20130412
+ omp_get_teams_thread_limit@VERSION 13
+ omp_get_teams_thread_limit_@VERSION 13
+ omp_get_thread_limit@VERSION 0.20130412
+ omp_get_thread_limit_@VERSION 0.20130412
+ omp_get_thread_num@VERSION 0.20130412
+ omp_get_thread_num_@VERSION 0.20130412
+ omp_get_wtick@VERSION 0.20130412
+ omp_get_wtick_@VERSION 0.20130412
+ omp_get_wtime@VERSION 0.20130412
+ omp_get_wtime_@VERSION 0.20130412
+ omp_high_bw_mem_alloc@VERSION 8
+ omp_high_bw_mem_space@VERSION 9
+ omp_in_explicit_task@VERSION 17
+ omp_in_explicit_task_@VERSION 17
+ omp_in_final@VERSION 0.20130412
+ omp_in_final_@VERSION 0.20130412
+ omp_in_parallel@VERSION 0.20130412
+ omp_in_parallel_@VERSION 0.20130412
+ omp_init_allocator@VERSION 9
+ omp_init_allocator_@VERSION 9
+ omp_init_lock@VERSION 0.20130412
+ omp_init_lock_@VERSION 0.20130412
+ omp_init_lock_with_hint@VERSION 3.8.0
+ omp_init_lock_with_hint_@VERSION 3.8.0
+ omp_init_nest_lock@VERSION 0.20130412
+ omp_init_nest_lock_@VERSION 0.20130412
+ omp_init_nest_lock_with_hint@VERSION 3.8.0
+ omp_init_nest_lock_with_hint_@VERSION 3.8.0
+ omp_is_initial_device@VERSION 0.20141212
+ omp_is_initial_device_@VERSION 0.20141212
+ omp_large_cap_mem_alloc@VERSION 8
+ omp_large_cap_mem_space@VERSION 9
+ omp_low_lat_mem_alloc@VERSION 8
+ omp_low_lat_mem_space@VERSION 9
+ omp_null_allocator@VERSION 9
+ omp_pause_resource@VERSION 9
+ omp_pause_resource_@VERSION 9
+ omp_pause_resource_all@VERSION 9
+ omp_pause_resource_all_@VERSION 9
+ omp_pteam_mem_alloc@VERSION 8
+ omp_realloc@VERSION 12
+ omp_set_affinity_format@VERSION 8
+ omp_set_affinity_format_@VERSION 8
+ omp_set_default_allocator@VERSION 8
+ omp_set_default_allocator_@VERSION 8
+ omp_set_default_device@VERSION 4.0
+ omp_set_default_device_@VERSION 4.0
+ omp_set_dynamic@VERSION 0.20130412
+ omp_set_dynamic_@VERSION 0.20130412
+ omp_set_lock@VERSION 0.20130412
+ omp_set_lock_@VERSION 0.20130412
+ omp_set_max_active_levels@VERSION 0.20130412
+ omp_set_max_active_levels_@VERSION 0.20130412
+ omp_set_nest_lock@VERSION 0.20130412
+ omp_set_nest_lock_@VERSION 0.20130412
+ omp_set_nested@VERSION 0.20130412
+ omp_set_nested_@VERSION 0.20130412
+ omp_set_num_teams@VERSION 13
+ omp_set_num_teams_@VERSION 13
+ omp_set_num_threads@VERSION 0.20130412
+ omp_set_num_threads_@VERSION 0.20130412
+ omp_set_schedule@VERSION 0.20130412
+ omp_set_schedule_@VERSION 0.20130412
+ omp_set_teams_thread_limit@VERSION 13
+ omp_set_teams_thread_limit_@VERSION 13
+ omp_test_lock@VERSION 0.20130412
+ omp_test_lock_@VERSION 0.20130412
+ omp_test_nest_lock@VERSION 0.20130412
+ omp_test_nest_lock_@VERSION 0.20130412
+ omp_thread_mem_alloc@VERSION 8
+ omp_unset_lock@VERSION 0.20130412
+ omp_unset_lock_@VERSION 0.20130412
+ omp_unset_nest_lock@VERSION 0.20130412
+ omp_unset_nest_lock_@VERSION 0.20130412
+ ompc_capture_affinity@VERSION 8
+ ompc_display_affinity@VERSION 8
+ ompc_get_affinity_format@VERSION 8
+ ompc_get_ancestor_thread_num@VERSION 0.20130412
+ ompc_get_team_size@VERSION 0.20130412
+ ompc_set_affinity_format@VERSION 8
+ ompc_set_dynamic@VERSION 0.20130412
+ ompc_set_max_active_levels@VERSION 0.20130412
+ ompc_set_nested@VERSION 0.20130412
+ ompc_set_num_threads@VERSION 0.20130412
+ 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.so.19.1 #PACKAGE# #MINVER#
+ (symver)VERS1.0 1:19
diff --git a/libpolly-X.Y-dev.install.in b/libpolly-X.Y-dev.install.in
new file mode 100755 (executable)
index 0000000..422fb4a
--- /dev/null
@@ -0,0 +1,3 @@
+#!/usr/bin/dh-exec
+
+[!powerpc] usr/lib/llvm-@LLVM_VERSION@/lib/libPolly*.a
diff --git a/libpolly-X.Y-dev.lintian-overrides.in b/libpolly-X.Y-dev.lintian-overrides.in
new file mode 100644 (file)
index 0000000..0e12e15
--- /dev/null
@@ -0,0 +1 @@
+libpolly-@LLVM_VERSION@-dev: arch-dependent-file-not-in-arch-specific-directory *usr/lib/llvm-@LLVM_VERSION@/lib/libPolly*.a*
diff --git a/libunwind-X.Y-dev.install.in b/libunwind-X.Y-dev.install.in
new file mode 100644 (file)
index 0000000..f22f67f
--- /dev/null
@@ -0,0 +1,5 @@
+usr/lib/llvm-@LLVM_VERSION@/lib/libunwind.so
+usr/lib/llvm-@LLVM_VERSION@/lib/libunwind.a
+usr/include/libunwind
+usr/lib/llvm-@LLVM_VERSION@/include/*unwind*
+usr/lib/llvm-@LLVM_VERSION@/include/mach-o/
diff --git a/libunwind-X.Y-dev.links.in b/libunwind-X.Y-dev.links.in
new file mode 100644 (file)
index 0000000..d6d6103
--- /dev/null
@@ -0,0 +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
diff --git a/libunwind-X.Y-dev.lintian-overrides.in b/libunwind-X.Y-dev.lintian-overrides.in
new file mode 100644 (file)
index 0000000..b123b37
--- /dev/null
@@ -0,0 +1 @@
+libunwind-@LLVM_VERSION@-dev: arch-dependent-file-not-in-arch-specific-directory *usr/lib/llvm-@LLVM_VERSION@/lib/libunwind.a*
diff --git a/libunwind-X.Y.install.in b/libunwind-X.Y.install.in
new file mode 100644 (file)
index 0000000..e26306e
--- /dev/null
@@ -0,0 +1 @@
+usr/lib/llvm-@LLVM_VERSION@/lib/libunwind.so.*
diff --git a/libunwind-X.Y.links.in b/libunwind-X.Y.links.in
new file mode 100644 (file)
index 0000000..2c8a964
--- /dev/null
@@ -0,0 +1,2 @@
+usr/lib/llvm-@LLVM_VERSION@/lib/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/libunwind-X.Y.lintian-overrides.in b/libunwind-X.Y.lintian-overrides.in
new file mode 100644 (file)
index 0000000..6cb7422
--- /dev/null
@@ -0,0 +1 @@
+libunwind-@LLVM_VERSION@: arch-dependent-file-not-in-arch-specific-directory *usr/lib/llvm-@LLVM_VERSION@/lib/libunwind.so.1.0*
diff --git a/lld-X.Y.install.in b/lld-X.Y.install.in
new file mode 100644 (file)
index 0000000..90e3a8c
--- /dev/null
@@ -0,0 +1,12 @@
+usr/lib/llvm-@LLVM_VERSION@/bin/ld.lld*
+usr/lib/llvm-@LLVM_VERSION@/bin/ld64.lld*
+usr/lib/llvm-@LLVM_VERSION@/bin/lld-*
+usr/lib/llvm-@LLVM_VERSION@/bin/lld
+usr/lib/llvm-@LLVM_VERSION@/bin/wasm-ld
+
+
+usr/bin/lld-link-@LLVM_VERSION@
+usr/bin/ld.lld-@LLVM_VERSION@
+usr/bin/ld64.lld*-@LLVM_VERSION@
+usr/bin/lld-@LLVM_VERSION@*
+usr/bin/wasm-ld-@LLVM_VERSION@
diff --git a/lld-X.Y.manpages.in b/lld-X.Y.manpages.in
new file mode 100644 (file)
index 0000000..6cfafea
--- /dev/null
@@ -0,0 +1 @@
+lld/docs/ld.lld-@LLVM_VERSION@.1
diff --git a/lldb-X.Y.install.in b/lldb-X.Y.install.in
new file mode 100644 (file)
index 0000000..2a8b415
--- /dev/null
@@ -0,0 +1,9 @@
+usr/lib/llvm-@LLVM_VERSION@/bin/lldb*
+usr/lib/llvm-@LLVM_VERSION@/bin/lldb-server*
+usr/lib/llvm-@LLVM_VERSION@/bin/lldb-argdumper
+
+usr/bin/lldb-@LLVM_VERSION@*
+usr/bin/lldb-server-@LLVM_VERSION@*
+usr/bin/lldb-argdumper-@LLVM_VERSION@
+usr/bin/lldb-dap-@LLVM_VERSION@
+usr/bin/lldb-instr-@LLVM_VERSION@
diff --git a/lldb-X.Y.links.in b/lldb-X.Y.links.in
new file mode 100644 (file)
index 0000000..d30a5f6
--- /dev/null
@@ -0,0 +1,2 @@
+usr/lib/llvm-@LLVM_VERSION@/bin/lldb-server usr/lib/llvm-@LLVM_VERSION@/bin/lldb-server-@LLVM_VERSION_FULL@
+usr/lib/llvm-@LLVM_VERSION@/bin/lldb-server usr/lib/llvm-@LLVM_VERSION@/bin/lldb-server-@LLVM_VERSION@
diff --git a/lldb-X.Y.lintian-overrides.in b/lldb-X.Y.lintian-overrides.in
new file mode 100644 (file)
index 0000000..1c6fc86
--- /dev/null
@@ -0,0 +1,3 @@
+lldb-@LLVM_VERSION@: non-dev-pkg-with-shlib-symlink usr/lib/*/liblldb.so.1 usr/lib/*/liblldb.so
+# Does not really matter
+lldb-@LLVM_VERSION@: manpage-has-useless-whatis-entry *usr/share/man/man1/lldb-@LLVM_VERSION@.1.gz*
diff --git a/lldb-X.Y.manpages.in b/lldb-X.Y.manpages.in
new file mode 100644 (file)
index 0000000..3752407
--- /dev/null
@@ -0,0 +1 @@
+debian/man/lldb-@LLVM_VERSION@.1
diff --git a/lldb-X.Y.postinst.in b/lldb-X.Y.postinst.in
new file mode 100755 (executable)
index 0000000..a5a6071
--- /dev/null
@@ -0,0 +1,8 @@
+#!/bin/sh -e
+
+if [ "$1" = "configure" ]
+then
+        ldconfig
+fi
+
+#DEBHELPER#
diff --git a/llvm-X.Y-dev.dirs.in b/llvm-X.Y-dev.dirs.in
new file mode 100644 (file)
index 0000000..3b3b586
--- /dev/null
@@ -0,0 +1,5 @@
+/usr/lib/llvm-@LLVM_VERSION@/lib
+/usr/lib/llvm-@LLVM_VERSION@/build
+/usr/lib/llvm-@LLVM_VERSION@/include
+usr/share/doc/llvm-@LLVM_VERSION@-dev
+usr/share/emacs/site-lisp/llvm-@LLVM_VERSION@
diff --git a/llvm-X.Y-dev.install.in b/llvm-X.Y-dev.install.in
new file mode 100755 (executable)
index 0000000..d5c7a3c
--- /dev/null
@@ -0,0 +1,31 @@
+#!/usr/bin/dh-exec
+
+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/libLTO.so
+usr/lib/llvm-@LLVM_VERSION@/lib/libRemarks.*
+usr/lib/llvm-@LLVM_VERSION@/include/llvm/      usr/include/llvm-@LLVM_VERSION@/
+usr/lib/llvm-@LLVM_VERSION@/include/llvm-c/    usr/include/llvm-c-@LLVM_VERSION@/
+# Explicit debian/tmp since there are multiple declarations
+debian/tmp/usr/lib/llvm-@LLVM_VERSION@/lib/cmake/llvm/*.cmake
+debian/tmp/usr/lib/llvm-@LLVM_VERSION@/lib/cmake/llvm/llvm-driver-template.cpp.in
+
+llvm/utils/vim/indent/llvm-@LLVM_VERSION@.vim                  usr/share/vim/addons/indent/
+
+llvm/utils/vim/syntax/llvm-@LLVM_VERSION@.vim                  usr/share/vim/addons/syntax/
+llvm/utils/vim/syntax/tablegen-@LLVM_VERSION@.vim                  usr/share/vim/addons/syntax/
+
+llvm/utils/vim/ftdetect/llvm-@LLVM_VERSION@.vim                        usr/share/vim/addons/ftdetect/
+llvm/utils/vim/ftdetect/tablegen-@LLVM_VERSION@.vim                usr/share/vim/addons/ftdetect/
+
+llvm/utils/vim/ftplugin/llvm-@LLVM_VERSION@.vim                        usr/share/vim/addons/ftplugin/
+llvm/utils/vim/ftplugin/tablegen-@LLVM_VERSION@.vim                usr/share/vim/addons/ftplugin/
+
+llvm/utils/vim/llvm-@LLVM_VERSION@-vimrc                           usr/share/vim/addons
+
+
+llvm/utils/emacs/emacs.el                  usr/share/emacs/site-lisp/llvm-@LLVM_VERSION@/
+llvm/utils/emacs/llvm-mode.el      usr/share/emacs/site-lisp/llvm-@LLVM_VERSION@/
+llvm/utils/emacs/tablegen-mode.el      usr/share/emacs/site-lisp/llvm-@LLVM_VERSION@/
diff --git a/llvm-X.Y-dev.links.in b/llvm-X.Y-dev.links.in
new file mode 100644 (file)
index 0000000..0ef210f
--- /dev/null
@@ -0,0 +1,26 @@
+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
+usr/include/llvm-@LLVM_VERSION@/llvm usr/lib/llvm-@LLVM_VERSION@/build/include/llvm
+
+usr/lib/llvm-@LLVM_VERSION@/include/ usr/lib/llvm-@LLVM_VERSION@/build/include
+usr/lib/llvm-@LLVM_VERSION@/lib/     usr/lib/llvm-@LLVM_VERSION@/build/lib
+usr/lib/llvm-@LLVM_VERSION@/share/   usr/lib/llvm-@LLVM_VERSION@/build/share
+usr/lib/llvm-@LLVM_VERSION@/ usr/lib/llvm-@LLVM_VERSION@/build/Release
+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/llvm-X.Y-doc.dirs.in b/llvm-X.Y-doc.dirs.in
new file mode 100644 (file)
index 0000000..5379e8e
--- /dev/null
@@ -0,0 +1 @@
+usr/share/doc/llvm-@LLVM_VERSION@-doc
diff --git a/llvm-X.Y-doc.install.in b/llvm-X.Y-doc.install.in
new file mode 100644 (file)
index 0000000..aaafde9
--- /dev/null
@@ -0,0 +1 @@
+llvm/docs/_build/html usr/share/doc/llvm-@LLVM_VERSION@-doc/
diff --git a/llvm-X.Y-examples.dirs.in b/llvm-X.Y-examples.dirs.in
new file mode 100644 (file)
index 0000000..a8b75c6
--- /dev/null
@@ -0,0 +1 @@
+usr/share/doc/llvm-@LLVM_VERSION@-examples
diff --git a/llvm-X.Y-examples.examples.in b/llvm-X.Y-examples.examples.in
new file mode 100644 (file)
index 0000000..4a5cb2d
--- /dev/null
@@ -0,0 +1 @@
+llvm/examples/*
diff --git a/llvm-X.Y-linker-tools.install.in b/llvm-X.Y-linker-tools.install.in
new file mode 100755 (executable)
index 0000000..68d96f3
--- /dev/null
@@ -0,0 +1,4 @@
+#!/usr/bin/dh-exec
+
+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/llvm-X.Y-linker-tools.links.in b/llvm-X.Y-linker-tools.links.in
new file mode 100755 (executable)
index 0000000..4be1210
--- /dev/null
@@ -0,0 +1,3 @@
+#!/usr/bin/dh-exec
+
+[!powerpc] usr/lib/llvm-@LLVM_VERSION@/lib/LLVMgold.so usr/lib/bfd-plugins/LLVMgold-@LLVM_VERSION@.so
diff --git a/llvm-X.Y-runtime.binfmt.conf.in b/llvm-X.Y-runtime.binfmt.conf.in
new file mode 100644 (file)
index 0000000..9f71279
--- /dev/null
@@ -0,0 +1 @@
+:llvm-@LLVM_VERSION@-runtime.binfmt:M::BC::/usr/bin/lli-@LLVM_VERSION@:
diff --git a/llvm-X.Y-runtime.binfmt.in b/llvm-X.Y-runtime.binfmt.in
new file mode 100644 (file)
index 0000000..6bb1df7
--- /dev/null
@@ -0,0 +1,3 @@
+package llvm-@LLVM_VERSION@-runtime
+interpreter /usr/bin/lli-@LLVM_VERSION@
+magic BC
diff --git a/llvm-X.Y-runtime.install.in b/llvm-X.Y-runtime.install.in
new file mode 100644 (file)
index 0000000..fde07b9
--- /dev/null
@@ -0,0 +1,9 @@
+usr/lib/llvm-@LLVM_VERSION@/bin/lli
+usr/lib/llvm-@LLVM_VERSION@/bin/lli-child-target
+
+usr/bin/lli-@LLVM_VERSION@
+usr/bin/lli-child-target-@LLVM_VERSION@
+
+debian/llvm-@LLVM_VERSION@-runtime.binfmt                  usr/share/binfmts/
+debian/llvm-@LLVM_VERSION@-runtime.binfmt.conf             usr/lib/binfmt.d/
+
diff --git a/llvm-X.Y-runtime.lintian-overrides.in b/llvm-X.Y-runtime.lintian-overrides.in
new file mode 100644 (file)
index 0000000..30a2142
--- /dev/null
@@ -0,0 +1 @@
+llvm-@LLVM_VERSION@-runtime: binary-without-manpage *usr/bin/lli-child-target-@LLVM_VERSION@*
diff --git a/llvm-X.Y-runtime.manpages.in b/llvm-X.Y-runtime.manpages.in
new file mode 100644 (file)
index 0000000..839952d
--- /dev/null
@@ -0,0 +1 @@
+debian/man/lli*
diff --git a/llvm-X.Y-runtime.postinst.in b/llvm-X.Y-runtime.postinst.in
new file mode 100755 (executable)
index 0000000..a974e94
--- /dev/null
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+set -e
+
+if test "$1" = "configure"; then
+       if command -v update-binfmts >/dev/null; then
+        update-binfmts --import llvm-@LLVM_VERSION@-runtime.binfmt || true
+    fi
+fi
+
+#DEBHELPER#
diff --git a/llvm-X.Y-runtime.prerm.in b/llvm-X.Y-runtime.prerm.in
new file mode 100755 (executable)
index 0000000..35fc5ca
--- /dev/null
@@ -0,0 +1,18 @@
+#!/bin/sh
+
+set -e
+
+if test "$1" = "remove"; then
+    if command -v update-binfmts >/dev/null; then
+        update-binfmts --package llvm-@LLVM_VERSION@-runtime \
+            --remove llvm-@LLVM_VERSION@-runtime.binfmt /usr/bin/lli-@LLVM_VERSION@ || true
+        if test -f /var/lib/binfmts/llvm-@LLVM_VERSION@.binfmt; then
+            # Purge old file
+            update-binfmts --package llvm-@LLVM_VERSION@-runtime \
+                --remove llvm-@LLVM_VERSION@.binfmt /usr/bin/lli-@LLVM_VERSION@ || true
+        fi
+    fi
+fi
+
+#DEBHELPER#
+
diff --git a/llvm-X.Y-tools.dirs.in b/llvm-X.Y-tools.dirs.in
new file mode 100644 (file)
index 0000000..401df06
--- /dev/null
@@ -0,0 +1,2 @@
+/usr/lib/llvm-@LLVM_VERSION@/build/unittests
+/usr/lib/llvm-@LLVM_VERSION@/build/utils/lit/
diff --git a/llvm-X.Y-tools.install.in b/llvm-X.Y-tools.install.in
new file mode 100644 (file)
index 0000000..2aecaa4
--- /dev/null
@@ -0,0 +1,22 @@
+usr/lib/llvm-@LLVM_VERSION@/bin/count
+usr/lib/llvm-@LLVM_VERSION@/bin/FileCheck
+usr/lib/llvm-@LLVM_VERSION@/bin/not
+usr/lib/llvm-@LLVM_VERSION@/bin/split-file
+usr/lib/llvm-@LLVM_VERSION@/bin/yaml-bench
+usr/lib/llvm-@LLVM_VERSION@/bin/UnicodeNameMappingGenerator
+usr/lib/llvm-@LLVM_VERSION@/share/opt-viewer/opt-viewer.py
+usr/lib/llvm-@LLVM_VERSION@/share/opt-viewer/optrecord.py
+usr/lib/llvm-@LLVM_VERSION@/share/opt-viewer/style.css
+usr/lib/llvm-@LLVM_VERSION@/share/opt-viewer/opt-diff.py
+usr/lib/llvm-@LLVM_VERSION@/share/opt-viewer/optpmap.py
+usr/lib/llvm-@LLVM_VERSION@/share/opt-viewer/opt-stats.py
+
+
+llvm/utils/lit/*             /usr/lib/llvm-@LLVM_VERSION@/build/utils/lit/
+
+usr/bin/count-@LLVM_VERSION@
+usr/bin/FileCheck-@LLVM_VERSION@
+usr/bin/not-@LLVM_VERSION@
+usr/bin/yaml-bench-@LLVM_VERSION@
+usr/bin/split-file-@LLVM_VERSION@
+usr/bin/UnicodeNameMappingGenerator-@LLVM_VERSION@
diff --git a/llvm-X.Y.dirs.in b/llvm-X.Y.dirs.in
new file mode 100644 (file)
index 0000000..56a9655
--- /dev/null
@@ -0,0 +1,3 @@
+/usr/lib/llvm-@LLVM_VERSION@/bin
+usr/share/man/man1
+usr/share/doc/llvm-@LLVM_VERSION@
diff --git a/llvm-X.Y.install.in b/llvm-X.Y.install.in
new file mode 100644 (file)
index 0000000..81ff8ad
--- /dev/null
@@ -0,0 +1,164 @@
+usr/lib/llvm-@LLVM_VERSION@/bin/llvm-PerfectShuffle
+usr/lib/llvm-@LLVM_VERSION@/bin/llvm-ar
+usr/lib/llvm-@LLVM_VERSION@/bin/llvm-as
+usr/lib/llvm-@LLVM_VERSION@/bin/llvm-bcanalyzer
+usr/lib/llvm-@LLVM_VERSION@/bin/llvm-c-test
+usr/lib/llvm-@LLVM_VERSION@/bin/llvm-cat
+usr/lib/llvm-@LLVM_VERSION@/bin/llvm-cfi-verify
+usr/lib/llvm-@LLVM_VERSION@/bin/llvm-config
+usr/lib/llvm-@LLVM_VERSION@/bin/llvm-cov
+usr/lib/llvm-@LLVM_VERSION@/bin/llvm-cvtres
+usr/lib/llvm-@LLVM_VERSION@/bin/llvm-cxxdump
+usr/lib/llvm-@LLVM_VERSION@/bin/llvm-cxxfilt
+usr/lib/llvm-@LLVM_VERSION@/bin/llvm-cxxmap
+usr/lib/llvm-@LLVM_VERSION@/bin/llvm-diff
+usr/lib/llvm-@LLVM_VERSION@/bin/llvm-dis
+usr/lib/llvm-@LLVM_VERSION@/bin/llvm-dwarfdump
+usr/lib/llvm-@LLVM_VERSION@/bin/llvm-dwarfutil
+usr/lib/llvm-@LLVM_VERSION@/bin/llvm-dwp
+usr/lib/llvm-@LLVM_VERSION@/bin/llvm-exegesis
+usr/lib/llvm-@LLVM_VERSION@/bin/llvm-extract
+usr/lib/llvm-@LLVM_VERSION@/bin/llvm-gsymutil
+usr/lib/llvm-@LLVM_VERSION@/bin/llvm-ifs
+usr/lib/llvm-@LLVM_VERSION@/bin/llvm-jitlink
+usr/lib/llvm-@LLVM_VERSION@/bin/llvm-jitlink-executor
+usr/lib/llvm-@LLVM_VERSION@/bin/llvm-libtool-darwin
+usr/lib/llvm-@LLVM_VERSION@/bin/llvm-link
+usr/lib/llvm-@LLVM_VERSION@/bin/llvm-lipo
+usr/lib/llvm-@LLVM_VERSION@/bin/llvm-lto
+usr/lib/llvm-@LLVM_VERSION@/bin/llvm-lto2
+usr/lib/llvm-@LLVM_VERSION@/bin/llvm-mc
+usr/lib/llvm-@LLVM_VERSION@/bin/llvm-mca
+usr/lib/llvm-@LLVM_VERSION@/bin/llvm-ml
+usr/lib/llvm-@LLVM_VERSION@/bin/llvm-modextract
+usr/lib/llvm-@LLVM_VERSION@/bin/llvm-mt
+usr/lib/llvm-@LLVM_VERSION@/bin/llvm-nm
+usr/lib/llvm-@LLVM_VERSION@/bin/llvm-objcopy
+usr/lib/llvm-@LLVM_VERSION@/bin/llvm-objdump
+usr/lib/llvm-@LLVM_VERSION@/bin/llvm-opt-report
+usr/lib/llvm-@LLVM_VERSION@/bin/llvm-pdbutil
+usr/lib/llvm-@LLVM_VERSION@/bin/llvm-profdata
+usr/lib/llvm-@LLVM_VERSION@/bin/llvm-profgen
+usr/lib/llvm-@LLVM_VERSION@/bin/llvm-rc
+usr/lib/llvm-@LLVM_VERSION@/bin/llvm-readobj
+usr/lib/llvm-@LLVM_VERSION@/bin/llvm-reduce
+usr/lib/llvm-@LLVM_VERSION@/bin/llvm-rtdyld
+usr/lib/llvm-@LLVM_VERSION@/bin/llvm-sim
+usr/lib/llvm-@LLVM_VERSION@/bin/llvm-size
+usr/lib/llvm-@LLVM_VERSION@/bin/llvm-split
+usr/lib/llvm-@LLVM_VERSION@/bin/llvm-stress
+usr/lib/llvm-@LLVM_VERSION@/bin/llvm-strings
+usr/lib/llvm-@LLVM_VERSION@/bin/llvm-symbolizer
+usr/lib/llvm-@LLVM_VERSION@/bin/llvm-tblgen
+usr/lib/llvm-@LLVM_VERSION@/bin/llvm-undname
+usr/lib/llvm-@LLVM_VERSION@/bin/llvm-xray
+usr/lib/llvm-@LLVM_VERSION@/bin/obj2yaml
+usr/lib/llvm-@LLVM_VERSION@/bin/opt
+usr/lib/llvm-@LLVM_VERSION@/bin/sanstats
+usr/lib/llvm-@LLVM_VERSION@/bin/verify-uselistorder
+usr/lib/llvm-@LLVM_VERSION@/bin/yaml2obj
+usr/lib/llvm-@LLVM_VERSION@/bin/llvm-addr2line
+usr/lib/llvm-@LLVM_VERSION@/bin/llvm-bitcode-strip
+usr/lib/llvm-@LLVM_VERSION@/bin/llvm-dlltool
+usr/lib/llvm-@LLVM_VERSION@/bin/llvm-install-name-tool
+usr/lib/llvm-@LLVM_VERSION@/bin/llvm-lib
+usr/lib/llvm-@LLVM_VERSION@/bin/llvm-otool
+usr/lib/llvm-@LLVM_VERSION@/bin/llvm-ranlib
+usr/lib/llvm-@LLVM_VERSION@/bin/llvm-readelf
+usr/lib/llvm-@LLVM_VERSION@/bin/llvm-strip
+usr/lib/llvm-@LLVM_VERSION@/bin/llvm-windres
+usr/lib/llvm-@LLVM_VERSION@/bin/llvm-tli-checker
+usr/lib/llvm-@LLVM_VERSION@/bin/opt*
+usr/lib/llvm-@LLVM_VERSION@/bin/bugpoint*
+usr/lib/llvm-@LLVM_VERSION@/bin/llc*
+usr/lib/llvm-@LLVM_VERSION@/bin/obj2yaml
+usr/lib/llvm-@LLVM_VERSION@/bin/yaml2obj
+usr/lib/llvm-@LLVM_VERSION@/bin/verify-uselistorder
+usr/lib/llvm-@LLVM_VERSION@/bin/sanstats
+usr/lib/llvm-@LLVM_VERSION@/bin/dsymutil
+usr/lib/llvm-@LLVM_VERSION@/bin/llvm-debuginfod-find
+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@
+usr/bin/llvm-ar-@LLVM_VERSION@
+usr/bin/llvm-as-@LLVM_VERSION@
+usr/bin/llvm-bcanalyzer-@LLVM_VERSION@
+usr/bin/llvm-bitcode-strip-@LLVM_VERSION@
+usr/bin/llvm-c-test-@LLVM_VERSION@
+usr/bin/llvm-cat-@LLVM_VERSION@
+usr/bin/llvm-cfi-verify-@LLVM_VERSION@
+usr/bin/llvm-config-@LLVM_VERSION@
+usr/bin/llvm-cov-@LLVM_VERSION@
+usr/bin/llvm-cvtres-@LLVM_VERSION@
+usr/bin/llvm-cxxdump-@LLVM_VERSION@
+usr/bin/llvm-cxxfilt-@LLVM_VERSION@
+usr/bin/llvm-cxxmap-@LLVM_VERSION@
+usr/bin/llvm-diff-@LLVM_VERSION@
+usr/bin/llvm-dis-@LLVM_VERSION@
+usr/bin/llvm-dlltool-@LLVM_VERSION@
+usr/bin/llvm-dwarfdump-@LLVM_VERSION@
+usr/bin/llvm-dwarfutil-@LLVM_VERSION@
+usr/bin/llvm-dwp-@LLVM_VERSION@
+usr/bin/llvm-exegesis-@LLVM_VERSION@
+usr/bin/llvm-extract-@LLVM_VERSION@
+usr/bin/llvm-gsymutil-@LLVM_VERSION@
+usr/bin/llvm-ifs-@LLVM_VERSION@
+usr/bin/llvm-install-name-tool-@LLVM_VERSION@
+usr/bin/llvm-jitlink-@LLVM_VERSION@
+usr/bin/llvm-jitlink-executor-@LLVM_VERSION@
+usr/bin/llvm-lib-@LLVM_VERSION@
+usr/bin/llvm-libtool-darwin-@LLVM_VERSION@
+usr/bin/llvm-link-@LLVM_VERSION@
+usr/bin/llvm-lipo-@LLVM_VERSION@
+usr/bin/llvm-lto-@LLVM_VERSION@
+usr/bin/llvm-lto2-@LLVM_VERSION@
+usr/bin/llvm-mc-@LLVM_VERSION@
+usr/bin/llvm-mca-@LLVM_VERSION@
+usr/bin/llvm-ml-@LLVM_VERSION@
+usr/bin/llvm-modextract-@LLVM_VERSION@
+usr/bin/llvm-mt-@LLVM_VERSION@
+usr/bin/llvm-nm-@LLVM_VERSION@
+usr/bin/llvm-objcopy-@LLVM_VERSION@
+usr/bin/llvm-objdump-@LLVM_VERSION@
+usr/bin/llvm-opt-report-@LLVM_VERSION@
+usr/bin/llvm-otool-@LLVM_VERSION@
+usr/bin/llvm-pdbutil-@LLVM_VERSION@
+usr/bin/llvm-profdata-@LLVM_VERSION@
+usr/bin/llvm-profgen-@LLVM_VERSION@
+usr/bin/llvm-ranlib-@LLVM_VERSION@
+usr/bin/llvm-rc-@LLVM_VERSION@
+usr/bin/llvm-remarkutil-@LLVM_VERSION@
+usr/bin/llvm-readelf-@LLVM_VERSION@
+usr/bin/llvm-readobj-@LLVM_VERSION@
+usr/bin/llvm-reduce-@LLVM_VERSION@
+usr/bin/llvm-rtdyld-@LLVM_VERSION@
+usr/bin/llvm-sim-@LLVM_VERSION@
+usr/bin/llvm-size-@LLVM_VERSION@
+usr/bin/llvm-split-@LLVM_VERSION@
+usr/bin/llvm-stress-@LLVM_VERSION@
+usr/bin/llvm-strings-@LLVM_VERSION@
+usr/bin/llvm-strip-@LLVM_VERSION@
+usr/bin/llvm-symbolizer-@LLVM_VERSION@
+usr/bin/llvm-readtapi-@LLVM_VERSION@
+usr/bin/llvm-tblgen-@LLVM_VERSION@
+usr/bin/llvm-undname-@LLVM_VERSION@
+usr/bin/llvm-windres-@LLVM_VERSION@
+usr/bin/llvm-xray-@LLVM_VERSION@
+usr/bin/llvm-tli-checker-@LLVM_VERSION@
+usr/bin/opt*
+usr/bin/bugpoint*
+usr/bin/llc*
+usr/bin/obj2yaml-*
+usr/bin/yaml2obj-*
+usr/bin/verify-uselistorder-*
+usr/bin/sanstats-*
+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/llvm-X.Y.lintian-overrides.in b/llvm-X.Y.lintian-overrides.in
new file mode 100644 (file)
index 0000000..a2cdd08
--- /dev/null
@@ -0,0 +1,11 @@
+# I know but well...
+llvm-@LLVM_VERSION@: manpage-has-useless-whatis-entry *usr/share/man/man1/llvm-dwarfdump-@LLVM_VERSION@.1.gz*
+llvm-@LLVM_VERSION@: manpage-has-useless-whatis-entry *usr/share/man/man1/llvm-mc-@LLVM_VERSION@.1.gz*
+llvm-@LLVM_VERSION@: manpage-has-useless-whatis-entry *usr/share/man/man1/llvm-objdump-@LLVM_VERSION@.1.gz*
+llvm-@LLVM_VERSION@: manpage-has-useless-whatis-entry *usr/share/man/man1/llvm-rtdyld-@LLVM_VERSION@.1.gz*
+llvm-@LLVM_VERSION@: manpage-has-useless-whatis-entry *usr/share/man/man1/llvm-size-@LLVM_VERSION@.1.gz*
+llvm-@LLVM_VERSION@: manpage-has-useless-whatis-entry *usr/share/man/man1/llvm-ranlib-@LLVM_VERSION@.1.gz*
+# Does not link otherwise
+llvm-@LLVM_VERSION@: embedded-library *usr/lib/llvm-@LLVM_VERSION@/bin/bugpoint: libjsoncpp*
+llvm-@LLVM_VERSION@: embedded-library *usr/lib/llvm-@LLVM_VERSION@/bin/opt: libjsoncpp*
+
diff --git a/llvm-X.Y.manpages.in b/llvm-X.Y.manpages.in
new file mode 100644 (file)
index 0000000..e248370
--- /dev/null
@@ -0,0 +1,7 @@
+llvm/docs/_build/man/*
+debian/man/llvm-dwarfdump-@LLVM_VERSION@.1
+debian/man/llvm-mc-@LLVM_VERSION@.1
+debian/man/llvm-objdump-@LLVM_VERSION@.1
+debian/man/llvm-rtdyld-@LLVM_VERSION@.1
+debian/man/llvm-size-@LLVM_VERSION@.1
+debian/man/llvm-ranlib-@LLVM_VERSION@.1
diff --git a/llvm-compile-lto-elf.sh b/llvm-compile-lto-elf.sh
new file mode 100644 (file)
index 0000000..d0ae0ca
--- /dev/null
@@ -0,0 +1,59 @@
+#!/usr/bin/bash -eu
+
+# Initial version:
+# https://src.fedoraproject.org/rpms/redhat-rpm-config/blob/rawhide/f/brp-llvm-compile-lto-elf
+
+CLANG_FLAGS=$@
+
+if test -z $P_TO_LLVM; then
+    echo "P_TO_LLVM isn't set"
+    exit 1
+fi
+
+if test -z $NJOBS; then
+    echo "NJOBS isn't set"
+    exit 1
+fi
+
+if test -z $VERSION; then
+    echo "VERSION isn't set"
+    exit 1
+fi
+
+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 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
+    local archive_stage=$(mktemp -d)
+    local archive=${file_name}
+    pushd ${archive_stage}
+    ar x ${archive}
+    for archived_file in $(find -not -type d); do
+      check_convert_bitcode ${archived_file} ${CLANG_FLAGS}
+      echo "Repacking ${archived_file} into ${archive}."
+      ${P_TO_LLVM}/debian/tmp/usr/bin/llvm-ar-${VERSION} r ${archive} ${archived_file}
+    done
+    popd
+  fi
+}
+
+echo "Checking for LLVM bitcode artifacts"
+export -f check_convert_bitcode
+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/llvm-priv-dev.dirs b/llvm-priv-dev.dirs
new file mode 100644 (file)
index 0000000..dab8663
--- /dev/null
@@ -0,0 +1 @@
+/usr/lib/llvm-3.1/build
diff --git a/mlir-X.Y-tools.install.in b/mlir-X.Y-tools.install.in
new file mode 100644 (file)
index 0000000..497246f
--- /dev/null
@@ -0,0 +1,7 @@
+usr/bin/mlir-*
+usr/bin/tblgen-lsp-server-@LLVM_VERSION@
+usr/bin/tblgen-to-irdl-@LLVM_VERSION@
+
+usr/lib/llvm-@LLVM_VERSION@/bin/mlir-*
+usr/lib/llvm-@LLVM_VERSION@/bin/tblgen-lsp-server
+usr/lib/llvm-@LLVM_VERSION@/bin/tblgen-to-irdl
diff --git a/orig-tar.sh b/orig-tar.sh
new file mode 100755 (executable)
index 0000000..efd20ed
--- /dev/null
@@ -0,0 +1,185 @@
+#!/bin/sh
+# This script will create the following tarball:
+# llvm-toolchain-XX_XX\~+20200120101212+de4b2a7fad6.orig.tar.xz
+
+set -e
+
+# commands:
+#  sh 9/debian/orig-tar.sh release/9.x
+#  sh 9/debian/orig-tar.sh 9.0.0 rc3
+#  sh 9/debian/orig-tar.sh 9.0.1 rc3
+# Stable release
+#  sh 9/debian/orig-tar.sh 9.0.0 9.0.0
+
+
+# To create an rc1 release:
+# sh 9/debian/orig-tar.sh release/9.x
+CURRENT_PATH=$(pwd)
+EXPORT_PATH=$(pwd)
+
+if test -n "${JENKINS_HOME}"; then
+    # For apt.llvm.org, reuse the same repo
+    echo "Built from Jenkins. Will export the repo in $HOME/"
+    EXPORT_PATH="$HOME/"
+fi
+
+GIT_BASE_URL=https://github.com/llvm/llvm-project
+GIT_TOOLCHAIN_CHECK=https://github.com/opencollab/llvm-toolchain-integration-test-suite.git
+
+reset_repo ()
+{
+    cd $1
+    git clean -qfd
+    git checkout .
+    git remote update > /dev/null
+    git reset --hard origin/main > /dev/null
+    git clean -qfd
+    git checkout main > /dev/null
+    git pull
+    cd -
+}
+
+PATH_DEBIAN="$(pwd)/$(dirname $0)/../"
+cd "$PATH_DEBIAN"
+
+git stash && git pull && git stash apply || true
+
+MAJOR_VERSION=$(dpkg-parsechangelog | sed -rne "s,^Version: 1:([0-9]+).*,\1,p")
+if test -z "$MAJOR_VERSION"; then
+    echo "Could not detect the major version"
+    exit 1
+fi
+
+CURRENT_VERSION=$(dpkg-parsechangelog | sed -rne "s,^Version: 1:([0-9.]+)(~|-)(.*),\1,p")
+if test -z "$CURRENT_VERSION"; then
+    echo "Could not detect the full version"
+    exit 1
+fi
+
+cd - &> /dev/null
+echo "MAJOR_VERSION=$MAJOR_VERSION / CURRENT_VERSION=$CURRENT_VERSION"
+if test -n "$1"; then
+# https://github.com/llvm/llvm-project/tree/release/9.x
+# For example: sh 4.0/debian/orig-tar.sh release/9.x
+    BRANCH=$1
+    if ! echo "$1"|grep -q release/; then
+        # The first argument is NOT a branch, means that it is a stable release
+        FINAL_RELEASE=true
+        EXACT_VERSION=$1
+    fi
+else
+    # No argument, we need trunk
+    cd "$PATH_DEBIAN"
+    SOURCE=$(dpkg-parsechangelog |grep ^Source|awk '{print $2}')
+    cd - &> /dev/null
+    if test "$SOURCE" != "llvm-toolchain-snapshot"; then
+       echo "Checkout of the main is only available for llvm-toolchain-snapshot"
+       exit 1
+    fi
+    BRANCH="main"
+fi
+
+if test -n "$1" -a -n "$2"; then
+# https://github.com/llvm/llvm-project/releases/tag/llvmorg-9.0.0
+# For example: sh 4.0/debian/orig-tar.sh 4.0.1 rc3
+# or  sh 9/debian/orig-tar.sh 9.0.0
+    TAG=$2
+    RCRELEASE="true"
+    EXACT_VERSION=$1
+fi
+
+# Update or retrieve the repo
+mkdir -p git-archive
+cd git-archive
+if test -d $EXPORT_PATH/llvm-project; then
+    echo "Updating repo in $EXPORT_PATH/llvm-project"
+    # Update it
+    reset_repo $EXPORT_PATH/llvm-project
+else
+    # Download it
+    echo "Cloning the repo in $EXPORT_PATH/llvm-project"
+    git clone $GIT_BASE_URL $EXPORT_PATH/llvm-project
+fi
+
+if test -d $EXPORT_PATH/llvm-toolchain-integration-test-suite; then
+    echo "Updating repo in $EXPORT_PATH/llvm-toolchain-integration-test-suite"
+    # Update it
+    reset_repo $EXPORT_PATH/llvm-toolchain-integration-test-suite
+else
+    echo "Clone llvm-toolchain-integration-test-suite into $EXPORT_PATH/llvm-toolchain-integration-test-suite"
+    git clone $GIT_TOOLCHAIN_CHECK $EXPORT_PATH/llvm-toolchain-integration-test-suite
+fi
+
+cd $EXPORT_PATH/llvm-project
+if test -z  "$TAG" -a -z "$FINAL_RELEASE"; then
+    # Building a branch
+    git checkout $BRANCH
+    git reset --hard origin/$BRANCH
+    if test $BRANCH != "main"; then
+        VERSION=$(echo $BRANCH|cut -d/ -f2|cut -d. -f1)
+        if ! echo "$MAJOR_VERSION"|grep -q "$VERSION"; then
+            echo "mismatch in version: Dir=$MAJOR_VERSION Provided=$VERSION"
+            exit 1
+        fi
+    else
+        # No argument, take main. So, it can only be snapshot
+        VERSION=$MAJOR_VERSION
+        MAJOR_VERSION=snapshot
+    fi
+    if test $MAJOR_VERSION != "snapshot"; then
+        # When upstream released X, they will update X to have X.0.1
+        # 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]+' 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
+        echo "Mismatch in version: Dir=$MAJOR_VERSION Provided=$EXACT_VERSION"
+        exit 1
+    fi
+    git_tag="llvmorg-$EXACT_VERSION"
+    VERSION=$EXACT_VERSION
+    if test -n "$TAG"; then
+        git_tag="$git_tag-$TAG"
+        VERSION="$VERSION~+$TAG"
+    fi
+
+    git checkout "$git_tag" > /dev/null
+
+fi
+
+# cleanup
+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 .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"
+export DEBEMAIL="sylvestre@debian.org"
+cd "$PATH_DEBIAN"
+
+if test -z "$DISTRIBUTION"; then
+    DISTRIBUTION="experimental"
+fi
+
+if test -n "$RCRELEASE" -o -n "$BRANCH"; then
+    EXTRA_DCH_FLAGS="--force-bad-version --allow-lower-version"
+fi
+
+dch $EXTRA_DCH_FLAGS --distribution $DISTRIBUTION --newversion 1:"$VERSION"-1~exp1 "New snapshot release"
+
+exit 0
diff --git a/patches/0001-tools-clang-cmake-resolve-symlinks-in-ClangConfig.cmake.patch b/patches/0001-tools-clang-cmake-resolve-symlinks-in-ClangConfig.cmake.patch
new file mode 100644 (file)
index 0000000..b39cb32
--- /dev/null
@@ -0,0 +1,31 @@
+From c830d84bc802ca1e9219415a5784c4ad97a34819 Mon Sep 17 00:00:00 2001
+From: Peter Wu <peter@lekensteyn.nl>
+Date: Fri, 4 May 2018 15:55:26 +0200
+Subject: [PATCH] [clang] cmake: resolve symlinks in ClangConfig.cmake
+
+Ensure that symlinks such as /usr/lib/cmake/clang-X.Y (pointing to
+/usr/lib/llvm-X.Y/lib/cmake/llvm) are resolved. This ensures that
+CLANG_INSTALL_PREFIX ends up to be /usr/lib/llvm-X.Y instead of /usr.
+
+Partially addresses PR37128
+---
+ cmake/modules/CMakeLists.txt | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+Index: llvm-toolchain-snapshot_15~++20220726081233+0df7d8bc355d/cmake/Modules/FindPrefixFromConfig.cmake
+===================================================================
+--- llvm-toolchain-snapshot_15~++20220726081233+0df7d8bc355d.orig/cmake/Modules/FindPrefixFromConfig.cmake
++++ llvm-toolchain-snapshot_15~++20220726081233+0df7d8bc355d/cmake/Modules/FindPrefixFromConfig.cmake
+@@ -39,10 +39,10 @@ function(find_prefix_from_config out_var
+     # install prefix, and avoid hard-coding any absolute paths.
+     set(config_code
+       "# Compute the installation prefix from this LLVMConfig.cmake file location."
+-      "get_filename_component(${prefix_var} \"\${CMAKE_CURRENT_LIST_FILE}\" PATH)")
++      "get_filename_component(${prefix_var} \"\${CMAKE_CURRENT_LIST_FILE}\" REALPATH)")
+     # Construct the proper number of get_filename_component(... PATH)
+     # calls to compute the installation prefix.
+-    string(REGEX REPLACE "/" ";" _count "${path_to_leave}")
++    string(REGEX REPLACE "/" ";" _count "prefix/${path_to_leave}")
+     foreach(p ${_count})
+       list(APPEND config_code
+         "get_filename_component(${prefix_var} \"\${${prefix_var}}\" PATH)")
diff --git a/patches/0044-soname.diff b/patches/0044-soname.diff
new file mode 100644 (file)
index 0000000..c338304
--- /dev/null
@@ -0,0 +1,31 @@
+---
+ clang/tools/libclang/CMakeLists.txt |    2 +-
+ tools/llvm-shlib/CMakeLists.txt     |    1 +
+ 2 files changed, 2 insertions(+), 1 deletion(-)
+
+Index: llvm-toolchain-snapshot_19~++20240319094628+703920d4138d/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()
+-add_clang_library(libclang ${ENABLE_SHARED} ${ENABLE_STATIC} INSTALL_WITH_TOOLCHAIN
++add_clang_library(libclang ${ENABLE_SHARED} ${ENABLE_STATIC} INSTALL_WITH_TOOLCHAIN SONAME
+   OUTPUT_NAME ${output_name}
+   ${SOURCES}
+Index: llvm-toolchain-snapshot_19~++20240319094628+703920d4138d/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} $<TARGET_FILE_NAME:LLVM> SHARED FULL_DEST COMPONENT LLVM)
+   endif()
++  set_property(TARGET LLVM PROPERTY VERSION "1") # Append .1 to SONAME
++
+   list(REMOVE_DUPLICATES LIB_NAMES)
+   if("${CMAKE_SYSTEM_NAME}" STREQUAL "Darwin")
+     set(LIB_NAMES -Wl,-all_load ${LIB_NAMES})
diff --git a/patches/0048-Set-html_static_path-_static-everywhere.patch b/patches/0048-Set-html_static_path-_static-everywhere.patch
new file mode 100644 (file)
index 0000000..522b4c8
--- /dev/null
@@ -0,0 +1,50 @@
+From: Nicholas D Steeves <nsteeves@gmail.com>
+Date: Sat, 10 Feb 2018 21:00:55 -0500
+Subject: Set html_static_path = ['_static'] everywhere.
+
+---
+ clang-tools-extra/docs/conf.py | 2 +-
+ clang/docs/analyzer/conf.py    | 2 +-
+ clang/docs/conf.py             | 2 +-
+ polly/docs/conf.py             | 2 +-
+ 4 files changed, 4 insertions(+), 4 deletions(-)
+
+Index: llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e/clang/docs/analyzer/conf.py
+===================================================================
+--- 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".
+-html_static_path = []
++html_static_path = ['_static']
+ # If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
+ # using the given strftime format.
+Index: llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e/clang/docs/conf.py
+===================================================================
+--- 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".
+-html_static_path = []
++html_static_path = ['_static']
+ # If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
+ # using the given strftime format.
+Index: llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e/polly/docs/conf.py
+===================================================================
+--- 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".
+-html_static_path = []
++html_static_path = ['_static']
+ # If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
+ # using the given strftime format.
diff --git a/patches/0049-Use-Debian-provided-MathJax-everywhere.patch b/patches/0049-Use-Debian-provided-MathJax-everywhere.patch
new file mode 100644 (file)
index 0000000..b0f6e7d
--- /dev/null
@@ -0,0 +1,109 @@
+From: Nicholas D Steeves <nsteeves@gmail.com>
+Date: Sat, 10 Feb 2018 21:02:17 -0500
+Subject: Use Debian-provided MathJax everywhere.
+
+---
+ clang-tools-extra/docs/Doxyfile       | 2 +-
+ clang-tools-extra/docs/conf.py        | 3 +++
+ clang-tools-extra/docs/doxygen.cfg.in | 2 +-
+ clang/docs/analyzer/conf.py           | 3 +++
+ clang/docs/conf.py                    | 3 +++
+ clang/docs/doxygen.cfg.in             | 2 +-
+ docs/doxygen.cfg.in                   | 2 +-
+ polly/docs/doxygen.cfg.in             | 2 +-
+ 8 files changed, 14 insertions(+), 5 deletions(-)
+
+Index: llvm-toolchain-snapshot_19~++20240424094944+78ebaa2d798f/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"]
++# Use Debian-provided MathJax
++mathjax_path = '/usr/share/javascript/mathjax/MathJax.js?config=TeX-AMS-MML_HTMLorMML'
++
+ # 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-snapshot_19~++20240424094944+78ebaa2d798f/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.
+-MATHJAX_RELPATH        = http://cdn.mathjax.org/mathjax/latest
++MATHJAX_RELPATH        = /usr/share/javascript/mathjax
+ # 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-snapshot_19~++20240424094944+78ebaa2d798f/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']
++# Use Debian-provided MathJax
++mathjax_path = '/usr/share/javascript/mathjax/MathJax.js?config=TeX-AMS-MML_HTMLorMML'
++
+ # 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-snapshot_19~++20240424094944+78ebaa2d798f/clang/docs/conf.py
+===================================================================
+--- 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']
++# Use Debian-provided MathJax
++mathjax_path = '/usr/share/javascript/mathjax/MathJax.js?config=TeX-AMS-MML_HTMLorMML'
++
+ # 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-snapshot_19~++20240424094944+78ebaa2d798f/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.
+-MATHJAX_RELPATH        = http://cdn.mathjax.org/mathjax/latest
++MATHJAX_RELPATH        = /usr/share/javascript/mathjax
+ # 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-snapshot_19~++20240424094944+78ebaa2d798f/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.
+-MATHJAX_RELPATH        = https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/MathJax.js
++MATHJAX_RELPATH        = /usr/share/javascript/mathjax
+ # 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-snapshot_19~++20240424094944+78ebaa2d798f/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.
+-MATHJAX_RELPATH        = http://cdn.mathjax.org/mathjax/latest
++MATHJAX_RELPATH        = /usr/share/javascript/mathjax
+ # The MATHJAX_EXTENSIONS tag can be used to specify one or more MathJax
+ # extension names that should be enabled during MathJax rendering. For example
diff --git a/patches/23-strlcpy_strlcat_warning_removed.diff b/patches/23-strlcpy_strlcat_warning_removed.diff
new file mode 100644 (file)
index 0000000..fc63d8e
--- /dev/null
@@ -0,0 +1,194 @@
+---
+ clang/include/clang/Basic/Builtins.def                    |    8 +-
+ clang/lib/AST/Decl.cpp                                    |   12 +--
+ clang/lib/Sema/SemaChecking.cpp                           |   11 +-
+ clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp |    6 -
+ clang/test/Sema/builtins.c                                |   11 +-
+ clang/test/Sema/warn-strlcpycat-size.c                    |   55 --------------
+ 6 files changed, 25 insertions(+), 78 deletions(-)
+
+Index: llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e/clang/lib/AST/Decl.cpp
+===================================================================
+--- 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;
+-  case Builtin::BIstrlcpy:
+-  case Builtin::BI__builtin___strlcpy_chk:
+-    return Builtin::BIstrlcpy;
++//  case Builtin::BIstrlcpy:
++//  case Builtin::BI__builtin___strlcpy_chk:
++//    return Builtin::BIstrlcpy;
+-  case Builtin::BIstrlcat:
+-  case Builtin::BI__builtin___strlcat_chk:
+-    return Builtin::BIstrlcat;
++//  case Builtin::BIstrlcat:
++//  case Builtin::BI__builtin___strlcat_chk:
++//    return Builtin::BIstrlcat;
+   case Builtin::BI__builtin_memcmp:
+   case Builtin::BImemcmp:
+Index: llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e/clang/lib/Sema/SemaChecking.cpp
+===================================================================
+--- 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:
+-  case Builtin::BI__builtin___strlcat_chk:
+-  case Builtin::BI__builtin___strlcpy_chk:
++//  case Builtin::BI__builtin___strlcat_chk:
++//  case Builtin::BI__builtin___strlcpy_chk:
+   case Builtin::BI__builtin___strncat_chk:
+   case Builtin::BI__builtin___strncpy_chk:
+   case Builtin::BI__builtin___stpncpy_chk:
+@@ -3422,10 +3422,10 @@ bool Sema::CheckFunctionCall(FunctionDec
+   switch (CMId) {
+   case 0:
+     return false;
+-  case Builtin::BIstrlcpy: // fallthrough
++/*  case Builtin::BIstrlcpy: // fallthrough
+   case Builtin::BIstrlcat:
+     CheckStrlcpycatArguments(TheCall, FnInfo);
+-    break;
++    break;*/
+   case Builtin::BIstrncat:
+     CheckStrncatArguments(TheCall, FnInfo);
+     break;
+Index: llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e/clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp
+===================================================================
+--- 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}})},
+       {{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-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;
+   ptr = __builtin___memccpy_chk(dst, src, '\037', sizeof(src), sizeof(dst));
+-  result = __builtin___strlcpy_chk(dst, src, sizeof(dst), sizeof(dst));
+   result = __builtin___strlcat_chk(dst, src, sizeof(dst), sizeof(dst));
+   ptr = __builtin___memccpy_chk(dst, src, '\037', sizeof(src));      // expected-error {{too few arguments to function call}}
+   ptr = __builtin___strlcpy_chk(dst, src, sizeof(dst), sizeof(dst)); // expected-error {{incompatible integer to pointer conversion}}
+-  ptr = __builtin___strlcat_chk(dst, src, sizeof(dst), sizeof(dst)); // expected-error {{incompatible integer to pointer conversion}}
+ }
+ void no_ms_builtins(void) {
+@@ -214,7 +212,8 @@ void unavailable(void) {
+   __builtin_operator_delete(0); // expected-error {{'__builtin_operator_delete' is only available in C++}}
+ }
+-size_t strlcpy(char * restrict dst, const char * restrict src, size_t size);
++/*
++  size_t strlcpy(char * restrict dst, const char * restrict src, size_t size);
+ size_t strlcat(char * restrict dst, const char * restrict src, size_t size);
+ void Test19(void)
+@@ -235,6 +234,7 @@ void Test19(void)
+                                                                                    // expected-note {{change size argument to be the size of the destination}} \
+                                                                                  // expected-warning {{'strlcat' will always overflow; destination buffer has size 20, but size argument is 40}}
+ }
++*/
+ char * Test20(char *p, const char *in, unsigned n)
+ {
+Index: llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e/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
+-
+-typedef __SIZE_TYPE__ size_t;
+-size_t strlcpy (char * restrict dst, const char * restrict src, size_t size);
+-size_t strlcat (char * restrict dst, const char * restrict src, size_t size);
+-size_t strlen (const char *s);
+-
+-char s1[100];
+-char s2[200];
+-char * s3;
+-
+-struct {
+-  char f1[100];
+-  char f2[100][3];
+-} s4, **s5;
+-
+-int x;
+-
+-void f(void)
+-{
+-  strlcpy(s1, s2, sizeof(s1)); // no warning
+-  strlcpy(s1, s2, sizeof(s2)); // 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}}
+-  strlcpy(s1, s3, strlen(s3)+1); // 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}}
+-  strlcat(s2, s3, sizeof(s3)); // expected-warning {{size argument in 'strlcat' 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}}
+-  strlcpy(s4.f1, s2, sizeof(s2)); // 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}}
+-  strlcpy((*s5)->f2[x], s2, sizeof(s2)); // 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}}
+-  strlcpy(s1+3, s2, sizeof(s2)); // expected-warning {{size argument in 'strlcpy' call appears to be size of the source; expected the size of the destination}}
+-}
+-
+-// Don't issue FIXIT for flexible arrays.
+-struct S {
+-  int y; 
+-  char x[];
+-};
+-
+-void flexible_arrays(struct S *s) {
+-  char str[] = "hi";
+-  strlcpy(s->x, str, sizeof(str));  // expected-warning {{size argument in 'strlcpy' call appears to be size of the source; expected the size of the destination}}
+-}
+-
+-// Don't issue FIXIT for destinations of size 1.
+-void size_1(void) {
+-  char z[1];
+-  char str[] = "hi";
+-
+-  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}}
+-}
+-
+-// Support VLAs.
+-void vlas(int size) {
+-  char z[size];
+-  char str[] = "hi";
+-
+-  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/patches/26-set-correct-float-abi.diff b/patches/26-set-correct-float-abi.diff
new file mode 100644 (file)
index 0000000..4d0bbb6
--- /dev/null
@@ -0,0 +1,33 @@
+Description: set correct float abi settings for armel and armhf
+ debian armel supports systems that don't have a fpu so should use a "float abi"
+ setting of soft by default.
+ Debian armhf needs a float abi setting of "hard"
+Author: Peter Michael Green <plugwash@debian.org>
+
+---
+The information above should follow the Patch Tagging Guidelines, please
+checkout http://dep.debian.net/deps/dep3/ to learn about the format. Here
+are templates for supplementary fields that you might want to add:
+
+Origin: <vendor|upstream|other>, <url of original patch>
+Bug: <url in upstream bugtracker>
+Bug-Debian: http://bugs.debian.org/<bugnumber>
+Bug-Ubuntu: https://launchpad.net/bugs/<bugnumber>
+Forwarded: <no|not-needed|url proving that it has been forwarded>
+Reviewed-By: <name and email of someone who approved the patch>
+Last-Update: <YYYY-MM-DD>
+
+Index: llvm-toolchain-snapshot_19~++20240220124703+f122268c0441/clang/lib/Driver/ToolChains/Arch/ARM.cpp
+===================================================================
+--- 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
+-      return FloatABI::SoftFP;
++      return FloatABI::Soft;
+     case llvm::Triple::Android:
+       return (SubArch >= 7) ? FloatABI::SoftFP : FloatABI::Soft;
+     default:
diff --git a/patches/930008-arm.diff b/patches/930008-arm.diff
new file mode 100644 (file)
index 0000000..427f454
--- /dev/null
@@ -0,0 +1,13 @@
+Index: llvm-toolchain-19_19.1.3~++20241030095814+ab51eccf88f5/llvm/lib/TargetParser/ARMTargetParser.cpp
+===================================================================
+--- llvm-toolchain-19_19.1.3~++20241030095814+ab51eccf88f5.orig/llvm/lib/TargetParser/ARMTargetParser.cpp
++++ llvm-toolchain-19_19.1.3~++20241030095814+ab51eccf88f5/llvm/lib/TargetParser/ARMTargetParser.cpp
+@@ -639,7 +639,7 @@ StringRef ARM::getARMCPUForArch(const ll
+     case llvm::Triple::GNUEABIHF:
+     case llvm::Triple::GNUEABIHFT64:
+     case llvm::Triple::MuslEABIHF:
+-      return "arm1176jzf-s";
++      return "cortex-a7";
+     default:
+       return "arm7tdmi";
+     }
diff --git a/patches/D148945-revert.diff b/patches/D148945-revert.diff
new file mode 100644 (file)
index 0000000..b91ddb5
--- /dev/null
@@ -0,0 +1,23 @@
+Restore that for now, we're not GenToo ...
+
+https://reviews.llvm.org/D148945
+https://reviews.llvm.org/D122444
+
+Index: llvm-toolchain-snapshot_19~++20240424094944+78ebaa2d798f/clang/lib/Driver/ToolChains/Linux.cpp
+===================================================================
+--- 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).starts_with(SysRoot) &&
++      D.getVFS().exists(D.Dir + "/../lib/libc++.so"))
++    addPathIfExists(D, D.Dir + "/../lib", Paths);
++
+   addPathIfExists(D, concat(SysRoot, "/lib"), Paths);
+   addPathIfExists(D, concat(SysRoot, "/usr/lib"), Paths);
+ }
diff --git a/patches/D67877-cmake-clang-example.patch b/patches/D67877-cmake-clang-example.patch
new file mode 100644 (file)
index 0000000..2cf1db9
--- /dev/null
@@ -0,0 +1,38 @@
+Origin: https://reviews.llvm.org/D67877
+Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=941082
+
+Index: llvm-toolchain-snapshot_11~++20200409051253+d08105482e1/clang/lib/Analysis/plugins/CMakeLists.txt
+===================================================================
+--- llvm-toolchain-snapshot_11~++20200409051253+d08105482e1.orig/clang/lib/Analysis/plugins/CMakeLists.txt
++++ llvm-toolchain-snapshot_11~++20200409051253+d08105482e1/clang/lib/Analysis/plugins/CMakeLists.txt
+@@ -1,4 +1,4 @@
+-if(CLANG_ENABLE_STATIC_ANALYZER AND LLVM_ENABLE_PLUGINS)
++if(CLANG_ENABLE_STATIC_ANALYZER AND LLVM_ENABLE_PLUGINS AND CLANG_BUILD_EXAMPLES)
+   add_subdirectory(SampleAnalyzer)
+   add_subdirectory(CheckerDependencyHandling)
+   add_subdirectory(CheckerOptionHandling)
+Index: llvm-toolchain-snapshot_11~++20200409051253+d08105482e1/clang/test/CMakeLists.txt
+===================================================================
+--- llvm-toolchain-snapshot_11~++20200409051253+d08105482e1.orig/clang/test/CMakeLists.txt
++++ llvm-toolchain-snapshot_11~++20200409051253+d08105482e1/clang/test/CMakeLists.txt
+@@ -138,14 +138,12 @@ if( NOT CLANG_BUILT_STANDALONE )
+   endif()
+ endif()
+-if (CLANG_ENABLE_STATIC_ANALYZER)
+-  if (LLVM_ENABLE_PLUGINS)
+-    list(APPEND CLANG_TEST_DEPS
+-      SampleAnalyzerPlugin
+-      CheckerDependencyHandlingAnalyzerPlugin
+-      CheckerOptionHandlingAnalyzerPlugin
+-      )
+-  endif()
++if (CLANG_ENABLE_STATIC_ANALYZER AND CLANG_BUILD_EXAMPLES AND LLVM_ENABLE_PLUGINS)
++  list(APPEND CLANG_TEST_DEPS
++    SampleAnalyzerPlugin
++    CheckerDependencyHandlingAnalyzerPlugin
++    CheckerOptionHandlingAnalyzerPlugin
++    )
+ endif()
+ # Copy gen_ast_dump_json_test.py to the clang build dir. This allows invoking
diff --git a/patches/arm32-defaults.diff b/patches/arm32-defaults.diff
new file mode 100644 (file)
index 0000000..2bfaf7b
--- /dev/null
@@ -0,0 +1,16 @@
+Index: llvm-toolchain-19_19.1.3~++20241030095814+ab51eccf88f5/llvm/lib/TargetParser/ARMTargetParser.cpp
+===================================================================
+--- llvm-toolchain-19_19.1.3~++20241030095814+ab51eccf88f5.orig/llvm/lib/TargetParser/ARMTargetParser.cpp
++++ llvm-toolchain-19_19.1.3~++20241030095814+ab51eccf88f5/llvm/lib/TargetParser/ARMTargetParser.cpp
+@@ -639,9 +639,9 @@ StringRef ARM::getARMCPUForArch(const ll
+     case llvm::Triple::GNUEABIHF:
+     case llvm::Triple::GNUEABIHFT64:
+     case llvm::Triple::MuslEABIHF:
+-      return "cortex-a7";
++      return "cortex-a8";
+     default:
+-      return "arm7tdmi";
++      return "arm926ej-s";
+     }
+   }
diff --git a/patches/bolt-disable-emit-relocs.patch b/patches/bolt-disable-emit-relocs.patch
new file mode 100644 (file)
index 0000000..ca0e61c
--- /dev/null
@@ -0,0 +1,14 @@
+Index: llvm-toolchain-snapshot_17~++20230601055733+ee6ec2c5f1a5/bolt/tools/merge-fdata/CMakeLists.txt
+===================================================================
+--- llvm-toolchain-snapshot_17~++20230601055733+ee6ec2c5f1a5.orig/bolt/tools/merge-fdata/CMakeLists.txt
++++ llvm-toolchain-snapshot_17~++20230601055733+ee6ec2c5f1a5/bolt/tools/merge-fdata/CMakeLists.txt
+@@ -12,6 +12,6 @@ add_bolt_tool(merge-fdata
+ add_dependencies(bolt merge-fdata)
+ # Emit relocations for BOLT meta test (bolt/test/runtime/meta-merge-fdata.test)
+-if (BOLT_INCLUDE_TESTS AND UNIX AND NOT APPLE)
+-  target_link_options(merge-fdata PRIVATE LINKER:--emit-relocs)
+-endif()
++# if (BOLT_INCLUDE_TESTS AND UNIX AND NOT APPLE)
++#   target_link_options(merge-fdata PRIVATE LINKER:--emit-relocs)
++# endif()
diff --git a/patches/bolt-disable-proc-check.diff b/patches/bolt-disable-proc-check.diff
new file mode 100644 (file)
index 0000000..61394e6
--- /dev/null
@@ -0,0 +1,21 @@
+bolt: Disable the check for /proc/self/map_files. Might not be available on build machines
+
+--- a/bolt/CMakeLists.txt
++++ b/bolt/CMakeLists.txt
+@@ -42,16 +42,6 @@ if ((CMAKE_SYSTEM_PROCESSOR STREQUAL "x8
+   set(BOLT_ENABLE_RUNTIME_default ON)
+ endif()
+ option(BOLT_ENABLE_RUNTIME "Enable BOLT runtime" ${BOLT_ENABLE_RUNTIME_default})
+-if (BOLT_ENABLE_RUNTIME)
+-  # Some systems prevent reading /proc/self/map_files
+-  execute_process(COMMAND ls /proc/self/map_files
+-    RESULT_VARIABLE LS OUTPUT_QUIET ERROR_QUIET)
+-  if (LS)
+-    message(WARNING
+-      "BOLT runtime may not be able to read /proc/self/map_files. Please use
+-      `--instrumentation-binpath <path-to-instrumented-binary>` option.")
+-  endif()
+-endif()
+ set(BOLT_CLANG_EXE "" CACHE FILEPATH "Path to clang executable for the target \
+ architecture for use in BOLT tests")
diff --git a/patches/bootstrap-fix-include-next.diff b/patches/bootstrap-fix-include-next.diff
new file mode 100644 (file)
index 0000000..8f2fd78
--- /dev/null
@@ -0,0 +1,41 @@
+When doing a bootstrap, we use a newly built clang.
+When this one is used, if already installed on the system,
+we have clang header in two places:
+llvm-toolchain-7-7/build-llvm/lib/clang/7.0.0/include/inttypes.h
+and
+/usr/include/clang/7.0.0/include/inttypes.h
+
+Because clang expects only one of his headers to be available, it uses
+include_next to get the glibc (libc6-dev package) header.
+
+However, in the previous example, because we have inttypes.h twice in the
+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_19~++20240502082504+e3f42b02a412/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 @@
+  *
+ \*===----------------------------------------------------------------------===*/
+-#ifndef __CLANG_INTTYPES_H
++#if !defined(__CLANG_INTTYPES_H) || !defined(_INTTYPES_H)
+ // 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_19~++20240502082504+e3f42b02a412/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 @@
+  *
+ \*===----------------------------------------------------------------------===*/
+-#ifndef __CLANG_LIMITS_H
++#if !defined(__CLANG_LIMITS_H) || !defined(_LIBC_LIMITS_H_)
+ #define __CLANG_LIMITS_H
+ #if defined(__MVS__) && __has_include_next(<limits.h>)
diff --git a/patches/clang-analyzer-force-version.diff b/patches/clang-analyzer-force-version.diff
new file mode 100644 (file)
index 0000000..94e3cd2
--- /dev/null
@@ -0,0 +1,25 @@
+# Force the version of clang in the analyzer
+# This was causing the static analyzer to fail silently if the clang & clang++ are
+# not installed
+Index: llvm-toolchain-snapshot_17~++20211117120952+5b4bfd8c2417/clang/tools/scan-build/libexec/ccc-analyzer
+===================================================================
+--- llvm-toolchain-snapshot_17~++20211117120952+5b4bfd8c2417.orig/clang/tools/scan-build/libexec/ccc-analyzer
++++ llvm-toolchain-snapshot_17~++20211117120952+5b4bfd8c2417/clang/tools/scan-build/libexec/ccc-analyzer
+@@ -93,7 +93,7 @@ if ($FindBin::Script =~ /c\+\+-analyzer/
+   if (!defined $Compiler || (! -x $Compiler && ! SearchInPath($Compiler))) { $Compiler = $DefaultCXXCompiler; }
+   $Clang = $ENV{'CLANG_CXX'};
+-  if (!defined $Clang || ! -x $Clang) { $Clang = 'clang++'; }
++  if (!defined $Clang || ! -x $Clang) { $Clang = 'clang++-19'; }
+   $IsCXX = 1
+ }
+@@ -102,7 +102,7 @@ else {
+   if (!defined $Compiler || (! -x $Compiler && ! SearchInPath($Compiler))) { $Compiler = $DefaultCCompiler; }
+   $Clang = $ENV{'CLANG'};
+-  if (!defined $Clang || ! -x $Clang) { $Clang = 'clang'; }
++  if (!defined $Clang || ! -x $Clang) { $Clang = 'clang-19'; }
+   $IsCXX = 0
+ }
diff --git a/patches/clang-arm-default-vfp3-on-armv7a.patch b/patches/clang-arm-default-vfp3-on-armv7a.patch
new file mode 100644 (file)
index 0000000..ec5a121
--- /dev/null
@@ -0,0 +1,29 @@
+Index: llvm-toolchain-snapshot_19~++20240424094944+78ebaa2d798f/llvm/include/llvm/TargetParser/ARMTargetParser.def
+===================================================================
+--- 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,
+-                                                       FeatureNEON,
++                                                       FeatureVFP3,
++                                                       FeatureVFP3_D16,
+                                                        FeatureDB,
+                                                        FeatureDSP,
+                                                        FeatureAClass,
diff --git a/patches/clang-baseline-fix-i386.patch b/patches/clang-baseline-fix-i386.patch
new file mode 100644 (file)
index 0000000..592d273
--- /dev/null
@@ -0,0 +1,15 @@
+Index: llvm-toolchain-snapshot_17~++20230517015648+0b6264738f3d/clang/lib/Driver/ToolChains/Arch/X86.cpp
+===================================================================
+--- llvm-toolchain-snapshot_17~++20230517015648+0b6264738f3d.orig/clang/lib/Driver/ToolChains/Arch/X86.cpp
++++ llvm-toolchain-snapshot_17~++20230517015648+0b6264738f3d/clang/lib/Driver/ToolChains/Arch/X86.cpp
+@@ -111,8 +111,8 @@ std::string x86::getX86TargetCPU(const D
+   case llvm::Triple::FreeBSD:
+     return "i686";
+   default:
+-    // Fallback to p4.
+-    return "pentium4";
++    // Fallback to i686.
++    return "i686";
+   }
+ }
diff --git a/patches/clang-format-version.diff b/patches/clang-format-version.diff
new file mode 100644 (file)
index 0000000..2223196
--- /dev/null
@@ -0,0 +1,45 @@
+---
+ clang/tools/clang-format/clang-format-diff.py |    2 +-
+ clang/tools/clang-format/clang-format.el      |    2 +-
+ clang/tools/clang-format/clang-format.py      |    2 +-
+ 3 files changed, 3 insertions(+), 3 deletions(-)
+
+Index: llvm-toolchain-snapshot_19~++20240220124703+f122268c0441/clang/tools/clang-format/clang-format-diff.py
+===================================================================
+--- 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-19",
+         help="location of binary to use for clang-format",
+     )
+     args = parser.parse_args()
+Index: llvm-toolchain-snapshot_19~++20240220124703+f122268c0441/clang/tools/clang-format/clang-format.el
+===================================================================
+--- 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-19")
+       "clang-format")
+   "Location of the clang-format executable.
+Index: llvm-toolchain-snapshot_19~++20240220124703+f122268c0441/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-19"
+ if vim.eval('exists("g:clang_format_path")') == "1":
+     binary = vim.eval("g:clang_format_path")
diff --git a/patches/clang-tidy-run-bin.diff b/patches/clang-tidy-run-bin.diff
new file mode 100644 (file)
index 0000000..dc1d544
--- /dev/null
@@ -0,0 +1,18 @@
+Index: llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e/clang-tools-extra/clang-tidy/tool/run-clang-tidy.py
+===================================================================
+--- 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", help="Path to clang-tidy binary.",
++        default='clang-tidy-19'
+     )
+     parser.add_argument(
+         "-clang-apply-replacements-binary",
++        default='clang-apply-replacements-19',
+         metavar="PATH",
+         help="Path to clang-apply-replacements binary.",
+     )
diff --git a/patches/clangd-atomic-cmake.patch b/patches/clangd-atomic-cmake.patch
new file mode 100644 (file)
index 0000000..e4184b5
--- /dev/null
@@ -0,0 +1,24 @@
+Index: llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e/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")
++if(CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "i386" OR
++   CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "i686")
++  list(APPEND CLANGD_ATOMIC_LIB "atomic")
++endif()
++
+ add_clang_library(clangDaemon
+   AST.cpp
+   ASTSignals.cpp
+@@ -181,6 +186,7 @@ clang_target_link_libraries(clangDaemon
+ target_link_libraries(clangDaemon
+   PRIVATE
+   ${LLVM_PTHREAD_LIB}
++  ${CLANGD_ATOMIC_LIB}
+   clangIncludeCleaner
+   clangPseudo
diff --git a/patches/compiler-rt/compilerrt-build-scudo-standalone-option.diff b/patches/compiler-rt/compilerrt-build-scudo-standalone-option.diff
new file mode 100644 (file)
index 0000000..f20132a
--- /dev/null
@@ -0,0 +1,19 @@
+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_19~++20240711013116+0ff13f72c974/compiler-rt/CMakeLists.txt
+===================================================================
+--- 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)
++option(COMPILER_RT_BUILD_SCUDO_STANDALONE
++  "override whether or not to build scudo standalone" ON)
++if(NOT COMPILER_RT_BUILD_SCUDO_STANDALONE)
++  set(COMPILER_RT_HAS_SCUDO_STANDALONE FALSE)
++endif()
++
+ #================================
+ # Setup Compiler Flags
+ #================================
diff --git a/patches/compiler-rt/compilerrt-builtins-arch-fix-armhf.diff b/patches/compiler-rt/compilerrt-builtins-arch-fix-armhf.diff
new file mode 100644 (file)
index 0000000..727f7d3
--- /dev/null
@@ -0,0 +1,18 @@
+fix builtins armhf default arch detection by adding the same armhf triple
+handling use for compiler-rt
+Index: llvm-toolchain-snapshot_19~++20240220124703+f122268c0441/compiler-rt/lib/builtins/CMakeLists.txt
+===================================================================
+--- 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()
++  if ("${COMPILER_RT_DEFAULT_TARGET_TRIPLE}" MATCHES ".*hf$")
++    if (${COMPILER_RT_DEFAULT_TARGET_ARCH} MATCHES "^arm")
++      set(COMPILER_RT_DEFAULT_TARGET_ARCH "armhf")
++    endif()
++  endif()
+   include(SetPlatformToolchainTools)
+   if(APPLE)
diff --git a/patches/debug-jit-path.diff b/patches/debug-jit-path.diff
new file mode 100644 (file)
index 0000000..7eedfb1
--- /dev/null
@@ -0,0 +1,15 @@
+Index: llvm-toolchain-snapshot_17~++20230523093327+96a003b9bf79/llvm/lib/ExecutionEngine/PerfJITEvents/PerfJITEventListener.cpp
+===================================================================
+--- llvm-toolchain-snapshot_17~++20230523093327+96a003b9bf79.orig/llvm/lib/ExecutionEngine/PerfJITEvents/PerfJITEventListener.cpp
++++ llvm-toolchain-snapshot_17~++20230523093327+96a003b9bf79/llvm/lib/ExecutionEngine/PerfJITEvents/PerfJITEventListener.cpp
+@@ -303,8 +303,8 @@ bool PerfJITEventListener::InitDebugging
+   // search for location to dump data to
+   if (const char *BaseDir = getenv("JITDUMPDIR"))
+     Path.append(BaseDir);
+-  else if (!sys::path::home_directory(Path))
+-    Path = ".";
++  else
++    sys::path::system_temp_directory(/*ErasedOnReboot*/ true, Path);
+   // create debug directory
+   Path += "/.debug/jit/";
diff --git a/patches/declare_clear_cache.diff b/patches/declare_clear_cache.diff
new file mode 100644 (file)
index 0000000..3b1462d
--- /dev/null
@@ -0,0 +1,17 @@
+---
+ lib/Support/Unix/Memory.inc |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+Index: llvm-toolchain-snapshot_19~++20240220124703+f122268c0441/llvm/lib/Support/Unix/Memory.inc
+===================================================================
+--- 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<const char *>(Addr);
+   const char *End = Start + Len;
+-  __clear_cache(const_cast<char *>(Start), const_cast<char *>(End));
++  __builtin___clear_cache(const_cast<char *>(Start), const_cast<char *>(End));
+ #endif
+ #endif // end apple
diff --git a/patches/disable-error-xray.diff b/patches/disable-error-xray.diff
new file mode 100644 (file)
index 0000000..dceabc1
--- /dev/null
@@ -0,0 +1,13 @@
+Index: llvm-toolchain-snapshot_15~++20220407011631+46f0e2ceb487/compiler-rt/lib/xray/xray_tsc.h
+===================================================================
+--- llvm-toolchain-snapshot_15~++20220407011631+46f0e2ceb487.orig/compiler-rt/lib/xray/xray_tsc.h
++++ llvm-toolchain-snapshot_15~++20220407011631+46f0e2ceb487/compiler-rt/lib/xray/xray_tsc.h
+@@ -83,8 +83,6 @@ inline uint64_t getTSCFrequency() XRAY_N
+ } // namespace __xray
+-#else
+-#error Target architecture is not supported.
+ #endif // CPU architecture
+ #endif // SANITIZER_FUCHSIA
diff --git a/patches/disable-llvm-symbolizer-test.diff b/patches/disable-llvm-symbolizer-test.diff
new file mode 100644 (file)
index 0000000..7df61f7
--- /dev/null
@@ -0,0 +1,25 @@
+Description: Silent a test failing on yakkety amd64
+ /tmp/buildd/llvm-toolchain-snapshot-4.0~svn279801/llvm/test/tools/llvm-symbolizer/print_context.c:16:11: error: expected string not found in input
+ // CHECK: inc
+          ^
+ <stdin>:1:1: note: scanning from here
+ _fini
+ ^
+ <stdin>:1:3: note: possible intended match here
+ _fini
+  ^
+Author: Sylvestre <sylvestre@debian.org>
+Last-Update: 2016-08-26
+
+Index: llvm-toolchain-snapshot_15~++20220407011631+46f0e2ceb487/llvm/test/tools/llvm-symbolizer/print_context.c
+===================================================================
+--- llvm-toolchain-snapshot_15~++20220407011631+46f0e2ceb487.orig/llvm/test/tools/llvm-symbolizer/print_context.c
++++ llvm-toolchain-snapshot_15~++20220407011631+46f0e2ceb487/llvm/test/tools/llvm-symbolizer/print_context.c
+@@ -18,6 +18,7 @@ int main() {
+ // Inputs/print_context.o built with plain -g -c from this source file
+ // Specifying -Xclang -fdebug-compilation-dir -Xclang . to make the debug info
+ // location independent.
++// XFAIL: *
+ // CHECK: inc
+ // CHECK-NEXT: print_context.c:3
diff --git a/patches/disable-openmp-per-target.diff b/patches/disable-openmp-per-target.diff
new file mode 100644 (file)
index 0000000..845e21c
--- /dev/null
@@ -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/patches/disable-path-test-failing.diff b/patches/disable-path-test-failing.diff
new file mode 100644 (file)
index 0000000..79c707a
--- /dev/null
@@ -0,0 +1,31 @@
+Index: llvm-toolchain-snapshot_19~++20240220124703+f122268c0441/llvm/unittests/Support/Path.cpp
+===================================================================
+--- 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");
+   }
+-  void TearDown() override { ASSERT_NO_ERROR(fs::remove(TestDirectory.str())); }
++//  void TearDown() override { ASSERT_NO_ERROR(fs::remove(TestDirectory.str())); }
+ };
+ TEST_F(FileSystemTest, Unique) {
+@@ -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);
+-  if (Result) {
++/*
++    if (Result) {
+     checkSeparators(HomeDir);
+     ASSERT_NO_ERROR(fs::real_path(HomeDir, Expected));
+     checkSeparators(Expected);
+@@ -777,6 +778,7 @@ TEST_F(FileSystemTest, RealPath) {
+     ASSERT_NO_ERROR(fs::real_path("~/", Actual, true));
+     EXPECT_EQ(Expected, Actual);
+   }
++*/
+   ASSERT_NO_ERROR(fs::remove_directories(Twine(TestDirectory) + "/test1"));
+ }
diff --git a/patches/disable-sse2-old-x86.diff b/patches/disable-sse2-old-x86.diff
new file mode 100644 (file)
index 0000000..836ddd1
--- /dev/null
@@ -0,0 +1,13 @@
+Index: llvm-toolchain-snapshot_19~++20240220124703+f122268c0441/llvm/lib/TargetParser/X86TargetParser.cpp
+===================================================================
+--- 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
+-constexpr FeatureBitset FeaturesPentium4 = FeaturesPentium3 | FeatureSSE2;
++constexpr FeatureBitset FeaturesPentium4 = FeaturesPentium3;
+ constexpr FeatureBitset FeaturesPrescott = FeaturesPentium4 | FeatureSSE3;
+ constexpr FeatureBitset FeaturesNocona =
+     FeaturesPrescott | Feature64BIT | FeatureCMPXCHG16B;
diff --git a/patches/do-not-fail-on-unexpected-pass.diff b/patches/do-not-fail-on-unexpected-pass.diff
new file mode 100644 (file)
index 0000000..2931c2c
--- /dev/null
@@ -0,0 +1,13 @@
+Index: llvm-toolchain-snapshot_17~++20230517015648+0b6264738f3d/llvm/utils/lit/lit/Test.py
+===================================================================
+--- llvm-toolchain-snapshot_17~++20230517015648+0b6264738f3d.orig/llvm/utils/lit/lit/Test.py
++++ llvm-toolchain-snapshot_17~++20230517015648+0b6264738f3d/llvm/utils/lit/lit/Test.py
+@@ -52,7 +52,7 @@ XFAIL = ResultCode("XFAIL", "Expectedly
+ UNRESOLVED = ResultCode("UNRESOLVED", "Unresolved", True)
+ TIMEOUT = ResultCode("TIMEOUT", "Timed Out", True)
+ FAIL = ResultCode("FAIL", "Failed", True)
+-XPASS = ResultCode("XPASS", "Unexpectedly Passed", True)
++XPASS       = ResultCode('XPASS',       'Unexpectedly Passed', False)
+ # Test metric values.
diff --git a/patches/env-lld-package-metadata.diff b/patches/env-lld-package-metadata.diff
new file mode 100644 (file)
index 0000000..db8025c
--- /dev/null
@@ -0,0 +1,18 @@
+Index: llvm-toolchain-19_19.1.2~++20241028100023+d8752671e825/lld/ELF/Driver.cpp
+===================================================================
+--- llvm-toolchain-19_19.1.2~++20241028100023+d8752671e825.orig/lld/ELF/Driver.cpp
++++ llvm-toolchain-19_19.1.2~++20241028100023+d8752671e825/lld/ELF/Driver.cpp
+@@ -1380,6 +1380,13 @@ static void readConfigs(opt::InputArgLis
+   config->orphanHandling = getOrphanHandling(args);
+   config->outputFile = args.getLastArgValue(OPT_o);
+   config->packageMetadata = args.getLastArgValue(OPT_package_metadata);
++  // No package-metadata option, fall-back to env ELF_PACKAGE_METADATA
++  if (config->packageMetadata.empty()) {
++    const char *env_package_metadata = getenv("ELF_PACKAGE_METADATA");
++    if (env_package_metadata && strcmp(env_package_metadata, "") != 0) {
++      config->packageMetadata = StringRef(env_package_metadata);
++    }
++  }
+   config->pie = args.hasFlag(OPT_pie, OPT_no_pie, false);
+   config->printIcfSections =
+       args.hasFlag(OPT_print_icf_sections, OPT_no_print_icf_sections, false);
diff --git a/patches/fix-clang-path-and-build.diff b/patches/fix-clang-path-and-build.diff
new file mode 100644 (file)
index 0000000..252aa5c
--- /dev/null
@@ -0,0 +1,33 @@
+Index: llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e/clang/lib/Driver/ToolChains/Linux.cpp
+===================================================================
+--- 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"
++#include "clang/Basic/Version.h"
+ #include "clang/Config/config.h"
+ #include "clang/Driver/Distro.h"
+ #include "clang/Driver/Driver.h"
+@@ -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) &&
+-      (!getTriple().isMusl() || DriverArgs.hasArg(options::OPT_nostdlibinc)))
+-    addSystemInclude(DriverArgs, CC1Args, ResourceDirInclude);
++      (!getTriple().isMusl() || DriverArgs.hasArg(options::OPT_nostdlibinc))) {
++      if (llvm::sys::fs::exists(ResourceDirInclude)) {
++          /* Include the build include directory only
++           * Otherwise, it fails with stage2 when clang headers are available on the system
++           * they usually fail because of the include_next. Two llvm/clang headers are found
++           * while we are waiting for the lib C++ (std or not)
++           */
++          addSystemInclude(DriverArgs, CC1Args, ResourceDirInclude);
++      } else {
++          addSystemInclude(DriverArgs, CC1Args, "/usr/include/clang/" + std::string(CLANG_VERSION_STRING) + "/include/");
++      }
++  }
+   if (DriverArgs.hasArg(options::OPT_nostdlibinc))
+     return;
diff --git a/patches/fix-scan-view-path.diff b/patches/fix-scan-view-path.diff
new file mode 100644 (file)
index 0000000..60c52bd
--- /dev/null
@@ -0,0 +1,21 @@
+Index: llvm-toolchain-snapshot_19~++20240220124703+f122268c0441/clang/tools/scan-view/bin/scan-view
+===================================================================
+--- 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-19'
+ def url_is_up(url):
+@@ -64,7 +65,7 @@ def start_browser(port, options):
+ def run(port, options, root):
+     # Prefer to look relative to the installed binary
+-    share = os.path.dirname(__file__) + "/../share/"
++    share = os.path.join(BASE_DIR, 'share')
+     if not os.path.isdir(share):
+         # Otherwise look relative to the source
+         share = os.path.dirname(__file__) + "/../../scan-view/share"
diff --git a/patches/force-sse2-compiler-rt.diff b/patches/force-sse2-compiler-rt.diff
new file mode 100644 (file)
index 0000000..b79948c
--- /dev/null
@@ -0,0 +1,17 @@
+Index: llvm-toolchain-snapshot_19~++20240711013116+0ff13f72c974/compiler-rt/lib/builtins/CMakeLists.txt
+===================================================================
+--- 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()
++  if(${CMAKE_SYSTEM_PROCESSOR} MATCHES "x86_64")
++    append_list_if(COMPILER_RT_HAS_FLOAT16 -msse2 -DCOMPILER_RT_HAS_FLOAT16 BUILTIN_CFLAGS)
++  else ()
++    append_list_if(COMPILER_RT_HAS_FLOAT16 -DCOMPILER_RT_HAS_FLOAT16 BUILTIN_CFLAGS)
++  endif()
++
+   append_list_if(COMPILER_RT_HAS_STD_C11_FLAG -std=c11 BUILTIN_CFLAGS)
+   append_list_if(COMPILER_RT_HAS_WBUILTIN_DECLARATION_MISMATCH_FLAG -Werror=builtin-declaration-mismatch BUILTIN_CFLAGS)
diff --git a/patches/hurd/hurd-f_type.diff b/patches/hurd/hurd-f_type.diff
new file mode 100644 (file)
index 0000000..f73077a
--- /dev/null
@@ -0,0 +1,27 @@
+https://github.com/llvm/llvm-project/pull/71851
+
+commit 620b8d994b8abdcf31271d9f4db7e7422fc9bd65
+Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
+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/patches/hurd/hurd-pathmax.diff b/patches/hurd/hurd-pathmax.diff
new file mode 100644 (file)
index 0000000..49f7fb5
--- /dev/null
@@ -0,0 +1,33 @@
+Index: llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e/clang/lib/Basic/FileManager.cpp
+===================================================================
+--- 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();
+ }
++// For GNU Hurd
++#if defined(__GNU__) && !defined(PATH_MAX)
++# define PATH_MAX 4096
++#endif
++
++
+ void FileManager::GetUniqueIDMapping(
+     SmallVectorImpl<OptionalFileEntryRef> &UIDToFiles) const {
+   UIDToFiles.clear();
+Index: llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e/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
++// For GNU Hurd
++#if defined(__GNU__) && !defined(PATH_MAX)
++# define PATH_MAX 4096
++#endif
++
+ #if !defined(UINT32_MAX)
+ #define UINT32_MAX 4294967295U
+ #endif
diff --git a/patches/issue-54242.diff b/patches/issue-54242.diff
new file mode 100644 (file)
index 0000000..73bc5b6
--- /dev/null
@@ -0,0 +1,13 @@
+Index: llvm-toolchain-snapshot_19~++20240220124703+f122268c0441/mlir/lib/ExecutionEngine/CMakeLists.txt
+===================================================================
+--- 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
+-  EXCLUDE_FROM_LIBMLIR
++#  EXCLUDE_FROM_LIBMLIR
+   ADDITIONAL_HEADER_DIRS
+   ${MLIR_MAIN_INCLUDE_DIR}/mlir/ExecutionEngine
diff --git a/patches/libclang-major-version-only.diff b/patches/libclang-major-version-only.diff
new file mode 100644 (file)
index 0000000..aec0ff2
--- /dev/null
@@ -0,0 +1,13 @@
+Index: llvm-toolchain-snapshot_19~++20240220124703+f122268c0441/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)
+     set_target_properties(libclang PROPERTIES
+-                          VERSION ${LLVM_VERSION_MAJOR}.${LLVM_VERSION_MINOR}.${LLVM_VERSION_PATCH}${LLVM_VERSION_SUFFIX}
++                          VERSION ${LLVM_VERSION_MAJOR}
+                           ${LIBCLANG_SOVERSION_ARG})
+   endif()
+ endif()
diff --git a/patches/libclc-fix-prepare_builtins-rpath.diff b/patches/libclc-fix-prepare_builtins-rpath.diff
new file mode 100644 (file)
index 0000000..e5dc91e
--- /dev/null
@@ -0,0 +1,16 @@
+set rpath for prepare_builtins build utility to find correct stage2
+libs at runtime when executed as part of a build
+Index: llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e/libclc/CMakeLists.txt
+===================================================================
+--- 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 )
++set_target_properties( prepare_builtins
++                       PROPERTIES INSTALL_RPATH "${LLVM_LIBDIR}"
++                       BUILD_WITH_INSTALL_RPATH "ON")
+ # Setup arch devices
+ set( r600--_devices cedar cypress barts cayman )
diff --git a/patches/libcxx/libcxx-armhf-ftbfs.diff b/patches/libcxx/libcxx-armhf-ftbfs.diff
new file mode 100644 (file)
index 0000000..612394c
--- /dev/null
@@ -0,0 +1,21 @@
+Index: llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e/libcxx/include/__atomic/aliases.h
+===================================================================
+--- 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
++#ifndef NO_LOCK_FREE
+ using __contention_t_or_largest =
+     __conditional_t<__libcpp_is_always_lock_free<__cxx_contention_t>::__value,
+                     __cxx_contention_t,
+@@ -104,6 +105,8 @@ using atomic_signed_lock_free   = atomic
+ using atomic_unsigned_lock_free = atomic<make_unsigned_t<__contention_t_or_largest>>;
+ #  endif // !_LIBCPP_NO_LOCK_FREE_TYPES
+ #endif   // C++20
++#endif
++#undef NO_LOCK_FREE
+ _LIBCPP_END_NAMESPACE_STD
diff --git a/patches/libcxx/libcxx-libatomic-only-with-gcc-rtlib.diff b/patches/libcxx/libcxx-libatomic-only-with-gcc-rtlib.diff
new file mode 100644 (file)
index 0000000..191ac03
--- /dev/null
@@ -0,0 +1,25 @@
+if libatomic is found only link it if libgcc is the rtlib
+Index: llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e/libcxx/CMakeLists.txt
+===================================================================
+--- 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)
++      if (LIBCXX_HAS_ATOMIC_LIB)
++        target_link_libraries(${target} PRIVATE atomic)
++      endif()
+     elseif (LIBCXX_HAS_GCC_S_LIB)
+       target_link_libraries(${target} PRIVATE gcc_s)
+     endif()
+-  endif()
+-  if (LIBCXX_HAS_ATOMIC_LIB)
+-    target_link_libraries(${target} PRIVATE atomic)
++    if (LIBCXX_HAS_ATOMIC_LIB)
++      target_link_libraries(${target} PRIVATE atomic)
++    endif()
+   endif()
+   if (MINGW)
diff --git a/patches/libcxx/libcxx-silent-failure-arm64.diff b/patches/libcxx/libcxx-silent-failure-arm64.diff
new file mode 100644 (file)
index 0000000..a6fdf34
--- /dev/null
@@ -0,0 +1,25 @@
+Index: llvm-toolchain-snapshot_19~++20240523103209+70d1844abebb/libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_for.pass.cpp
+===================================================================
+--- 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: *
+ // <condition_variable>
+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_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
++// XFAIL: *
++
+ // <shared_mutex>
+ // template <class Mutex> class shared_lock;
diff --git a/patches/libcxx/libcxx-silent-failure-ppc64el.diff b/patches/libcxx/libcxx-silent-failure-ppc64el.diff
new file mode 100644 (file)
index 0000000..8c19d11
--- /dev/null
@@ -0,0 +1,13 @@
+Index: llvm-toolchain-snapshot_14~++20210826102344+84cbd71c9592/libcxx/test/libcxx/atomics/atomics.align/align.pass.cpp
+===================================================================
+--- llvm-toolchain-snapshot_14~++20210826102344+84cbd71c9592.orig/libcxx/test/libcxx/atomics/atomics.align/align.pass.cpp
++++ llvm-toolchain-snapshot_14~++20210826102344+84cbd71c9592/libcxx/test/libcxx/atomics/atomics.align/align.pass.cpp
+@@ -18,7 +18,7 @@
+ // GCC currently fails because it needs -fabi-version=6 to fix mangling of
+ // std::atomic when used with __attribute__((vector(X))).
+-// XFAIL: gcc
++// XFAIL: *
+ // This fails on PowerPC, as the LLIArr2 and Padding structs do not have
+ // adequate alignment, despite these types returning true for the query of
diff --git a/patches/libcxx/libcxx-silent-test-libcxx.diff b/patches/libcxx/libcxx-silent-test-libcxx.diff
new file mode 100644 (file)
index 0000000..15c3595
--- /dev/null
@@ -0,0 +1,51 @@
+Index: llvm-toolchain-snapshot_18~++20231218053220+7b1e4239b396/libcxx/test/std/numerics/rand/rand.util/rand.util.canonical/generate_canonical.pass.cpp
+===================================================================
+--- llvm-toolchain-snapshot_18~++20231218053220+7b1e4239b396.orig/libcxx/test/std/numerics/rand/rand.util/rand.util.canonical/generate_canonical.pass.cpp
++++ llvm-toolchain-snapshot_18~++20231218053220+7b1e4239b396/libcxx/test/std/numerics/rand/rand.util/rand.util.canonical/generate_canonical.pass.cpp
+@@ -11,6 +11,8 @@
+ // template<class RealType, size_t bits, class URNG>
+ //     RealType generate_canonical(URNG& g);
++// XFAIL: *
++
+ #include <random>
+ #include <cassert>
+Index: llvm-toolchain-snapshot_18~++20231218053220+7b1e4239b396/libcxx/test/std/re/re.traits/isctype.pass.cpp
+===================================================================
+--- llvm-toolchain-snapshot_18~++20231218053220+7b1e4239b396.orig/libcxx/test/std/re/re.traits/isctype.pass.cpp
++++ llvm-toolchain-snapshot_18~++20231218053220+7b1e4239b396/libcxx/test/std/re/re.traits/isctype.pass.cpp
+@@ -12,6 +12,7 @@
+ // bool isctype(charT c, char_class_type f) const;
++// XFAIL: *
+ #include <regex>
+ #include <cassert>
+Index: llvm-toolchain-snapshot_18~++20231218053220+7b1e4239b396/libcxxabi/test/catch_multi_level_pointer.pass.cpp
+===================================================================
+--- llvm-toolchain-snapshot_18~++20231218053220+7b1e4239b396.orig/libcxxabi/test/catch_multi_level_pointer.pass.cpp
++++ llvm-toolchain-snapshot_18~++20231218053220+7b1e4239b396/libcxxabi/test/catch_multi_level_pointer.pass.cpp
+@@ -15,6 +15,8 @@
+ // memory and this test requires almost 5 MB
+ // UNSUPPORTED: LIBCXX-PICOLIBC-FIXME
++// XFAIL: *
++
+ #include <cassert>
+ #include <cstdio>
+ #include <cstdlib>
+Index: llvm-toolchain-snapshot_18~++20231218053220+7b1e4239b396/libcxx/test/std/utilities/allocator.adaptor/allocator.adaptor.members/construct.pass.cpp
+===================================================================
+--- llvm-toolchain-snapshot_18~++20231218053220+7b1e4239b396.orig/libcxx/test/std/utilities/allocator.adaptor/allocator.adaptor.members/construct.pass.cpp
++++ llvm-toolchain-snapshot_18~++20231218053220+7b1e4239b396/libcxx/test/std/utilities/allocator.adaptor/allocator.adaptor.members/construct.pass.cpp
+@@ -15,6 +15,8 @@
+ // template <class T, class... Args> void construct(T* p, Args&&... args);
++// XFAIL: *
++
+ #include <scoped_allocator>
+ #include <cassert>
+ #include <string>
diff --git a/patches/libcxx/libcxx-test-fix-lockfree-test-for-i386.patch b/patches/libcxx/libcxx-test-fix-lockfree-test-for-i386.patch
new file mode 100644 (file)
index 0000000..ff67697
--- /dev/null
@@ -0,0 +1,31 @@
+Lock is_always_lock free test fails on i386 because std::atomic is aligned
+to 8 bytes while long long is aligned to 4 bytes. clang can't generate inline
+code for unaligned 8 byte atomics even tough instruction set and gcc support
+it.
+
+That makes it expected thaqt ATOMIC_LLONG_LOCK_FREE and
+std::atomic<long long>::is_always_lock_free don't match on i386. Correct test
+for std::atomic<long long> is to check if target cpu support cmpxchg8 instruction.
+To set instruction support one can check __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 define.
+
+Bug: https://llvm.org/bugs/show_bug.cgi?id=19355
+
+Index: llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e/libcxx/test/std/atomics/atomics.lockfree/is_always_lock_free.pass.cpp
+===================================================================
+--- 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 incorrectly for x86
++ * https://llvm.org/bugs/show_bug.cgi?id=19355
++ */
++#undef ATOMIC_LLONG_LOCK_FREE
++#define ATOMIC_LLONG_LOCK_FREE 2
++#endif
++
+ template <typename T>
+ void check_always_lock_free(std::atomic<T> const& a) {
+   using InfoT = LockFreeStatusInfo<T>;
diff --git a/patches/libcxx/libcxxabi-arm-ehabi-fix.patch b/patches/libcxx/libcxxabi-arm-ehabi-fix.patch
new file mode 100644 (file)
index 0000000..f2e30ba
--- /dev/null
@@ -0,0 +1,118 @@
+Fix arm EHABI code to work. armhf had exception test failing without EHABI support.
+
+No known upstream bug about this. Actual code change is more like workaround than
+something that upstream would accept. Proper fix would be adding _Unwind_Control_Block
+to clang unwind.h. _Unwind_Control_Block should also extend _Unwind_Exception to make
+sure their ABI stays in sync.
+
+No known upstream bug about this.
+
+Index: llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e/libcxxabi/src/cxa_exception.cpp
+===================================================================
+--- 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);
+-#else
++#elif !LIBCXXABI_ARM_EHABI
+     _Unwind_RaiseException(&exception_header->unwindHeader);
++#else
++    _Unwind_RaiseException(exception_header->unwindHeader);
+ #endif
+     //  This only happens when there is no handler, or some unexpected unwinding
+     //     error happens.
+     failed_throw(exception_header);
+ }
+-
+ // 2.5.3 Exception Handlers
+ /*
+ The adjusted pointer is computed by the personality routine during phase 1
+@@ -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 (...)!
++#if !LIBCXXABI_ARM_EHABI
+             _Unwind_DeleteException(&globals->caughtExceptions->unwindHeader);
++#else
++            _Unwind_DeleteException(globals->caughtExceptions->unwindHeader);
++#endif
+             globals->caughtExceptions = 0;
+         }
+     }
+@@ -645,8 +650,10 @@ void __cxa_rethrow() {
+     }
+ #ifdef __USING_SJLJ_EXCEPTIONS__
+     _Unwind_SjLj_RaiseException(&exception_header->unwindHeader);
+-#else
++#elif !LIBCXXABI_ARM_EHABI
+     _Unwind_RaiseException(&exception_header->unwindHeader);
++#else
++    _Unwind_RaiseException(exception_header->unwindHeader);
+ #endif
+     //  If we get here, some kind of unwinding error has occurred.
+@@ -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);
++#elif !LIBCXXABI_ARM_EHABI
++      _Unwind_RaiseException(&dep_exception_header->unwindHeader);
+ #else
+-        _Unwind_RaiseException(&dep_exception_header->unwindHeader);
++      _Unwind_RaiseException(dep_exception_header->unwindHeader);
+ #endif
+         // Some sort of unwinding error.  Note that terminate is a handler.
+         __cxa_begin_catch(&dep_exception_header->unwindHeader);
+Index: llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e/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*);
++#if LIBCXXABI_ARM_EHABI
++// GCC has _Unwind_Control_Block in unwind.h (unwind_arm_common.h)
++#if defined(__clang__)
++struct _Unwind_Control_Block
++{
++      uint64_t exception_class;
++      void (*exception_cleanup)(_Unwind_Reason_Code, _Unwind_Control_Block *);
++      struct {
++              _Unwind_Word reserved1;
++              _Unwind_Word reserved2;
++              _Unwind_Word reserved3;
++              _Unwind_Word reserved4;
++              _Unwind_Word reserved5;
++      } unwinder_cache;
++      struct {
++              _Unwind_Word sp;
++              _Unwind_Word bitpattern[5];
++      } barrier_cache;
++      struct {
++              _Unwind_Word bitpattern[4];
++      } cleanup_cache;
++      struct {
++              _Unwind_Word fnstart;
++              _Unwind_Word *ehtp;
++              _Unwind_Word additional;
++              _Unwind_Word reserved1;
++      } pr_cache;
++      long long int :0;
++      operator _Unwind_Exception*() noexcept
++      {
++              return reinterpret_cast<_Unwind_Exception*>(this);
++      }
++};
++
++#endif
++
++#define _Unwind_Exception _Unwind_Control_Block
++#endif
++
+ struct _LIBCXXABI_HIDDEN __cxa_exception {
+ #if defined(__LP64__) || defined(_WIN64) || defined(_LIBCXXABI_ARM_EHABI)
+     // Now _Unwind_Exception is marked with __attribute__((aligned)),
diff --git a/patches/libcxx/libcxxabi-fix-link-builtins.diff b/patches/libcxx/libcxxabi-fix-link-builtins.diff
new file mode 100644 (file)
index 0000000..9cf70c6
--- /dev/null
@@ -0,0 +1,17 @@
+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_19~++20240220124703+f122268c0441/libcxxabi/src/CMakeLists.txt
+===================================================================
+--- 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()
+-if (NOT LIBCXXABI_USE_COMPILER_RT)
++if (LIBCXXABI_USE_COMPILER_RT)
++  add_library_flags("${LIBCXXABI_BUILTINS_LIBRARY}")
++else()
+   add_library_flags_if(LIBCXXABI_HAS_GCC_LIB gcc)
+ endif()
+ if (NOT LIBCXXABI_USE_LLVM_UNWINDER)
diff --git a/patches/libcxx/libcxxabi-test-don-t-fail-extended-long-double.patch b/patches/libcxx/libcxxabi-test-don-t-fail-extended-long-double.patch
new file mode 100644 (file)
index 0000000..4a046e1
--- /dev/null
@@ -0,0 +1,17 @@
+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-19_19.1.2~++20241011093632+6c1fd539e43e/libcxxabi/test/test_demangle.pass.cpp
+===================================================================
+--- 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",
+ #endif
+       // The following test cases were found by libFuzzer+ASAN
diff --git a/patches/link-grpc.diff b/patches/link-grpc.diff
new file mode 100644 (file)
index 0000000..708e5bc
--- /dev/null
@@ -0,0 +1,52 @@
+Index: llvm-toolchain-snapshot_17~++20230517080653+e9a17453ee55/clang/cmake/modules/AddGRPC.cmake
+===================================================================
+--- llvm-toolchain-snapshot_17~++20230517080653+e9a17453ee55.orig/clang/cmake/modules/AddGRPC.cmake
++++ llvm-toolchain-snapshot_17~++20230517080653+e9a17453ee55/clang/cmake/modules/AddGRPC.cmake
+@@ -4,8 +4,13 @@ function(generate_clang_protos_library L
+   # Take the first two args and forward the remaining to generate_proto_sources.
+   cmake_parse_arguments(PARSE_ARGV 2 PROTO "" "" "")
+   generate_proto_sources(ProtoSource ${ProtoFile} ${PROTO_UNPARSED_ARGUMENTS})
++  set(LINKED_GRPC_LIBRARIES protobuf gpr grpc grpc++)
++  if (ABSL_SYNCHRONIZATION_LIBRARY)
++    list(APPEND LINKED_GRPC_LIBRARIES absl_synchronization)
++  endif()
+   add_clang_library(${LibraryName} ${ProtoSource}
+     PARTIAL_SOURCES_INTENDED
+-    LINK_LIBS PUBLIC grpc++ protobuf)
++    LINK_LIBS PUBLIC  ${LINKED_GRPC_LIBRARIES})
++
+ endfunction()
+Index: llvm-toolchain-snapshot_17~++20230517080653+e9a17453ee55/cmake/Modules/FindGRPC.cmake
+===================================================================
+--- llvm-toolchain-snapshot_17~++20230517080653+e9a17453ee55.orig/cmake/Modules/FindGRPC.cmake
++++ llvm-toolchain-snapshot_17~++20230517080653+e9a17453ee55/cmake/Modules/FindGRPC.cmake
+@@ -82,11 +82,28 @@ else()
+     endif()
+   endif()
+   if(NOT TARGET grpc++)
++    find_library(GPR_LIBRARY gpr ${GRPC_OPTS} REQUIRED)
++    add_library(gpr UNKNOWN IMPORTED GLOBAL)
++    message(STATUS "Using gpr: " ${GPR_LIBRARY})
++    set_target_properties(gpr PROPERTIES IMPORTED_LOCATION ${GPR_LIBRARY})
++
+     find_library(GRPC_LIBRARY grpc++ ${GRPC_OPTS} REQUIRED)
+     add_library(grpc++ UNKNOWN IMPORTED GLOBAL)
+     message(STATUS "Using grpc++: " ${GRPC_LIBRARY})
+     set_target_properties(grpc++ PROPERTIES IMPORTED_LOCATION ${GRPC_LIBRARY})
+     target_include_directories(grpc++ INTERFACE ${GRPC_INCLUDE_PATHS})
++    find_library(GRPC2_LIBRARY grpc ${GRPC_OPTS} REQUIRED)
++    add_library(grpc UNKNOWN IMPORTED GLOBAL)
++    message(STATUS "Using grpc: " ${GRPC2_LIBRARY})
++    set_target_properties(grpc PROPERTIES IMPORTED_LOCATION ${GRPC2_LIBRARY})
++
++    find_library(ABSL_SYNCHRONIZATION_LIBRARY absl_synchronization ${GRPC_OPTS} QUIET)
++    if (ABSL_SYNCHRONIZATION_LIBRARY)
++      add_library(absl_synchronization UNKNOWN IMPORTED GLOBAL)
++      message(STATUS "Using absl_synchronization: " ${ABSL_SYNCHRONIZATION_LIBRARY})
++      set_target_properties(absl_synchronization PROPERTIES IMPORTED_LOCATION ${ABSL_SYNCHRONIZATION_LIBRARY})
++    endif()
++
+     if (ENABLE_GRPC_REFLECTION)
+       find_library(GRPC_REFLECTION_LIBRARY grpc++_reflection ${GRPC_OPTS} REQUIRED)
+       add_library(grpc++_reflection UNKNOWN IMPORTED GLOBAL)
diff --git a/patches/link-with-package-metadata.diff b/patches/link-with-package-metadata.diff
new file mode 100644 (file)
index 0000000..4957f86
--- /dev/null
@@ -0,0 +1,26 @@
+Index: llvm-toolchain-19_19.1.2~++20241028100023+d8752671e825/clang/lib/Driver/ToolChains/Linux.cpp
+===================================================================
+--- llvm-toolchain-19_19.1.2~++20241028100023+d8752671e825.orig/clang/lib/Driver/ToolChains/Linux.cpp
++++ llvm-toolchain-19_19.1.2~++20241028100023+d8752671e825/clang/lib/Driver/ToolChains/Linux.cpp
+@@ -298,6 +298,21 @@ Linux::Linux(const Driver &D, const llvm
+   ExtraOpts.push_back("--build-id");
+ #endif
++  if (Distro.IsDebian() && Distro >= Distro::DebianTrixie
++      || Distro.IsUbuntu() && Distro >= Distro::UbuntuNoble)
++  {
++    const char *pkg_metadata = getenv ("ELF_PACKAGE_METADATA");
++    const char *no_pkg_metadata = getenv ("NO_PKG_METADATA");
++
++    if (no_pkg_metadata) {
++      // don't issue --package-metadata option
++    } else if (!pkg_metadata) {
++      // no environment set for package metadata
++    } else {
++      ExtraOpts.push_back(std::string("--package-metadata=") + pkg_metadata);
++    }
++  }
++
+   // 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
diff --git a/patches/lldb/lldb-addversion-suffix-to-llvm-server-exec.patch b/patches/lldb/lldb-addversion-suffix-to-llvm-server-exec.patch
new file mode 100644 (file)
index 0000000..e891420
--- /dev/null
@@ -0,0 +1,35 @@
+lldb-server exec users always /usr/bin/lldb-server. Server is required
+for any debugging with lldb which makes it unusable unless default version
+package has been installed. Small changes to code and debian/rules allows
+a workaround for lldb-server start up.
+
+To use this one needs to add cmake definition during configure. eg
+-DDEBIAN_VERSION_SUFFIX=-$(LLVM_VERSION)
+
+Better implementation would be to use /usr/share/llvm-$(VERSION)/bin but 
+that change seems to require a big change to the path handling code
+which could then break something else.
+
+This probably should have upstream bug but I couldn't find any existing report.
+
+Index: llvm-toolchain-snapshot_19~++20240220124703+f122268c0441/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp
+===================================================================
+--- 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"
++#include "llvm/Config/llvm-config.h"
+ #include "ProcessGDBRemoteLog.h"
+@@ -40,7 +41,7 @@
+ #elif defined(_WIN32)
+ #define DEBUGSERVER_BASENAME "lldb-server.exe"
+ #else
+-#define DEBUGSERVER_BASENAME "lldb-server"
++# define DEBUGSERVER_BASENAME    "lldb-server-" LLVM_VERSION_STRING
+ #endif
+ #if defined(HAVE_LIBCOMPRESSION)
diff --git a/patches/lldb/lldb-missing-install.diff b/patches/lldb/lldb-missing-install.diff
new file mode 100644 (file)
index 0000000..029f2d1
--- /dev/null
@@ -0,0 +1,23 @@
+Index: llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e/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
+ )
+ add_dependencies(liblldb lldb-argdumper)
++
++install(TARGETS lldb-argdumper
++  RUNTIME DESTINATION bin)
+Index: llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e/lldb/tools/lldb-server/CMakeLists.txt
+===================================================================
+--- 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})
++
++install(TARGETS lldb-server
++  RUNTIME DESTINATION bin)
++
diff --git a/patches/lldb/lldb-soname.diff b/patches/lldb/lldb-soname.diff
new file mode 100644 (file)
index 0000000..8a8cefa
--- /dev/null
@@ -0,0 +1,50 @@
+---
+ lldb/source/API/CMakeLists.txt |   14 +++++++-------
+ 1 file changed, 7 insertions(+), 7 deletions(-)
+
+Index: llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e/lldb/source/API/CMakeLists.txt
+===================================================================
+--- 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)
++if (CMAKE_SYSTEM_NAME MATCHES "Windows")
++  set(output_name liblldb)
++endif()
++
++add_lldb_library(liblldb SHARED OUTPUT_NAME ${output_name} SONAME
+   SBAddress.cpp
+   SBAddressRange.cpp
+   SBAddressRangeList.cpp
+@@ -195,7 +200,7 @@ endif()
+ set_target_properties(liblldb
+   PROPERTIES
+-  VERSION ${LLDB_VERSION}
++  VERSION 1
+ )
+ target_compile_definitions(liblldb PRIVATE LLDB_IN_LIBLLDB)
+@@ -259,12 +264,12 @@ elseif (LLDB_EXPORT_ALL_SYMBOLS)
+   add_llvm_symbol_exports(liblldb ${exported_symbol_file})
+ endif()
+-if (NOT MSVC)
+-  set_target_properties(liblldb
+-    PROPERTIES
+-    OUTPUT_NAME lldb
+-  )
+-endif()
++#if (NOT MSVC)
++#  set_target_properties(liblldb
++#    PROPERTIES
++#    OUTPUT_NAME lldb
++#    )
++#endif()
+ # The Clang expression parser in LLDB requires the Clang resource directory to function.
+ if (TARGET clang-resource-headers)
diff --git a/patches/lldb/print-lldb-path.patch b/patches/lldb/print-lldb-path.patch
new file mode 100644 (file)
index 0000000..7001980
--- /dev/null
@@ -0,0 +1,48 @@
+Author: Gianfranco Costamagna <locutusofborg@debian.org>
+Last-Update: 2023-01-19
+
+Index: llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e/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):
+ def main():
++    import sysconfig
+     parser = argparse.ArgumentParser(description="extract cmake variables from python")
+     parser.add_argument("variable_name")
+     args = parser.parse_args()
+@@ -32,7 +33,19 @@ def main():
+         # If not, you'll have to use lldb -P or lldb -print-script-interpreter-info
+         # to figure out where it is.
+         try:
+-            print(relpath_nodots(sysconfig.get_path("platlib"), sys.prefix))
++            if hasattr(sysconfig, 'get_default_scheme'):
++                scheme = sysconfig.get_default_scheme()
++            else:
++                scheme = sysconfig._get_default_scheme()
++            if scheme == 'posix_local':
++                # Debian's default scheme installs to /usr/local/ but we want to find headers in /usr/
++                scheme = 'posix_prefix'
++                path = sysconfig.get_path('purelib', scheme)
++            else:
++                from distutils import sysconfig
++                path = sysconfig.get_python_lib(0, 0)
++
++            print(relpath_nodots(path, sys.prefix))
+         except ValueError:
+             # Try to fall back to something reasonable if sysconfig's platlib
+             # is outside of sys.prefix
+Index: llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e/lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
+===================================================================
+--- 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);
++  llvm::sys::path::append(path, "/llvm-" + std::to_string(LLVM_VERSION_MAJOR));
+   llvm::sys::path::append(path, LLDB_PYTHON_RELATIVE_LIBDIR);
+ #if defined(_WIN32)
diff --git a/patches/lldb/test-disable-lldb-i386.diff b/patches/lldb/test-disable-lldb-i386.diff
new file mode 100644 (file)
index 0000000..088f937
--- /dev/null
@@ -0,0 +1,26 @@
+Index: llvm-toolchain-snapshot_15~++20220510103135+63865e1fce62/integration-test-suite/tests/basic_lldb.c
+===================================================================
+--- llvm-toolchain-snapshot_15~++20220510103135+63865e1fce62.orig/integration-test-suite/tests/basic_lldb.c
++++ llvm-toolchain-snapshot_15~++20220510103135+63865e1fce62/integration-test-suite/tests/basic_lldb.c
+@@ -1,7 +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: ppc64
++// XFAIL: ppc64, i686, i386
+ int main() {
+       int a=0;
+Index: llvm-toolchain-snapshot_15~++20220510103135+63865e1fce62/integration-test-suite/tests/basic_lldb2.cpp
+===================================================================
+--- llvm-toolchain-snapshot_15~++20220510103135+63865e1fce62.orig/integration-test-suite/tests/basic_lldb2.cpp
++++ llvm-toolchain-snapshot_15~++20220510103135+63865e1fce62/integration-test-suite/tests/basic_lldb2.cpp
+@@ -1,7 +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: ppc64
++// XFAIL: ppc64, i686, i386
+ #include <vector>
+ int main (void)
diff --git a/patches/llvm-fix-lld-linker-check.diff b/patches/llvm-fix-lld-linker-check.diff
new file mode 100644 (file)
index 0000000..91a24bf
--- /dev/null
@@ -0,0 +1,15 @@
+remove regex anchor in lld linker detection to account for vendor, if
+specified, being prepended to lld version string
+Index: llvm-toolchain-snapshot_19~++20240711013116+0ff13f72c974/llvm/cmake/modules/AddLLVM.cmake
+===================================================================
+--- 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")
+-    elseif("${stdout}" MATCHES "^LLD")
++    elseif("${stdout}" MATCHES "LLD")
+       set(LLVM_LINKER_DETECTED YES CACHE INTERNAL "")
+       set(LLVM_LINKER_IS_LLD YES CACHE INTERNAL "")
+       message(STATUS "Linker detection: LLD")
diff --git a/patches/llvm-runtimes-builtins-build-check.diff b/patches/llvm-runtimes-builtins-build-check.diff
new file mode 100644 (file)
index 0000000..cc84b03
--- /dev/null
@@ -0,0 +1,24 @@
+add a check and only set up and build compiler-rt builtins if they have
+not been disabled
+Index: llvm-toolchain-snapshot_19~++20240714063407+a72eed7a238b/llvm/runtimes/CMakeLists.txt
+===================================================================
+--- 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)
+-if(compiler_rt_path)
++# check if builtins have been disabled
++set(RUNTIMES_BUILD_BUILTINS ON)
++if(DEFINED COMPILER_RT_BUILD_BUILTINS)
++  set(RUNTIMES_BUILD_BUILTINS ${COMPILER_RT_BUILD_BUILTINS})
++endif()
++if(compiler_rt_path AND RUNTIMES_BUILD_BUILTINS)
+   # 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/patches/lower-python-dep.diff b/patches/lower-python-dep.diff
new file mode 100644 (file)
index 0000000..0e20b0f
--- /dev/null
@@ -0,0 +1,13 @@
+Index: llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e/llvm/CMakeLists.txt
+===================================================================
+--- 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)
+   # 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
+   set(LLVM_MINIMUM_PYTHON_VERSION 3.0)
diff --git a/patches/mips-mlir-xgot.diff b/patches/mips-mlir-xgot.diff
new file mode 100644 (file)
index 0000000..a7c293d
--- /dev/null
@@ -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/patches/mips/mips-D101773-reloc.patch b/patches/mips/mips-D101773-reloc.patch
new file mode 100644 (file)
index 0000000..6403e63
--- /dev/null
@@ -0,0 +1,48 @@
+From ab40c027f0ce9492919a72ad339de40bdb84b354 Mon Sep 17 00:00:00 2001
+From: Dimitry Andric <dimitry@andric.com>
+Date: Mon, 3 May 2021 20:08:49 +0200
+Subject: [PATCH] [MC][ELF] Work around R_MIPS_LO16 relocation handling problem
+
+This fixes PR49821, and avoids "ld.lld: error: test.o:(.rodata.str1.1):
+offset is outside the section" errors when linking MIPS objects with
+negative R_MIPS_LO16 implicit addends.
+
+ld.lld handles R_MIPS_HI16/R_MIPS_LO16 separately, not as a whole, so it
+doesn't know that an R_MIPS_HI16 with implicit addend 1 and an
+R_MIPS_LO16 with implicit addend -32768 represents 32768, which is in
+range of a MergeInputSection. We could introduce a new RelExpr member
+(like R_RISCV_PC_INDIRECT for R_RISCV_PCREL_HI20 / R_RISCV_PCREL_LO12)
+but the complexity is unnecessary given that GNU as keeps the original
+symbol for this case as well.
+
+Reviewed By: atanasyan, MaskRay
+
+Differential Revision: https://reviews.llvm.org/D101773
+---
+ llvm/lib/MC/ELFObjectWriter.cpp | 11 +++++++++++
+ llvm/test/MC/Mips/mips_lo16.s   | 22 ++++++++++++++++++++++
+ 2 files changed, 33 insertions(+)
+ create mode 100644 llvm/test/MC/Mips/mips_lo16.s
+
+Index: llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e/llvm/lib/MC/ELFObjectWriter.cpp
+===================================================================
+--- 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;
++
++      // ld.lld handles R_MIPS_HI16/R_MIPS_LO16 separately, not as a whole, so
++      // it doesn't know that an R_MIPS_HI16 with implicit addend 1 and an
++      // R_MIPS_LO16 with implicit addend -32768 represents 32768, which is in
++      // range of a MergeInputSection. We could introduce a new RelExpr member
++      // (like R_RISCV_PC_INDIRECT for R_RISCV_PCREL_HI20 / R_RISCV_PCREL_LO12)
++      // but the complexity is unnecessary given that GNU as keeps the original
++      // symbol for this case as well.
++      if (TargetObjectWriter->getEMachine() == ELF::EM_MIPS &&
++          !hasRelocationAddend())
++        return true;
+     }
+     // Most TLS relocations use a got, so they need the symbol. Even those that
diff --git a/patches/mips/mips-force-nomadd4.patch b/patches/mips/mips-force-nomadd4.patch
new file mode 100644 (file)
index 0000000..6ff12de
--- /dev/null
@@ -0,0 +1,23 @@
+The MIPS port aims to support the Loongson 3 family of CPUs in addition
+of the other MIPS CPUs. On the Loongson 3 family the MADD4 instructions
+are fused, while they are not fused on the other MIPS CPUs. In order to
+support both, we have to disabled those instructions.
+
+For that, the patch below basically corresponds to the --with-madd4=no
+used on the GCC side.
+
+Index: llvm-toolchain-snapshot_19~++20240521052636+4ae896fe979b/clang/lib/Basic/Targets/Mips.h
+===================================================================
+--- 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") {
+         FPMode = FP64;
+         FpGiven = true;
+       } else if (Feature == "-fp64") {
diff --git a/patches/mips/mips-fpxx-enable.diff b/patches/mips/mips-fpxx-enable.diff
new file mode 100644 (file)
index 0000000..d6bef44
--- /dev/null
@@ -0,0 +1,45 @@
+Index: llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e/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), StrictAlign(false),
+       StackAlignOverride(StackAlignOverride), TM(TM), TargetTriple(TT),
+       TSInfo(), InstrInfo(MipsInstrInfo::create(
+@@ -92,6 +92,9 @@ MipsSubtarget::MipsSubtarget(const Tripl
+   if (MipsArchVersion == MipsDefault)
+     MipsArchVersion = Mips32;
++  if (hasMips32r6() || hasMips64r6())
++    DisableMadd4 = false;
++
+   // MIPS-I has not been tested.
+   if (MipsArchVersion == Mips1 && !MIPS1WarningPrinted) {
+     errs() << "warning: MIPS-I support is experimental\n";
+@@ -241,6 +244,7 @@ MipsSubtarget &
+ MipsSubtarget::initializeSubtargetDependencies(StringRef CPU, StringRef FS,
+                                                const TargetMachine &TM) {
+   StringRef CPUName = MIPS_MC::selectMipsCPU(TM.getTargetTriple(), CPU);
++  SubtargetFeatures Features(FS);
+   // Parse features string.
+   ParseSubtargetFeatures(CPUName, /*TuneCPU*/ CPUName, FS);
+@@ -263,6 +267,13 @@ MipsSubtarget::initializeSubtargetDepend
+     report_fatal_error("64-bit code requested on a subtarget that doesn't "
+                        "support it!");
++  for (const std::string &Feature : Features.getFeatures()) {
++    if (Feature == "+nomadd4")
++      DisableMadd4 = true;
++    else if (Feature == "-nomadd4")
++      DisableMadd4 = false;
++  }
++
+   return *this;
+ }
diff --git a/patches/mips/syscall-mips64el-def.diff b/patches/mips/syscall-mips64el-def.diff
new file mode 100644 (file)
index 0000000..9348bac
--- /dev/null
@@ -0,0 +1,16 @@
+Index: llvm-toolchain-15-15.0.0~+rc3/compiler-rt/lib/builtins/clear_cache.c
+===================================================================
+--- llvm-toolchain-15-15.0.0~+rc3.orig/compiler-rt/lib/builtins/clear_cache.c
++++ llvm-toolchain-15-15.0.0~+rc3/compiler-rt/lib/builtins/clear_cache.c
+@@ -6,6 +6,11 @@
+ //
+ //===----------------------------------------------------------------------===//
++#if defined(__linux__) && defined(__mips__)
++// Otherwise, the build fails as it cannot find syscall
++#define _GNU_SOURCE
++#endif
++
+ #include "int_lib.h"
+ #if defined(__linux__)
+ #include <assert.h>
diff --git a/patches/offload-disable-static-assert.diff b/patches/offload-disable-static-assert.diff
new file mode 100644 (file)
index 0000000..22c2f95
--- /dev/null
@@ -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/patches/omp-riscv64.patch b/patches/omp-riscv64.patch
new file mode 100644 (file)
index 0000000..bbdf866
--- /dev/null
@@ -0,0 +1,25 @@
+Description: Define the affinity for riscv64
+Last-Update: 2021-08-27
+
+Index: llvm-toolchain-snapshot_19~++20240424094944+78ebaa2d798f/openmp/runtime/src/kmp_affinity.h
+===================================================================
+--- 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 */
++#elif KMP_ARCH_RISCV64
++#ifndef __NR_sched_setaffinity
++#define __NR_sched_setaffinity 122
++#elif __NR_sched_setaffinity != 122
++#error Wrong code for setaffinity system call.
++#endif /* __NR_sched_setaffinity */
++#ifndef __NR_sched_getaffinity
++#define __NR_sched_getaffinity 123
++#elif __NR_sched_getaffinity != 123
++#error Wrong code for getaffinity system call.
++#endif /* __NR_sched_getaffinity */
+ #elif KMP_ARCH_X86_64
+ #ifndef __NR_sched_setaffinity
+ #define __NR_sched_setaffinity 203
diff --git a/patches/openmp-fix-runtimes-build.diff b/patches/openmp-fix-runtimes-build.diff
new file mode 100644 (file)
index 0000000..f803169
--- /dev/null
@@ -0,0 +1,144 @@
+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
+Index: llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e/llvm/runtimes/CMakeLists.txt
+===================================================================
+--- 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}
++                                      -DCMAKE_SYSTEM_PROCESSOR=${CMAKE_SYSTEM_PROCESSOR}
+                                       -DCMAKE_C_COMPILER_WORKS=ON
+                                       -DCMAKE_CXX_COMPILER_WORKS=ON
+                                       -DCMAKE_ASM_COMPILER_WORKS=ON
+@@ -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.
+-    add_dependencies(clang-bootstrap-deps runtimes-configure)
++    #add_dependencies(clang-bootstrap-deps runtimes-configure)
+     # 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-19_19.1.2~++20241011093632+6c1fd539e43e/openmp/CMakeLists.txt
+===================================================================
+--- 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()
++option(OPENMP_USE_LLVM_UNWINDER "Build and use the LLVM unwinder" OFF)
++
++option(LIBOMP_ENABLE_RTTI "Enabling RTTI forces libomp to be a c++ lib" ${LLVM_ENABLE_RTTI})
++
++macro(add_runtimes_build_depends_if_needed target)
++  if(RUNTIMES_BUILD)
++    # required for rtti and libomp/libomptarget profiling if enabled
++    add_dependencies(${target} cxx-headers cxxabi_static cxx_static cxxabi_shared cxx_shared)
++    if(OPENMP_USE_LLVM_UNWINDER AND (NOT target STREQUAL "omp" AND NOT LIBOMP_ENABLE_RTTI))
++      add_dependencies(${target} unwind_static unwind_shared)
++      get_target_property(target_link_flags ${target} LINK_FLAGS)
++      set(runtimes_link_flags "-lunwind")
++      if(target_link_flags)
++        set(runtimes_link_flags "${target_link_flags} -lunwind")
++      endif()
++      set_target_properties(${target}
++        PROPERTIES
++        LINK_FLAGS "${runtimes_link_flags}")
++    endif()
++  endif()
++endmacro()
++
+ # 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-19_19.1.2~++20241011093632+6c1fd539e43e/offload/plugins-nextgen/cuda/CMakeLists.txt
+===================================================================
+--- 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)
+Index: llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e/offload/src/CMakeLists.txt
+===================================================================
+--- 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} ${LIBOMPTARGET_BINARY_INCLUDE_DIR}
+ )
+Index: llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e/openmp/runtime/CMakeLists.txt
+===================================================================
+--- 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()
++if(LIBOMP_ENABLE_RTTI)
++  set(LIBOMP_USE_STDCPPLIB TRUE)
++endif()
++
+ # 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-19_19.1.2~++20241011093632+6c1fd539e43e/openmp/runtime/src/CMakeLists.txt
+===================================================================
+--- 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)
++  set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} -nostdlib++")
+ else()
+   set(LIBOMP_LINKER_LANGUAGE CXX)
+ endif()
+@@ -220,6 +221,8 @@ else()
+   )
+ endif()
++add_runtimes_build_depends_if_needed(omp)
++
+ # 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-19_19.1.2~++20241011093632+6c1fd539e43e/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)
++  add_runtimes_build_depends_if_needed(archer)
++  add_runtimes_build_depends_if_needed(archer_static)
++
+   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/patches/openmp-soname.diff b/patches/openmp-soname.diff
new file mode 100644 (file)
index 0000000..fb0c331
--- /dev/null
@@ -0,0 +1,14 @@
+Index: llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e/openmp/runtime/CMakeLists.txt
+===================================================================
+--- 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()
+-set(LIBOMP_LIB_FILE ${LIBOMP_LIB_NAME}${LIBOMP_LIBRARY_SUFFIX})
++set(LIBOMP_LIB_FILE ${LIBOMP_LIB_NAME}${CMAKE_SHARED_LIBRARY_SUFFIX}.${LIBOMP_VERSION_MAJOR})
++
+ # Optional backwards compatibility aliases.
+ set(LIBOMP_INSTALL_ALIASES TRUE CACHE BOOL
diff --git a/patches/openmp/openmp-check-execstack.diff b/patches/openmp/openmp-check-execstack.diff
new file mode 100644 (file)
index 0000000..9affad3
--- /dev/null
@@ -0,0 +1,13 @@
+Index: llvm-toolchain-snapshot_19~++20240622104700+f5b93ae5884d/openmp/runtime/tools/check-execstack.py
+===================================================================
+--- 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/patches/protobuf_3.21.patch b/patches/protobuf_3.21.patch
new file mode 100644 (file)
index 0000000..cdbf273
--- /dev/null
@@ -0,0 +1,15 @@
+Index: llvm-toolchain-snapshot_17~++20230223111257+4f0aa2517d0c/clang-tools-extra/clangd/index/remote/monitor/Monitor.cpp
+===================================================================
+--- llvm-toolchain-snapshot_17~++20230223111257+4f0aa2517d0c.orig/clang-tools-extra/clangd/index/remote/monitor/Monitor.cpp
++++ llvm-toolchain-snapshot_17~++20230223111257+4f0aa2517d0c/clang-tools-extra/clangd/index/remote/monitor/Monitor.cpp
+@@ -68,8 +68,9 @@ int main(int argc, char *argv[]) {
+   if (!JsonStatus.ok()) {
+     clang::clangd::elog("Can not convert response ({0}) to JSON ({1}): {2}\n",
+                         Response.DebugString(),
+-                        static_cast<int>(JsonStatus.code()),
++                        (int)JsonStatus.code(),
+                         JsonStatus.message().as_string());
++
+     return -1;
+   }
+   llvm::outs() << Output;
diff --git a/patches/python-clangpath.diff b/patches/python-clangpath.diff
new file mode 100644 (file)
index 0000000..f4d4de6
--- /dev/null
@@ -0,0 +1,17 @@
+---
+ clang/bindings/python/clang/cindex.py |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+Index: llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e/clang/bindings/python/clang/cindex.py
+===================================================================
+--- 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-19.so"
+         if Config.library_path:
+             file = Config.library_path + "/" + file
diff --git a/patches/python3-shebang.patch b/patches/python3-shebang.patch
new file mode 100644 (file)
index 0000000..cd09b79
--- /dev/null
@@ -0,0 +1,752 @@
+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_19~++20240423112228+dbcfb434a9c7/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_19~++20240423112228+dbcfb434a9c7/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_19~++20240423112228+dbcfb434a9c7/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_19~++20240423112228+dbcfb434a9c7/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_19~++20240423112228+dbcfb434a9c7/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_19~++20240423112228+dbcfb434a9c7/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_19~++20240423112228+dbcfb434a9c7/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_19~++20240423112228+dbcfb434a9c7/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_19~++20240423112228+dbcfb434a9c7/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_19~++20240423112228+dbcfb434a9c7/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_19~++20240423112228+dbcfb434a9c7/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_19~++20240423112228+dbcfb434a9c7/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_19~++20240423112228+dbcfb434a9c7/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_19~++20240423112228+dbcfb434a9c7/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_19~++20240423112228+dbcfb434a9c7/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_19~++20240423112228+dbcfb434a9c7/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_19~++20240423112228+dbcfb434a9c7/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_19~++20240423112228+dbcfb434a9c7/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_19~++20240423112228+dbcfb434a9c7/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_19~++20240423112228+dbcfb434a9c7/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_19~++20240423112228+dbcfb434a9c7/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_19~++20240423112228+dbcfb434a9c7/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_19~++20240423112228+dbcfb434a9c7/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_19~++20240423112228+dbcfb434a9c7/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_19~++20240423112228+dbcfb434a9c7/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_19~++20240423112228+dbcfb434a9c7/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_19~++20240423112228+dbcfb434a9c7/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_19~++20240423112228+dbcfb434a9c7/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_19~++20240423112228+dbcfb434a9c7/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_19~++20240423112228+dbcfb434a9c7/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_19~++20240423112228+dbcfb434a9c7/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_19~++20240423112228+dbcfb434a9c7/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_19~++20240423112228+dbcfb434a9c7/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_19~++20240423112228+dbcfb434a9c7/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_19~++20240423112228+dbcfb434a9c7/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_19~++20240423112228+dbcfb434a9c7/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_19~++20240423112228+dbcfb434a9c7/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_19~++20240423112228+dbcfb434a9c7/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_19~++20240423112228+dbcfb434a9c7/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_19~++20240423112228+dbcfb434a9c7/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_19~++20240423112228+dbcfb434a9c7/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_19~++20240423112228+dbcfb434a9c7/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_19~++20240423112228+dbcfb434a9c7/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_19~++20240423112228+dbcfb434a9c7/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_19~++20240423112228+dbcfb434a9c7/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_19~++20240423112228+dbcfb434a9c7/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_19~++20240423112228+dbcfb434a9c7/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_19~++20240423112228+dbcfb434a9c7/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_19~++20240423112228+dbcfb434a9c7/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_19~++20240423112228+dbcfb434a9c7/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_19~++20240423112228+dbcfb434a9c7/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_19~++20240423112228+dbcfb434a9c7/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_19~++20240423112228+dbcfb434a9c7/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_19~++20240423112228+dbcfb434a9c7/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_19~++20240423112228+dbcfb434a9c7/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_19~++20240423112228+dbcfb434a9c7/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_19~++20240423112228+dbcfb434a9c7/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_19~++20240423112228+dbcfb434a9c7/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_19~++20240423112228+dbcfb434a9c7/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_19~++20240423112228+dbcfb434a9c7/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_19~++20240423112228+dbcfb434a9c7/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_19~++20240423112228+dbcfb434a9c7/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_19~++20240423112228+dbcfb434a9c7/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_19~++20240423112228+dbcfb434a9c7/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_19~++20240423112228+dbcfb434a9c7/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_19~++20240423112228+dbcfb434a9c7/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_19~++20240423112228+dbcfb434a9c7/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_19~++20240423112228+dbcfb434a9c7/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_19~++20240423112228+dbcfb434a9c7/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_19~++20240423112228+dbcfb434a9c7/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_19~++20240423112228+dbcfb434a9c7/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_19~++20240423112228+dbcfb434a9c7/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_19~++20240423112228+dbcfb434a9c7/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_19~++20240423112228+dbcfb434a9c7/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_19~++20240423112228+dbcfb434a9c7/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
+ """
+ wciia - Whose Code Is It Anyway
diff --git a/patches/python3.13-quote.diff b/patches/python3.13-quote.diff
new file mode 100644 (file)
index 0000000..c246150
--- /dev/null
@@ -0,0 +1,25 @@
+--- a/compiler-rt/test/sanitizer_common/ios_commands/iossim_run.py
++++ b/compiler-rt/test/sanitizer_common/ios_commands/iossim_run.py
+@@ -1,7 +1,10 @@
+ #!/usr/bin/env python3
+-import glob, os, pipes, sys, subprocess
+-
++import glob, os, sys, subprocess
++try:
++    from pipes import quote
++except ImportError:
++    from shlex import quote
+ device_id = os.environ.get("SANITIZER_IOSSIM_TEST_DEVICE_IDENTIFIER")
+ iossim_run_verbose = os.environ.get("SANITIZER_IOSSIM_RUN_VERBOSE")
+@@ -49,8 +52,7 @@ if prog == "rm":
+             # Don't quote glob pattern
+             rm_args.append(arg)
+         else:
+-            # FIXME(dliew): pipes.quote() is deprecated
+-            rm_args.append(pipes.quote(arg))
++            rm_args.append(quote(arg))
+     rm_cmd_line = ["/bin/rm"] + rm_args
+     rm_cmd_line_str = " ".join(rm_cmd_line)
+     # We use `shell=True` so that any wildcard globs get expanded by the shell.
diff --git a/patches/remove-apple-clang-manpage.diff b/patches/remove-apple-clang-manpage.diff
new file mode 100644 (file)
index 0000000..677ad48
--- /dev/null
@@ -0,0 +1,41 @@
+Index: llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e/clang/docs/CommandGuide/clang.rst
+===================================================================
+--- 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.
+-.. option:: -arch <architecture>
+-
+-  Specify the architecture to build for (Mac OS X specific).
+-
+ .. option:: -target <architecture>
+   Specify the architecture to build for (all platforms).
+-.. option:: -mmacos-version-min=<version>
+-
+-  When building for macOS, specify the minimum version supported by your
+-  application.
+-
+-.. option:: -miphoneos-version-min
+-
+-  When building for iPhone OS, specify the minimum version supported by your
+-  application.
+-
+ .. option:: --print-supported-cpus
+   Print out a list of supported processors for the given target (specified
+@@ -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:`-mmacos-version-min` is unspecified, the default deployment
+-  target is read from this environment variable. This option only affects
+-  Darwin targets.
+ BUGS
+ ----
diff --git a/patches/remove-test-freezing.diff b/patches/remove-test-freezing.diff
new file mode 100644 (file)
index 0000000..53e154c
--- /dev/null
@@ -0,0 +1,10 @@
+Index: llvm-toolchain-snapshot_14~++20211115123243+1e77b09538c1/compiler-rt/test/sanitizer_common/TestCases/Linux/sysconf_interceptor_bypass_test.cpp
+===================================================================
+--- llvm-toolchain-snapshot_14~++20211115123243+1e77b09538c1.orig/compiler-rt/test/sanitizer_common/TestCases/Linux/sysconf_interceptor_bypass_test.cpp
++++ llvm-toolchain-snapshot_14~++20211115123243+1e77b09538c1/compiler-rt/test/sanitizer_common/TestCases/Linux/sysconf_interceptor_bypass_test.cpp
+@@ -1,4 +1,5 @@
+ // RUN: %clangxx -O2 %s -o %t && %run %t 2>&1 | FileCheck %s
++// XFAIL: *
+ #include <stdio.h>
diff --git a/patches/revert-update-doc.diff b/patches/revert-update-doc.diff
new file mode 100644 (file)
index 0000000..44bfb91
--- /dev/null
@@ -0,0 +1,178 @@
+commit e80c52986e1bb3afa6a92c58b1cb897877923a66
+Author: Tom Stellard <tstellar@redhat.com>
+Date:   Tue Feb 1 23:13:01 2022 -0800
+
+    [docs] Remove hard-coded version numbers from sphinx configs
+    
+    This updates all the non-runtime project release notes to use the
+    version number from CMake instead of the hard-coded version numbers
+    in conf.py.
+    
+    It also hides warnings about pre-releases when the git suffix
+    is dropped from the LLVM version in CMake.
+    
+    Reviewed By: MaskRay
+    
+    Differential Revision: https://reviews.llvm.org/D112181
+
+Index: llvm-toolchain-snapshot_19~++20240711013116+0ff13f72c974/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
++# The version info for the project you're documenting, acts as replacement for
++# |version| and |release|, also used in various other places throughout the
++# built documents.
++#
++# The short version.
++version = '15'
++# The full version, including alpha/beta/rc tags.
++release = '15'
++
+ # The language for content autogenerated by Sphinx. Refer to documentation
+ # for a list of supported languages.
+ # language = None
+@@ -78,11 +87,6 @@ pygments_style = "friendly"
+ # A list of ignored prefixes for module index sorting.
+ # modindex_common_prefix = []
+-in_progress_title = "(In-Progress) " if tags.has("PreRelease") else ""
+-
+-rst_epilog = f"""
+-.. |ReleaseNotesTitle| replace:: {in_progress_title} Release Notes
+-"""
+ # -- Options for HTML output ---------------------------------------------------
+Index: llvm-toolchain-snapshot_19~++20240711013116+0ff13f72c974/clang/docs/conf.py
+===================================================================
+--- 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
++# The version info for the project you're documenting, acts as replacement for
++# |version| and |release|, also used in various other places throughout the
++# built documents.
++#
++# The short version.
++version = '15'
++# The full version, including alpha/beta/rc tags.
++release = '15'
++
+ # The language for content autogenerated by Sphinx. Refer to documentation
+ # for a list of supported languages.
+ # language = None
+@@ -88,11 +97,6 @@ exclude_patterns = ["_build"]
+ # The name of the Pygments (syntax highlighting) style to use.
+ pygments_style = "friendly"
+-in_progress_title = "(In-Progress) " if tags.has("PreRelease") else ""
+-
+-rst_epilog = f"""
+-.. |ReleaseNotesTitle| replace:: {in_progress_title} Release Notes
+-"""
+ # -- Options for HTML output ---------------------------------------------------
+Index: llvm-toolchain-snapshot_19~++20240711013116+0ff13f72c974/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
++# The version info for the project you're documenting, acts as replacement for
++# |version| and |release|, also used in various other places throughout the
++# built documents.
++#
++# The short version.
++version = '15'
++# The full version, including alpha/beta/rc tags.
++release = '15'
++
+ # The language for content autogenerated by Sphinx. Refer to documentation
+ # for a list of supported languages.
+ # language = None
+Index: llvm-toolchain-snapshot_19~++20240711013116+0ff13f72c974/llvm/cmake/modules/AddSphinxTarget.cmake
+===================================================================
+--- 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()
+-  if ("${LLVM_VERSION_SUFFIX}" STREQUAL "git")
+-    set(PreReleaseTag "-tPreRelease")
+-  endif()
+-
+   add_custom_target(${SPHINX_TARGET_NAME}
+                     COMMAND ${CMAKE_COMMAND} -E env ${ARG_ENV_VARS}
+                             ${SPHINX_EXECUTABLE}
+@@ -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
+-                            -D version=${LLVM_VERSION_MAJOR}
+-                            -D release=${PACKAGE_VERSION}
+-                            ${PreReleaseTag}
+                             ${SPHINX_WARNINGS_AS_ERRORS_FLAG} # Treat warnings as errors if requested
+                             "${ARG_SOURCE_DIR}" # Source
+                             "${SPHINX_BUILD_DIR}" # Output
+Index: llvm-toolchain-snapshot_19~++20240711013116+0ff13f72c974/llvm/docs/conf.py
+===================================================================
+--- 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
++# The version info for the project you're documenting, acts as replacement for
++# |version| and |release|, also used in various other places throughout the
++# built documents.
++#
++# The short version.
++version = '15'
++# The full version, including alpha/beta/rc tags.
++release = '15'
++
+ # The language for content autogenerated by Sphinx. Refer to documentation
+ # for a list of supported languages.
+ # language = None
+Index: llvm-toolchain-snapshot_19~++20240711013116+0ff13f72c974/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
++# The version info for the project you're documenting, acts as replacement for
++# |version| and |release|, also used in various other places throughout the
++# built documents.
++#
++# The short X.Y version.
++version = '15.0'
++# The full version, including alpha/beta/rc tags.
++release = '15.0'
++
+ # The language for content autogenerated by Sphinx. Refer to documentation
+ # for a list of supported languages.
+ # language = None
+@@ -78,11 +87,6 @@ pygments_style = "friendly"
+ # A list of ignored prefixes for module index sorting.
+ # modindex_common_prefix = []
+-in_progress_title = "(In-Progress) " if tags.has("PreRelease") else ""
+-
+-rst_epilog = f"""
+-.. |ReleaseNotesTitle| replace:: {in_progress_title} Release Notes
+-"""
+ # -- Options for HTML output ---------------------------------------------------
diff --git a/patches/scan-build-clang-path.diff b/patches/scan-build-clang-path.diff
new file mode 100644 (file)
index 0000000..1d4012c
--- /dev/null
@@ -0,0 +1,17 @@
+---
+ clang/tools/scan-build/bin/scan-build |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+Index: llvm-toolchain-snapshot_19~++20240220124703+f122268c0441/clang/tools/scan-build/bin/scan-build
+===================================================================
+--- 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-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/patches/scan-build-py-fix-default-bin.diff b/patches/scan-build-py-fix-default-bin.diff
new file mode 100644 (file)
index 0000000..e4f80da
--- /dev/null
@@ -0,0 +1,13 @@
+Index: llvm-toolchain-snapshot_17~++20230523093327+96a003b9bf79/clang/tools/scan-build-py/lib/libscanbuild/arguments.py
+===================================================================
+--- llvm-toolchain-snapshot_17~++20230523093327+96a003b9bf79.orig/clang/tools/scan-build-py/lib/libscanbuild/arguments.py
++++ llvm-toolchain-snapshot_17~++20230523093327+96a003b9bf79/clang/tools/scan-build-py/lib/libscanbuild/arguments.py
+@@ -293,7 +293,7 @@ def create_analyze_parser(from_build_com
+         "--use-analyzer",
+         metavar="<path>",
+         dest="clang",
+-        default="clang",
++        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/patches/scan-view-fix-path.diff b/patches/scan-view-fix-path.diff
new file mode 100644 (file)
index 0000000..420073b
--- /dev/null
@@ -0,0 +1,13 @@
+Index: llvm-toolchain-snapshot_19~++20240220124703+f122268c0441/clang/tools/scan-view/bin/scan-view
+===================================================================
+--- 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
+-    share = os.path.dirname(__file__) + "/../share/scan-view"
++    share = os.path.dirname(__file__) + "/../share/"
+     if not os.path.isdir(share):
+         # Otherwise look relative to the source
+         share = os.path.dirname(__file__) + "/../../scan-view/share"
diff --git a/patches/series b/patches/series
new file mode 100644 (file)
index 0000000..eaf7cf1
--- /dev/null
@@ -0,0 +1,142 @@
+# Debian versions
+clang-format-version.diff
+clang-analyzer-force-version.diff
+
+# Disabling features
+23-strlcpy_strlcat_warning_removed.diff
+
+declare_clear_cache.diff
+unwind-chain-inclusion.diff
+
+# Path updates
+python-clangpath.diff
+fix-clang-path-and-build.diff
+0048-Set-html_static_path-_static-everywhere.patch
+symbolizer-path.diff
+clang-tidy-run-bin.diff
+0001-tools-clang-cmake-resolve-symlinks-in-ClangConfig.cmake.patch
+debug-jit-path.diff
+
+# commented because of bug 903709
+#force-gcc-header-obj.diff
+
+do-not-fail-on-unexpected-pass.diff
+
+# Lib names
+0044-soname.diff
+lldb/lldb-soname.diff
+#lldb-libname.diff
+openmp-soname.diff
+
+# Disable some tests
+silent-gold-test.diff
+silent-more-tests.diff
+silent-MCJIIT-tests.diff
+silent-gold-utils.diff
+silent-test-failing-codeverage.diff
+silent-test-macho.diff
+silent-llvm-isel-fuzzer.diff
+remove-test-freezing.diff
+disable-llvm-symbolizer-test.diff
+disable-path-test-failing.diff
+
+# Decrease the freq for the keep alive
+test-keep-alive.diff
+
+# scan-build
+scan-build-clang-path.diff
+scan-view-fix-path.diff
+fix-scan-view-path.diff
+
+# lldb
+lldb/lldb-addversion-suffix-to-llvm-server-exec.patch
+lldb/lldb-missing-install.diff
+
+# Fix arch issue
+disable-error-xray.diff
+
+# OpenMP
+openmp/openmp-check-execstack.diff
+
+# libcxx
+libcxx/libcxxabi-test-don-t-fail-extended-long-double.patch
+libcxx/libcxx-test-fix-lockfree-test-for-i386.patch
+libcxx/libcxxabi-arm-ehabi-fix.patch
+libcxx/libcxx-silent-test-libcxx.diff
+libcxx/libcxx-silent-failure-ppc64el.diff
+libcxx/libcxx-silent-failure-arm64.diff
+libcxx/libcxx-libatomic-only-with-gcc-rtlib.diff
+libcxx/libcxxabi-fix-link-builtins.diff
+libcxx/libcxx-armhf-ftbfs.diff
+
+# Change default optims
+mips/mips-fpxx-enable.diff
+mips/mips-force-nomadd4.patch
+mips/mips-D101773-reloc.patch
+mips/syscall-mips64el-def.diff
+
+26-set-correct-float-abi.diff
+clang-baseline-fix-i386.patch
+disable-sse2-old-x86.diff
+clang-arm-default-vfp3-on-armv7a.patch
+
+# For the bootstrap
+clangd-atomic-cmake.patch
+
+# Fix docs
+#  https://reviews.llvm.org/D60380
+remove-apple-clang-manpage.diff
+0049-Use-Debian-provided-MathJax-everywhere.patch
+
+# Hurd port
+hurd/hurd-pathmax.diff
+hurd/hurd-f_type.diff
+
+930008-arm.diff
+bootstrap-fix-include-next.diff
+
+# bug 939472
+#try-to-unbreak-thinlto.diff
+#D67877-cmake-clang-example.patch
+
+python3-shebang.patch
+lldb/print-lldb-path.patch
+lower-python-dep.diff
+scan-build-py-fix-default-bin.diff
+
+omp-riscv64.patch
+lldb/test-disable-lldb-i386.diff
+llvm-fix-lld-linker-check.diff
+openmp-fix-runtimes-build.diff
+libclc-fix-prepare_builtins-rpath.diff
+llvm-runtimes-builtins-build-check.diff
+issue-54242.diff
+protobuf_3.21.patch
+
+# compiler-rt
+compiler-rt/compilerrt-builtins-arch-fix-armhf.diff
+compiler-rt/compilerrt-build-scudo-standalone-option.diff
+
+
+# wasm patches
+wasm/wasm-ld-path.diff
+wasm/wasm-compiler-rt-default.diff
+wasm/wasm-sysroot-usr.diff
+
+revert-update-doc.diff
+
+unwind-force-pthread-dl.diff
+force-sse2-compiler-rt.diff
+bolt-disable-emit-relocs.patch
+link-grpc.diff
+libclang-major-version-only.diff
+D148945-revert.diff
+arm32-defaults.diff
+disable-openmp-per-target.diff
+offload-disable-static-assert.diff
+link-with-package-metadata.diff
+env-lld-package-metadata.diff
+mips-mlir-xgot.diff
+ubuntu-plucky.patch
+bolt-disable-proc-check.diff
+python3.13-quote.diff
diff --git a/patches/silent-MCJIIT-tests.diff b/patches/silent-MCJIIT-tests.diff
new file mode 100644 (file)
index 0000000..487788a
--- /dev/null
@@ -0,0 +1,44 @@
+---
+ test/BugPoint/crash-narrowfunctiontest.ll                               |    1 -
+ test/BugPoint/remove_arguments_test.ll                                  |    1 -
+ test/ExecutionEngine/MCJIT/cross-module-sm-pic-a.ll                     |    2 +-
+ test/ExecutionEngine/MCJIT/eh-lg-pic.ll                                 |    2 +-
+ test/ExecutionEngine/MCJIT/multi-module-sm-pic-a.ll                     |    2 +-
+ test/ExecutionEngine/MCJIT/stubs-sm-pic.ll                              |    2 +-
+ test/ExecutionEngine/MCJIT/test-global-init-nonzero-sm-pic.ll           |    2 +-
+ test/ExecutionEngine/MCJIT/test-ptr-reloc-sm-pic.ll                     |    2 +-
+ test/ExecutionEngine/MCJIT/cross-module-sm-pic-a.ll                  |    2 +-
+ test/ExecutionEngine/MCJIT/eh-lg-pic.ll                              |    2 +-
+ test/ExecutionEngine/MCJIT/multi-module-sm-pic-a.ll                  |    2 +-
+ test/ExecutionEngine/MCJIT/remote/test-global-init-nonzero-sm-pic.ll |    2 +-
+ test/ExecutionEngine/MCJIT/remote/test-ptr-reloc-sm-pic.ll           |    2 +-
+ test/ExecutionEngine/MCJIT/stubs-sm-pic.ll                           |    2 +-
+ test/ExecutionEngine/MCJIT/test-global-init-nonzero-sm-pic.ll        |    2 +-
+ test/ExecutionEngine/MCJIT/test-ptr-reloc-sm-pic.ll                  |    2 +-
+ test/Feature/load_module.ll                                             |    1 -
+ 17 files changed, 14 insertions(+), 17 deletions(-)
+
+Index: llvm-toolchain-snapshot_17~++20230411103522+cd91992de838/llvm/test/ExecutionEngine/MCJIT/remote/test-global-init-nonzero-sm-pic.ll
+===================================================================
+--- llvm-toolchain-snapshot_17~++20230411103522+cd91992de838.orig/llvm/test/ExecutionEngine/MCJIT/remote/test-global-init-nonzero-sm-pic.ll
++++ llvm-toolchain-snapshot_17~++20230411103522+cd91992de838/llvm/test/ExecutionEngine/MCJIT/remote/test-global-init-nonzero-sm-pic.ll
+@@ -1,6 +1,6 @@
+ ; RUN: %lli -jit-kind=mcjit -remote-mcjit -mcjit-remote-process=lli-child-target%exeext \
+ ; RUN:   -relocation-model=pic -code-model=small %s > /dev/null
+-; XFAIL: target={{(mips|mipsel)-.*}}, target={{(aarch64|arm).*}}, target={{(i686|i386).*}}
++; XFAIL: *
+ ; XFAIL: target={{.*-windows-(gnu|msvc)}}
+ ; REQUIRES: thread_support
+ ; UNSUPPORTED: target=target=powerpc64-unknown-linux-gnu
+Index: llvm-toolchain-snapshot_17~++20230411103522+cd91992de838/llvm/test/ExecutionEngine/MCJIT/remote/test-ptr-reloc-sm-pic.ll
+===================================================================
+--- llvm-toolchain-snapshot_17~++20230411103522+cd91992de838.orig/llvm/test/ExecutionEngine/MCJIT/remote/test-ptr-reloc-sm-pic.ll
++++ llvm-toolchain-snapshot_17~++20230411103522+cd91992de838/llvm/test/ExecutionEngine/MCJIT/remote/test-ptr-reloc-sm-pic.ll
+@@ -1,6 +1,6 @@
+ ; RUN: %lli -jit-kind=mcjit -remote-mcjit -mcjit-remote-process=lli-child-target%exeext \
+ ; RUN:   -O0 -relocation-model=pic -code-model=small %s
+-; XFAIL: target={{(mips|mipsel)-.*}}, target={{(aarch64|arm).*}}, target={{(i686|i386).*}}
++; XFAIL: *
+ ; XFAIL: target={{.*-windows-(gnu|msvc)}}
+ ; REQUIRES: thread_support
+ ; UNSUPPORTED: target=powerpc64-unknown-linux-gnu
diff --git a/patches/silent-gold-test.diff b/patches/silent-gold-test.diff
new file mode 100644 (file)
index 0000000..5c407eb
--- /dev/null
@@ -0,0 +1,38 @@
+Description: fails on debian unstable amd64
+ Command Output (stderr):
+ --
+ /build/llvm-toolchain-snapshot-4.0~svn279916/llvm/test/tools/gold/X86/start-lib-common.ll:22:10: error: expected string not found in input
+ ; CHECK: @x = common global i32 0, align 8
+          ^
+ <stdin>:1:1: note: scanning from here
+ ; ModuleID = '/build/llvm-toolchain-snapshot-4.0~svn279916/build-llvm/llvm/test/tools/gold/X86/Output/start-lib-common.ll.tmp3.o'
+ ^
+ <stdin>:4:1: note: possible intended match here
+ @x = common global i32 0, align 4
+ ^
+
+
+Index: llvm-toolchain-snapshot_11~++20200326111000+4673699a470/llvm/test/tools/gold/X86/start-lib-common.ll
+===================================================================
+--- llvm-toolchain-snapshot_11~++20200326111000+4673699a470.orig/llvm/test/tools/gold/X86/start-lib-common.ll
++++ llvm-toolchain-snapshot_11~++20200326111000+4673699a470/llvm/test/tools/gold/X86/start-lib-common.ll
+@@ -9,6 +9,7 @@
+ ; RUN:    -shared %t1.o --start-lib %t2.o --end-lib -o %t3.o
+ ; RUN: llvm-dis %t3.o -o - | FileCheck %s
++; XFAIL: *
+ target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
+ @x = common global i32 0, align 4
+Index: llvm-toolchain-snapshot_11~++20200326111000+4673699a470/llvm/test/tools/gold/X86/comdat.ll
+===================================================================
+--- llvm-toolchain-snapshot_11~++20200326111000+4673699a470.orig/llvm/test/tools/gold/X86/comdat.ll
++++ llvm-toolchain-snapshot_11~++20200326111000+4673699a470/llvm/test/tools/gold/X86/comdat.ll
+@@ -5,6 +5,7 @@
+ ; RUN:  -plugin-opt=save-temps
+ ; RUN: FileCheck --check-prefix=RES %s < %t3.o.resolution.txt
+ ; RUN: llvm-readobj --symbols %t3.o | FileCheck --check-prefix=OBJ %s
++; XFAIL: *
+ target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
+ target triple = "x86_64-unknown-linux-gnu"
diff --git a/patches/silent-gold-utils.diff b/patches/silent-gold-utils.diff
new file mode 100644 (file)
index 0000000..5344eb0
--- /dev/null
@@ -0,0 +1,190 @@
+---
+ test/tools/gold/X86/common_thinlto.ll             |    1 +
+ test/tools/gold/X86/emit-llvm.ll                  |    2 ++
+ test/tools/gold/X86/parallel.ll                   |    1 +
+ test/tools/gold/X86/pr19901_thinlto.ll            |    1 +
+ test/tools/gold/X86/slp-vectorize.ll              |    1 +
+ test/tools/gold/X86/strip_names.ll                |    1 +
+ test/tools/gold/X86/thinlto.ll                    |    2 ++
+ test/tools/gold/X86/thinlto_archive.ll            |    1 +
+ test/tools/gold/X86/thinlto_internalize.ll        |    2 ++
+ test/tools/gold/X86/thinlto_linkonceresolution.ll |    2 ++
+ test/tools/gold/X86/thinlto_weak_resolution.ll    |    3 ++-
+ test/tools/gold/X86/type-merge2.ll                |    2 +-
+ test/tools/gold/X86/vectorize.ll                  |    1 +
+ test/tools/gold/X86/visibility.ll                 |    1 +
+ 14 files changed, 19 insertions(+), 2 deletions(-)
+
+Index: llvm-toolchain-snapshot_19~++20240220124703+f122268c0441/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
+ ; NM: bar
++; XFAIL: *
+ source_filename = "common1.c"
+ target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
+Index: llvm-toolchain-snapshot_19~++20240220124703+f122268c0441/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
+ ; NM: T f3
++; XFAIL: *
++
+ 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_19~++20240220124703+f122268c0441/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
+ ; RUN: llvm-nm %t.lto.o1 | FileCheck --check-prefix=CHECK1 %s
++; XFAIL: *
+ 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_19~++20240220124703+f122268c0441/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
+ ; RUN: llvm-readobj --symbols %t.so | FileCheck %s
++; XFAIL: i686, i386
+ ; CHECK:       Symbol {
+ ; CHECK:         Name: f
+Index: llvm-toolchain-snapshot_19~++20240220124703+f122268c0441/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.
+ ; CHECK: fadd <4 x float>
++; XFAIL: *
+ 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_19~++20240220124703+f122268c0441/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
+ ; NONAME:  ret i32 %3
++; XFAIL: *
+ 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_19~++20240220124703+f122268c0441/llvm/test/tools/gold/X86/thinlto.ll
+===================================================================
+--- 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"
++; XFAIL: i686, i386
++
+ declare void @g(...)
+ define void @f() {
+Index: llvm-toolchain-snapshot_19~++20240220124703+f122268c0441/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
+ ; RUN: llvm-nm %t4 | FileCheck %s --check-prefix=NM
++; XFAIL: i686, i386
+ 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_19~++20240220124703+f122268c0441/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.
++; XFAIL: i686, i386
++
+ 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_19~++20240220124703+f122268c0441/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()
++; XFAIL: i686, i386
++
+ 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_19~++20240220124703+f122268c0441/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 \
+ ; RUN:     -o %t3.o %t.o %t2.o
++; XFAIL: i686, i386
+ ; RUN: llvm-nm %t3.o | FileCheck %s
+ ; CHECK: weakfunc
+Index: llvm-toolchain-snapshot_19~++20240220124703+f122268c0441/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
++; XFAIL: *
++
+ 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_19~++20240220124703+f122268c0441/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.
+ ; CHECK: fadd <4 x float>
++; XFAIL: *
+ 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_19~++20240220124703+f122268c0441/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
+ ; CHECK-NEXT: ]
++; XFAIL: *
+ ; IR: define dso_local void @foo
diff --git a/patches/silent-llvm-isel-fuzzer.diff b/patches/silent-llvm-isel-fuzzer.diff
new file mode 100644 (file)
index 0000000..a212d72
--- /dev/null
@@ -0,0 +1,24 @@
+Index: llvm-toolchain-snapshot_15~++20220407011631+46f0e2ceb487/llvm/test/tools/llvm-isel-fuzzer/aarch64-execname-options.ll
+===================================================================
+--- llvm-toolchain-snapshot_15~++20220407011631+46f0e2ceb487.orig/llvm/test/tools/llvm-isel-fuzzer/aarch64-execname-options.ll
++++ llvm-toolchain-snapshot_15~++20220407011631+46f0e2ceb487/llvm/test/tools/llvm-isel-fuzzer/aarch64-execname-options.ll
+@@ -2,6 +2,7 @@
+ ; without copying the whole lib dir or polluting the build dir.
+ ; REQUIRES: static-libs
+ ; REQUIRES: aarch64-registered-target
++: XFAIL: *
+ ; The above also applies if the binary is built with libc++.
+ ; UNSUPPORTED: libcxx-used
+Index: llvm-toolchain-snapshot_15~++20220407011631+46f0e2ceb487/llvm/test/tools/llvm-isel-fuzzer/execname-options.ll
+===================================================================
+--- llvm-toolchain-snapshot_15~++20220407011631+46f0e2ceb487.orig/llvm/test/tools/llvm-isel-fuzzer/execname-options.ll
++++ llvm-toolchain-snapshot_15~++20220407011631+46f0e2ceb487/llvm/test/tools/llvm-isel-fuzzer/execname-options.ll
+@@ -1,6 +1,7 @@
+ ; If the binary looks up libraries using an rpath, we can't test this
+ ; without copying the whole lib dir or polluting the build dir.
+ ; REQUIRES: static-libs
++: XFAIL: *
+ ; The above also applies if the binary is built with libc++.
+ ; UNSUPPORTED: libcxx-used
diff --git a/patches/silent-more-tests.diff b/patches/silent-more-tests.diff
new file mode 100644 (file)
index 0000000..68cf46e
--- /dev/null
@@ -0,0 +1,23 @@
+# Comment the tests for the code coverage (fails otherwise)
+
+
+---
+ test/BugPoint/crash-narrowfunctiontest.ll |    1 +
+ test/BugPoint/metadata.ll                 |    3 ++-
+ test/BugPoint/remove_arguments_test.ll    |    1 +
+ test/Feature/load_module.ll               |    1 +
+ 4 files changed, 5 insertions(+), 1 deletion(-)
+
+Index: llvm-toolchain-snapshot_16~++20221213075229+4f9d069b3b53/llvm/test/BugPoint/metadata.ll
+===================================================================
+--- llvm-toolchain-snapshot_16~++20221213075229+4f9d069b3b53.orig/llvm/test/BugPoint/metadata.ll
++++ llvm-toolchain-snapshot_16~++20221213075229+4f9d069b3b53/llvm/test/BugPoint/metadata.ll
+@@ -18,6 +18,8 @@
+ ; NOTYPE: !DICompileUnit
+ ; NOTYPE-NOT: !DIBasicType
++; XFAIL: *
++
+ %rust_task = type {}
+ define void @test(ptr %a, ptr %b) !dbg !9 {
+     %s = mul i8 22, 9, !attach !0, !dbg !10
diff --git a/patches/silent-test-failing-codeverage.diff b/patches/silent-test-failing-codeverage.diff
new file mode 100644 (file)
index 0000000..173666d
--- /dev/null
@@ -0,0 +1,13 @@
+Index: llvm-toolchain-snapshot_11~++20200326111000+4673699a470/llvm/test/ThinLTO/X86/autoupgrade.ll
+===================================================================
+--- llvm-toolchain-snapshot_11~++20200326111000+4673699a470.orig/llvm/test/ThinLTO/X86/autoupgrade.ll
++++ llvm-toolchain-snapshot_11~++20200326111000+4673699a470/llvm/test/ThinLTO/X86/autoupgrade.ll
+@@ -3,6 +3,8 @@
+ ; RUN: opt -module-summary %s -o %t.bc
+ ; RUN: llvm-lto -thinlto-action=thinlink -o %t3.bc %t.bc %p/Inputs/autoupgrade.bc
++; XFAIL: *
++
+ ; We can't use llvm-dis here, because it would do the autoupgrade itself.
+ ; RUN: llvm-link  -summary-index=%t3.bc \
diff --git a/patches/silent-test-macho.diff b/patches/silent-test-macho.diff
new file mode 100644 (file)
index 0000000..e577677
--- /dev/null
@@ -0,0 +1,14 @@
+Index: llvm-toolchain-snapshot_11~++20200326111000+4673699a470/llvm/test/Object/macho-invalid.test
+===================================================================
+--- llvm-toolchain-snapshot_11~++20200326111000+4673699a470.orig/llvm/test/Object/macho-invalid.test
++++ llvm-toolchain-snapshot_11~++20200326111000+4673699a470/llvm/test/Object/macho-invalid.test
+@@ -284,9 +284,6 @@ INVALID-DYLIB-WRONG-FILETYPE: macho-inva
+ RUN: not llvm-objdump --macho --private-headers %p/Inputs/macho-invalid-dylib-no-id  2>&1 | FileCheck --check-prefix=INVALID-DYLIB-NO-ID %s
+ INVALID-DYLIB-NO-ID: macho-invalid-dylib-no-id': truncated or malformed object (no LC_ID_DYLIB load command in dynamic library filetype)
+-RUN: not llvm-objdump --macho --private-headers %p/Inputs/macho-invalid-dylib-cmdsize-past-eof 2>&1 | FileCheck --check-prefix=INVALID-DYLIB-CMDSIZE %s
+-INVALID-DYLIB-CMDSIZE: macho-invalid-dylib-cmdsize-past-eof': truncated or malformed object (load command 0 extends past end of file)
+-
+ RUN: not llvm-objdump --macho --private-headers %p/Inputs/macho-invalid-uuid-more-than-one  2>&1 | FileCheck --check-prefix=INVALID-UUID-MORE-THAN-ONE %s
+ INVALID-UUID-MORE-THAN-ONE: macho-invalid-uuid-more-than-one': truncated or malformed object (more than one LC_UUID command)
diff --git a/patches/symbolizer-path.diff b/patches/symbolizer-path.diff
new file mode 100644 (file)
index 0000000..a3fa2b2
--- /dev/null
@@ -0,0 +1,37 @@
+Index: llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_posix_libcdep.cpp
+===================================================================
+--- 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"
++#include "llvm/Config/llvm-config.h" // for LLVM_VERSION_MAJOR
++
++#define TOSTR2(X) #X
++#define TOSTR(X) TOSTR2(X)
++
+ // 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.
+@@ -450,7 +455,7 @@ static SymbolizerTool *ChooseExternalSym
+     return new(*allocator) AtosSymbolizer(found_path, allocator);
+   }
+ #endif  // SANITIZER_APPLE
+-  if (const char *found_path = FindPathToBinary("llvm-symbolizer")) {
++  if (const char *found_path = "/usr/bin/llvm-symbolizer-" TOSTR(LLVM_VERSION_MAJOR)) {
+     VReport(2, "Using llvm-symbolizer found at: %s\n", found_path);
+     return new(*allocator) LLVMSymbolizer(found_path, allocator);
+   }
+Index: llvm-toolchain-19_19.1.2~++20241011093632+6c1fd539e43e/compiler-rt/lib/sanitizer_common/CMakeLists.txt
+===================================================================
+--- 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(..)
++include_directories(${LLVM_INCLUDE_DIR})
+ set(SANITIZER_COMMON_DEFINITIONS
+   HAVE_RPC_XDR_H=${HAVE_RPC_XDR_H})
diff --git a/patches/test-keep-alive.diff b/patches/test-keep-alive.diff
new file mode 100644 (file)
index 0000000..ff20daa
--- /dev/null
@@ -0,0 +1,21 @@
+Index: llvm-toolchain-snapshot_17~++20230517015648+0b6264738f3d/llvm/utils/lit/lit/ProgressBar.py
+===================================================================
+--- llvm-toolchain-snapshot_17~++20230517015648+0b6264738f3d.orig/llvm/utils/lit/lit/ProgressBar.py
++++ llvm-toolchain-snapshot_17~++20230517015648+0b6264738f3d/llvm/utils/lit/lit/ProgressBar.py
+@@ -203,15 +203,7 @@ class SimpleProgressBar:
+             return
+         for i in range(self.atIndex, next):
+-            idx = i % 5
+-            if idx == 0:
+-                sys.stdout.write("%2d" % (i * 2))
+-            elif idx == 1:
+-                pass  # Skip second char
+-            elif idx < 4:
+-                sys.stdout.write(".")
+-            else:
+-                sys.stdout.write(" ")
++            sys.stdout.write('%-2d ' % (i*2))
+         sys.stdout.flush()
+         self.atIndex = next
diff --git a/patches/ubuntu-plucky.patch b/patches/ubuntu-plucky.patch
new file mode 100644 (file)
index 0000000..158995a
--- /dev/null
@@ -0,0 +1,43 @@
+From 32b55f375feaf6bcc2c870964a0bf087cf3c22bf Mon Sep 17 00:00:00 2001
+From: Sylvestre Ledru <sylvestre@debian.org>
+Date: Thu, 17 Oct 2024 21:32:20 +0200
+Subject: [PATCH] Add support of the next Ubuntu (Ubuntu 25.04 - Plucky Puffin)
+
+---
+ clang/include/clang/Driver/Distro.h | 3 ++-
+ clang/lib/Driver/Distro.cpp         | 1 +
+ 2 files changed, 3 insertions(+), 1 deletion(-)
+
+Index: llvm-toolchain-19_19.1.2~++20241028100023+d8752671e825/clang/include/clang/Driver/Distro.h
+===================================================================
+--- llvm-toolchain-19_19.1.2~++20241028100023+d8752671e825.orig/clang/include/clang/Driver/Distro.h
++++ llvm-toolchain-19_19.1.2~++20241028100023+d8752671e825/clang/include/clang/Driver/Distro.h
+@@ -80,6 +80,7 @@ public:
+     UbuntuMantic,
+     UbuntuNoble,
+     UbuntuOracular,
++    UbuntuPlucky,
+     UnknownDistro
+   };
+@@ -131,7 +132,7 @@ public:
+   }
+   bool IsUbuntu() const {
+-    return DistroVal >= UbuntuHardy && DistroVal <= UbuntuOracular;
++    return DistroVal >= UbuntuHardy && DistroVal <= UbuntuPlucky;
+   }
+   bool IsAlpineLinux() const { return DistroVal == AlpineLinux; }
+Index: llvm-toolchain-19_19.1.2~++20241028100023+d8752671e825/clang/lib/Driver/Distro.cpp
+===================================================================
+--- llvm-toolchain-19_19.1.2~++20241028100023+d8752671e825.orig/clang/lib/Driver/Distro.cpp
++++ llvm-toolchain-19_19.1.2~++20241028100023+d8752671e825/clang/lib/Driver/Distro.cpp
+@@ -96,6 +96,7 @@ static Distro::DistroType DetectLsbRelea
+                     .Case("mantic", Distro::UbuntuMantic)
+                     .Case("noble", Distro::UbuntuNoble)
+                     .Case("oracular", Distro::UbuntuOracular)
++                    .Case("plucky", Distro::UbuntuPlucky)
+                     .Default(Distro::UnknownDistro);
+   return Version;
+ }
diff --git a/patches/unwind-chain-inclusion.diff b/patches/unwind-chain-inclusion.diff
new file mode 100644 (file)
index 0000000..92c12a7
--- /dev/null
@@ -0,0 +1,43 @@
+# Without this patch, the first local include of unwind.h might, with the 
+# __has_include_next, try to include the one from the system.
+# It might be /usr/include/clang/3.4/include/unwind.h
+# Because of the #ifndef __CLANG_UNWIND_H, it might never include any declaration
+# from the system. 
+
+---
+ clang/lib/Headers/unwind.h |    9 +++++----
+ 1 file changed, 5 insertions(+), 4 deletions(-)
+
+Index: llvm-toolchain-snapshot_19~++20240220124703+f122268c0441/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.*/
+-#ifndef __CLANG_UNWIND_H
+-#define __CLANG_UNWIND_H
+-
+ #if defined(__APPLE__) && __has_include_next(<unwind.h>)
+ /* Darwin (from 11.x on) provide an unwind.h. If that's available,
+  * use it. libunwind wraps some of its definitions in #ifdef _GNU_SOURCE,
+@@ -39,6 +36,9 @@
+ # endif
+ #else
++#ifndef __CLANG_UNWIND_H
++#define __CLANG_UNWIND_H
++
+ #include <stdint.h>
+ #ifdef __cplusplus
+@@ -327,6 +327,7 @@ _Unwind_Ptr _Unwind_GetTextRelBase(struc
+ }
+ #endif
++#endif /* __CLANG_UNWIND_H */
++
+ #endif
+-#endif /* __CLANG_UNWIND_H */
diff --git a/patches/unwind-force-pthread-dl.diff b/patches/unwind-force-pthread-dl.diff
new file mode 100644 (file)
index 0000000..e51974b
--- /dev/null
@@ -0,0 +1,28 @@
+Index: llvm-toolchain-snapshot_19~++20240711013116+0ff13f72c974/libunwind/CMakeLists.txt
+===================================================================
+--- 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()
+-if (C_SUPPORTS_COMMENT_LIB_PRAGMA)
+-  if (LIBUNWIND_HAS_DL_LIB)
++list(APPEND LIBUNWIND_LINK_FLAGS "-ldl")
++list(APPEND LIBUNWIND_LINK_FLAGS "-lpthread")
++
++#if (C_SUPPORTS_COMMENT_LIB_PRAGMA)
++#  if (LIBUNWIND_HAS_DL_LIB)
+     add_definitions(-D_LIBUNWIND_LINK_DL_LIB)
+-  endif()
+-  if (LIBUNWIND_HAS_PTHREAD_LIB)
++#  endif()
++#  if (LIBUNWIND_HAS_PTHREAD_LIB)
+     add_definitions(-D_LIBUNWIND_LINK_PTHREAD_LIB)
+-  endif()
+-endif()
++#  endif()
++#endif()
+ #===============================================================================
+ # Setup Source Code
diff --git a/patches/wasm/wasm-compiler-rt-default.diff b/patches/wasm/wasm-compiler-rt-default.diff
new file mode 100644 (file)
index 0000000..43d8d72
--- /dev/null
@@ -0,0 +1,35 @@
+Index: llvm-toolchain-snapshot_19~++20240711013116+0ff13f72c974/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
+@@ -457,6 +457,18 @@ ToolChain::RuntimeLibType WebAssembly::G
+   return ToolChain::RLT_CompilerRT;
+ }
++ToolChain::RuntimeLibType WebAssembly::GetRuntimeLibType(
++    const ArgList &Args) const {
++  if (Arg *A = Args.getLastArg(options::OPT_rtlib_EQ)) {
++    StringRef Value = A->getValue();
++    if (Value != "compiler-rt")
++      getDriver().Diag(clang::diag::err_drv_unsupported_rtlib_for_platform)
++          << Value << "WebAssembly";
++  }
++
++  return ToolChain::RLT_CompilerRT;
++}
++
+ ToolChain::CXXStdlibType
+ WebAssembly::GetCXXStdlibType(const ArgList &Args) const {
+   if (Arg *A = Args.getLastArg(options::OPT_stdlib_EQ)) {
+Index: llvm-toolchain-snapshot_19~++20240711013116+0ff13f72c974/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;
+   RuntimeLibType GetDefaultRuntimeLibType() const override;
++  RuntimeLibType GetRuntimeLibType(const llvm::opt::ArgList &Args) const override;
+   CXXStdlibType GetCXXStdlibType(const llvm::opt::ArgList &Args) const override;
+   void
+   AddClangSystemIncludeArgs(const llvm::opt::ArgList &DriverArgs,
diff --git a/patches/wasm/wasm-ld-path.diff b/patches/wasm/wasm-ld-path.diff
new file mode 100644 (file)
index 0000000..61fcede
--- /dev/null
@@ -0,0 +1,25 @@
+Index: llvm-toolchain-snapshot_19~++20240711013116+0ff13f72c974/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"
++#include "llvm/Config/llvm-config.h" // for LLVM_VERSION_MAJOR
++
++#define TOSTR2(X) #X
++#define TOSTR(X) TOSTR2(X)
++
+ using namespace clang::driver;
+ using namespace clang::driver::tools;
+ using namespace clang::driver::toolchains;
+@@ -243,7 +248,7 @@ WebAssembly::WebAssembly(const Driver &D
+ const char *WebAssembly::getDefaultLinker() const {
+   if (getOS() == "wasip2")
+     return "wasm-component-ld";
+-  return "wasm-ld";
++  return "wasm-ld-" TOSTR(LLVM_VERSION_MAJOR);
+ }
+ bool WebAssembly::IsMathErrnoDefault() const { return false; }
diff --git a/patches/wasm/wasm-sysroot-usr.diff b/patches/wasm/wasm-sysroot-usr.diff
new file mode 100644 (file)
index 0000000..0cc694e
--- /dev/null
@@ -0,0 +1,122 @@
+Index: llvm-toolchain-snapshot_19~++20240711013116+0ff13f72c974/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
+@@ -224,7 +224,7 @@ WebAssembly::WebAssembly(const Driver &D
+   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
+@@ -490,6 +490,7 @@ void WebAssembly::AddClangSystemIncludeA
+     return;
+   const Driver &D = getDriver();
++  std::string SysRoot = computeSysRoot();
+   if (!DriverArgs.hasArg(options::OPT_nobuiltininc)) {
+     SmallString<128> P(D.ResourceDir);
+@@ -513,12 +514,20 @@ void WebAssembly::AddClangSystemIncludeA
+     return;
+   }
++  // add the multiarch path on e.g. wasm32-wasi
+   if (getTriple().getOS() != llvm::Triple::UnknownOS) {
+     const std::string MultiarchTriple =
+-        getMultiarchTriple(D, getTriple(), D.SysRoot);
+-    addSystemInclude(DriverArgs, CC1Args, D.SysRoot + "/include/" + MultiarchTriple);
++        getMultiarchTriple(D, getTriple(), SysRoot);
++    addSystemInclude(DriverArgs, CC1Args, SysRoot + "/local/include/" + MultiarchTriple);
++    addSystemInclude(DriverArgs, CC1Args, SysRoot + "/local/include");
++    addSystemInclude(DriverArgs, CC1Args, SysRoot + "/include/" + MultiarchTriple);
+   }
+-  addSystemInclude(DriverArgs, CC1Args, D.SysRoot + "/include");
++
++  // also add the non-multiarch path, only on a known OS (as above), or when
++  // a sysroot is given, for backwards compatibility with the original driver
++  if (getTriple().getOS() != llvm::Triple::UnknownOS ||
++      !getDriver().SysRoot.empty())
++    addSystemInclude(DriverArgs, CC1Args, SysRoot + "/include");
+ }
+ void WebAssembly::AddClangCXXStdlibIncludeArgs(const ArgList &DriverArgs,
+@@ -569,6 +578,17 @@ Tool *WebAssembly::buildLinker() const {
+   return new tools::wasm::Linker(*this);
+ }
++std::string WebAssembly::computeSysRoot() const {
++  if (!getDriver().SysRoot.empty())
++    return getDriver().SysRoot;
++
++  std::string Path = "/usr";
++  if (getVFS().exists(Path))
++    return Path;
++
++  return std::string();
++}
++
+ void WebAssembly::addLibCxxIncludePaths(
+     const llvm::opt::ArgList &DriverArgs,
+     llvm::opt::ArgStringList &CC1Args) const {
+@@ -579,18 +599,22 @@ void WebAssembly::addLibCxxIncludePaths(
+       getMultiarchTriple(D, getTriple(), SysRoot);
+   bool IsKnownOs = (getTriple().getOS() != llvm::Triple::UnknownOS);
+-  std::string Version = detectLibcxxVersion(LibPath);
+-  if (Version.empty())
+-    return;
+-
+   // First add the per-target include path if the OS is known.
+   if (IsKnownOs) {
+-    std::string TargetDir = LibPath + "/" + MultiarchTriple + "/c++/" + Version;
+-    addSystemInclude(DriverArgs, CC1Args, TargetDir);
++    std::string Version = detectLibcxxVersion(LibPath + "/" + MultiarchTriple);
++    if (!Version.empty()) {
++      std::string TargetDir = LibPath + "/" + MultiarchTriple + "/c++/" + Version;
++      addSystemInclude(DriverArgs, CC1Args, TargetDir);
++    }
+   }
+   // Second add the generic one.
+-  addSystemInclude(DriverArgs, CC1Args, LibPath + "/c++/" + Version);
++  // don't include the host architecture's headers in the search path
++  if (!getDriver().SysRoot.empty()) {
++    std::string Version = detectLibcxxVersion(LibPath);
++    if (!Version.empty())
++      addSystemInclude(DriverArgs, CC1Args, LibPath + "/c++/" + Version);
++  }
+ }
+ void WebAssembly::addLibStdCXXIncludePaths(
+@@ -637,8 +661,11 @@ void WebAssembly::addLibStdCXXIncludePat
+     addSystemInclude(DriverArgs, CC1Args, TargetDir);
+   }
+-  // Second add the generic one.
+-  addSystemInclude(DriverArgs, CC1Args, LibPath + "/c++/" + Version);
+-  // Third the backward one.
+-  addSystemInclude(DriverArgs, CC1Args, LibPath + "/c++/" + Version + "/backward");
++  // don't include the host architecture's headers in the search path
++  if (!getDriver().SysRoot.empty()) {
++    // Second add the generic one.
++    addSystemInclude(DriverArgs, CC1Args, LibPath + "/c++/" + Version);
++    // Third the backward one.
++    addSystemInclude(DriverArgs, CC1Args, LibPath + "/c++/" + Version + "/backward");
++  }
+ }
+Index: llvm-toolchain-snapshot_19~++20240711013116+0ff13f72c974/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,
+                                 llvm::opt::ArgStringList &CC1Args) const;
++
++  std::string computeSysRoot() const override;
+ };
+ } // end namespace toolchains
diff --git a/pollycc.in b/pollycc.in
new file mode 100755 (executable)
index 0000000..f063818
--- /dev/null
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+clang -Xclang -load -Xclang /usr/lib/llvm-@LLVM_VERSION@/lib/LLVMPolly.so $@
diff --git a/prepare-new-release.sh b/prepare-new-release.sh
new file mode 100644 (file)
index 0000000..7b0b464
--- /dev/null
@@ -0,0 +1,23 @@
+#!/bin/sh
+ORIG_VERSION=18
+TARGET_VERSION=19
+ORIG_VERSION_2=18_0
+TARGET_VERSION_2=19_0
+ORIG_VERSION_3=180
+TARGET_VERSION_3=190
+
+LIST=`ls debian/control debian/orig-tar.sh debian/rules debian/patches/clang-analyzer-force-version.diff debian/patches/clang-format-version.diff debian/patches/python-clangpath.diff debian/patches/scan-build-clang-path.diff debian/patches/lldb-libname.diff debian/patches/fix-scan-view-path.diff debian/patches/lldb/lldb-addversion-suffix-to-llvm-server-exec.patch debian/patches/clang-tidy-run-bin.diff debian/patches/fix-scan-view-path.diff debian/README debian/patches/clang-analyzer-force-version.diff debian/patches/clang-tidy-run-bin.diff debian/tests/control debian/tests/integration-test-suite-test debian/unpack.sh debian/tests/cmake-test debian/patches/scan-build-py-fix-default-bin.diff`
+for F in $LIST; do
+    sed -i -e "s|$ORIG_VERSION_3|$TARGET_VERSION_3|g" $F
+    sed -i -e "s|$ORIG_VERSION_2|$TARGET_VERSION_2|g" $F
+    sed -i -e "s|$ORIG_VERSION|$TARGET_VERSION|g" $F
+done
+
+echo "once you copy the old version into a new branch"
+echo "edit debian/rules"
+echo "edit debian/control, update the VCS links"
+echo "edit debian/control, update the source pkg name"
+echo "edit debian/changelog, update the source pkg name"
+echo "edit debian/unpack.sh, replace snapshot by the version"
+echo "NOTE: the first version of the $ORIG_VERSION should be $ORIG_VERSION, not $ORIG_VERSION.0.0"
+echo "edit https://github.com/opencollab/llvm-jenkins.debian.net/blob/master/pbuilder-hookdir/B22scan-build"
diff --git a/python3-clang-X.Y.install.in b/python3-clang-X.Y.install.in
new file mode 100644 (file)
index 0000000..796be86
--- /dev/null
@@ -0,0 +1 @@
+clang/bindings/python/clang/ /usr/lib/python3/dist-packages/
diff --git a/python3-lldb-X.Y.install.in b/python3-lldb-X.Y.install.in
new file mode 100644 (file)
index 0000000..ef37de7
--- /dev/null
@@ -0,0 +1 @@
+usr/lib/llvm-@LLVM_VERSION@/lib/python3*/*-packages/lldb/
diff --git a/python3-lldb-X.Y.links.in b/python3-lldb-X.Y.links.in
new file mode 100644 (file)
index 0000000..2639ac0
--- /dev/null
@@ -0,0 +1,4 @@
+usr/lib/@DEB_HOST_MULTIARCH@/libLLVM-@LLVM_VERSION_FULL@.so.1 usr/lib/llvm-@LLVM_VERSION@/lib/python3/dist-packages/lldb/libLLVM-@LLVM_VERSION_FULL@.so.1
+usr/lib/@DEB_HOST_MULTIARCH@/libLLVM-@LLVM_VERSION_FULL@.so.1 usr/lib/llvm-@LLVM_VERSION@/lib/python3/dist-packages/lldb/libLLVM-@LLVM_VERSION@.so.1
+usr/lib/@DEB_HOST_MULTIARCH@/liblldb-@LLVM_VERSION@.so.1      usr/lib/llvm-@LLVM_VERSION@/lib/python3/dist-packages/lldb/_lldb.so
+usr/lib/llvm-@LLVM_VERSION@/lib/python3/dist-packages/lldb/ usr/lib/python3/dist-packages/lldb
diff --git a/qualify-clang.sh b/qualify-clang.sh
new file mode 100755 (executable)
index 0000000..2c0ddd4
--- /dev/null
@@ -0,0 +1,2045 @@
+#!/usr/bin/env bats
+
+setup() {
+
+    load '/usr/lib/bats/bats-support/load' # this is required by bats-assert!
+    load '/usr/lib/bats/bats-assert/load'
+
+    # Common setup
+    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)
+
+    # Define the package list
+    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"
+}
+
+@test "Print LLVM installation information" {
+    echo
+    echo "==============================================="
+    echo "LLVM Version ${VERSION} Installation Instructions"
+    echo "==============================================="
+    echo
+    echo "Detailed version: ${DETAILED_VERSION}"
+    echo
+
+    echo "Step 1: Remove potentially conflicting packages"
+    echo "---------------------------------------------"
+    echo "Run the following command to remove existing packages:"
+    echo "sudo apt --purge remove 'libomp5-*' 'libc++*dev' 'libc++*' 'python3-lldb-*' 'libunwind-*' 'libclc-*' 'libclc-*dev' 'libmlir-*'"
+    echo
+
+    echo "Step 2: Install new packages"
+    echo "-------------------------"
+    echo "You have two options for installation:"
+    echo
+
+    echo "Option 1: Using dpkg (if you have the .deb files)"
+    echo "----------------------------------------"
+    echo "sudo dpkg -i $LIST"
+    echo
+
+    echo "Option 2: Using apt (recommended)"
+    echo "----------------------------"
+    L=""
+    for f in $LIST; do
+        L="$L $(echo $f|cut -d_ -f1)"
+    done
+    echo "sudo apt-get install $L"
+    echo
+    run clang-$VERSION --version
+    assert_output -p 'clang version'
+}
+
+@test "Check debian/ directory existence" {
+    [ -d "debian/" ]
+}
+
+@test "Check for llvm-config binary" {
+    [ -f "/usr/bin/llvm-config-$VERSION" ]
+}
+
+@test "Ensure libLLVM.so.VERSION.1 exists in libllvm$VERSION" {
+    NBLINES=$(dpkg -L libllvm$VERSION | grep -c "libLLVM.so.$VERSION.1")
+    [ "$NBLINES" -gt 0 ]
+}
+
+@test "llvm-config does not export -W warnings" {
+    run llvm-config-$VERSION --cxxflags
+    refute_output -p " -W"
+}
+
+@test "nm recognizes libLLVMBitWriter.a format" {
+    # Test https://bugs.llvm.org/show_bug.cgi?id=40059
+    run nm /usr/lib/llvm-$VERSION/lib/libLLVMBitWriter.a
+    refute_output -p 'File format not recognized'
+}
+
+@test "Verify llvm manpages" {
+    [ -f "/usr/share/man/man1/llc-$VERSION.1.gz" ]
+}
+
+
+# ===================== clang
+
+@test "Test clang dumpversion" {
+    run clang-$VERSION -dumpversion
+    assert_success
+    refute_output "4.2.1"
+}
+
+@test "Test compilation of standard library headers with Clang" {
+    # Test 1: Compile with <string.h>
+    cat > "${BATS_TMPDIR}/string_test.c" <<EOF
+#include <string.h>
+int main() {
+    (void) strcat;
+    return 0;
+}
+EOF
+    run clang-$VERSION -c "${BATS_TMPDIR}/string_test.c"
+    assert_success "Compilation with <string.h> failed"
+
+    # Test 2: Compile with <errno.h>
+    cat > "${BATS_TMPDIR}/errno_test.c" <<EOF
+#include <errno.h>
+int main() {}
+EOF
+    run clang-$VERSION "${BATS_TMPDIR}/errno_test.c"
+    assert_success "Compilation with <errno.h> failed"
+
+    # Test 3: Compile with <chrono>
+    cat > "${BATS_TMPDIR}/chrono_test.cpp" <<EOF
+#include <chrono>
+int main() {}
+EOF
+    run clang++-$VERSION -std=c++11 "${BATS_TMPDIR}/chrono_test.cpp"
+    assert_success "Compilation with <chrono> and C++11 standard failed"
+}
+
+
+# ===================== scan-build
+
+@test "Check scan-build functionality with GCC" {
+
+    echo '
+         void test() {
+         int x;
+         x = 1; // warn
+         }
+    '> ${BATS_TMPDIR}/scan_build_test.c
+
+    # Run scan-build with GCC
+    run scan-build-$VERSION -o "${BATS_TMPDIR}/scan_build_output" gcc -c "${BATS_TMPDIR}/scan_build_test.c"
+    assert_success
+    assert_output -p "1 bug found"
+
+    # Clean up
+    rm -rf "${BATS_TMPDIR}/scan_build_output"
+}
+
+@test "Check scan-build functionality with Clang" {
+
+    echo '
+         void test() {
+         int x;
+         x = 1; // warn
+         }
+    '> ${BATS_TMPDIR}/scan_build_test.c
+
+    run scan-build-$VERSION -o scan-build clang-$VERSION -c ${BATS_TMPDIR}/scan_build_test.c
+    assert_output -p "1 bug found"
+}
+
+@test "scan-build --exclude functionality" {
+
+    echo '
+         void test() {
+         int x;
+         x = 1; // warn
+         }
+    '> ${BATS_TMPDIR}/scan_build_test.c
+
+    run scan-build-$VERSION --exclude ${BATS_TMPDIR} -v clang-$VERSION -c ${BATS_TMPDIR}/scan_build_test.c
+    assert_success
+       assert_output -p 'scan-build: 0 bugs found.'
+}
+
+@test "Check clang-tidy detection" {
+    echo 'namespace mozilla { namespace dom { void foo(); }}' > foo.cpp
+    run clang-tidy-$VERSION -checks='modernize-concat-nested-namespaces' foo.cpp -extra-arg=-std=c++17
+    assert_output -p "nested namespaces can"
+}
+
+@test "Check clang-tidy autofix" {
+    echo 'namespace mozilla { namespace dom { void foo(); } }' > foo.cpp
+    clang-tidy-$VERSION -checks='modernize-concat-nested-namespaces' foo.cpp -extra-arg=-std=c++17 -fix
+    run grep -q "namespace mozilla::dom" foo.cpp
+    assert_success
+}
+
+@test "Check clangd output" {
+    echo '{
+  "jsonrpc": "2.0",
+  "id": 0,
+  "method": "initialize",
+  "params": {
+    "capabilities": {
+      "textDocument": {
+        "completion": {
+          "completionItem": {
+            "snippetSupport": true
+          }
+        }
+      }
+    },
+    "trace": "off"
+  }
+}
+---
+{
+    "jsonrpc": "2.0",
+    "method": "textDocument/didOpen",
+    "params": {
+        "textDocument": {
+            "uri": "test:///main.cpp",
+            "languageId": "cpp",
+            "version": 1,
+            "text": "int func_with_args(int a, int b);\nint main() {\nfunc_with\n}"
+        }
+    }
+}
+---
+{
+    "jsonrpc": "2.0",
+    "id": 1,
+    "method": "textDocument/completion",
+    "params": {
+        "textDocument": {
+            "uri": "test:///main.cpp"
+        },
+        "position": {
+            "line": 2,
+            "character": 7
+         }
+     }
+}
+---
+{
+    "jsonrpc": "2.0",
+    "id": 4,
+    "method": "shutdown"
+}
+---
+{
+    "jsonrpc": "2.0",
+    "method": "exit"
+}
+    ' > clangd.json
+
+    run clangd-$VERSION -lit-test -pch-storage=memory < clangd.json
+    assert_success
+    assert_output -p 'func_with_args(${1:int a}, ${2:int b})'
+}
+
+@test "Test LLI and LLVM runtime functionality" {
+    local temp_dir="${BATS_TMPDIR}/lli_test"
+    mkdir -p "${temp_dir}"
+
+    cat > "${temp_dir}/foo.c" <<EOF
+#include <stdio.h>
+int main() {
+    printf("lli foo");
+    return 0;
+}
+EOF
+
+    # Generate LLVM IR
+    run clang-$VERSION -S -emit-llvm "${temp_dir}/foo.c" -o "${temp_dir}/foo.ll"
+    assert_success "Failed to generate LLVM IR"
+
+    # Compile LLVM IR to assembly
+    run llc-$VERSION "${temp_dir}/foo.ll" -o "${temp_dir}/foo.s"
+    assert_success "Failed to compile LLVM IR to assembly"
+
+    # Execute the LLVM IR using lli
+    run lli-$VERSION "${temp_dir}/foo.ll"
+    assert_output -p "lli foo" "LLI did not produce the expected output"
+
+    # Optimize the LLVM IR
+    run opt-$VERSION -S -O3 "${temp_dir}/foo.ll" -o "${temp_dir}/opt.ll"
+    assert_success "Failed to optimize LLVM IR"
+
+    # Execute the optimized LLVM IR
+    run lli-$VERSION "${temp_dir}/opt.ll"
+    assert_output -p "lli foo" "LLI did not produce the expected output after optimization"
+
+    # Generate LLVM bitcode
+    run clang-$VERSION -O3 -emit-llvm "${temp_dir}/foo.c" -c -o "${temp_dir}/foo.bc"
+    assert_success "Failed to generate LLVM bitcode"
+
+    # Make the bitcode executable
+    chmod +x "${temp_dir}/foo.bc"
+
+    # Check if binfmt is enabled for LLVM bitcode
+    if grep -q "enabled" /proc/sys/fs/binfmt_misc/llvm-${VERSION}-runtime.binfmt; then
+        # Execute the bitcode
+        run "${temp_dir}/foo.bc"
+        assert_output -p "lli foo" "Execution of LLVM bitcode failed"
+    else
+        skip "binfmt_misc for LLVM bitcode is not enabled"
+    fi
+
+    rm -rf "${temp_dir}"
+}
+
+@test "Verify lld linker output (Bug 40659)" {
+    echo "int foo(void) {      return 0; }"> "${BATS_TMPDIR}/foo.c"
+    echo "int foo(void); int main() {foo();    return 0;}"> "${BATS_TMPDIR}/main.c"
+
+    run clang-$VERSION -fuse-ld=lld -O2  "${BATS_TMPDIR}/foo.c" "${BATS_TMPDIR}/main.c" -o foo
+    run ./foo
+    assert_success
+
+    run clang-$VERSION -fuse-ld=lld-$VERSION -O2 "${BATS_TMPDIR}/foo.c" "${BATS_TMPDIR}/main.c" -o foo
+    assert_success
+    run ./foo
+    assert_success
+}
+
+
+
+@test "Test LLVM coverage tools" {
+    echo '#include <stdio.h>
+               int main() { printf("Coverage test"); return 0; }' > foo.c
+    run clang-$VERSION --coverage foo.c -o foo
+    assert_success
+    run ./foo
+       assert_success
+    run test -f foo-foo.gcno
+       assert_success
+}
+
+
+@test "Test clang c++ standard library functionality" {
+    echo '#include <vector>
+    #include <string>
+    #include <iostream>
+    using namespace std;
+    int main() {
+        vector<string> tab;
+        tab.push_back("Hello");
+        return 0;
+    }' > "${BATS_TMPDIR}/test.cpp"
+
+    run clang++-$VERSION "${BATS_TMPDIR}/test.cpp" -o "${BATS_TMPDIR}/test"
+    assert_success
+
+    run "${BATS_TMPDIR}/test"
+    assert_success
+}
+
+@test "Test OpenMP support" {
+    echo '#include "omp.h"
+    #include <stdio.h>
+    int main(void) {
+        #pragma omp parallel
+        printf("thread %d\n", omp_get_thread_num());
+        return 0;
+    }' > "${BATS_TMPDIR}/omp_test.c"
+
+    run clang-$VERSION "${BATS_TMPDIR}/omp_test.c" -fopenmp -o "${BATS_TMPDIR}/omp_test"
+    assert_success
+
+    run "${BATS_TMPDIR}/omp_test"
+    assert_success
+}
+
+@test "Test address sanitizer" {
+    echo '#include <stdlib.h>
+    int main() {
+        char *x = (char*)malloc(10 * sizeof(char*));
+        free(x);
+        return x[5];
+    }' > "${BATS_TMPDIR}/asan_test.c"
+
+    run clang-$VERSION -o "${BATS_TMPDIR}/asan_test" -fsanitize=address -O1 -fno-omit-frame-pointer -g "${BATS_TMPDIR}/asan_test.c"
+    assert_success
+
+    run "${BATS_TMPDIR}/asan_test"
+    assert_failure
+    assert_output -p "heap-use-after-free"
+}
+
+@test "Test Address Sanitizer verbose mode" {
+    echo 'int main(int argc, char **argv) {
+        int *array = new int[100];
+        delete [] array;
+        return array[argc];  // BOOM
+    }' > "${BATS_TMPDIR}/asan_test.cpp"
+
+    # Compile the program with AddressSanitizer enabled
+    run clang++-$VERSION -O1 -g -fsanitize=address -fno-omit-frame-pointer "${BATS_TMPDIR}/asan_test.cpp" -o "${BATS_TMPDIR}/asan_test"
+    assert_success "ASan compilation failed"
+
+    # Run the program with ASan verbose mode enabled
+    ASAN_OPTIONS=verbosity=1 ${BATS_TMPDIR}/asan_test &> foo.log || true
+    run cat foo.log
+    assert_output -p "Init done"
+
+}
+@test "Test all sanitizers and multiarch compatibility" {
+    local temp_dir="${BATS_TMPDIR}/sanitizer_multi"
+    mkdir -p "${temp_dir}"
+
+    # Generate the C test file
+    cat > "${temp_dir}/test.c" <<EOF
+#include <stdlib.h>
+#include <stdio.h>
+int main ()
+{
+#if __has_feature(address_sanitizer)
+  puts("address_sanitizer");
+#endif
+#if __has_feature(thread_sanitizer)
+  puts("thread_sanitizer");
+#endif
+#if __has_feature(memory_sanitizer)
+  puts("memory_sanitizer");
+#endif
+#if __has_feature(undefined_sanitizer)
+  puts("undefined_sanitizer");
+#endif
+#if __has_feature(dataflow_sanitizer)
+  puts("dataflow_sanitizer");
+#endif
+#if __has_feature(efficiency_sanitizer)
+  puts("efficiency_sanitizer");
+#endif
+  printf("Ok\n");
+  return EXIT_SUCCESS;
+}
+EOF
+
+    # Check for compiler-rt library
+    run clang-$VERSION --target=x86_64-unknown-linux-gnu --rtlib=compiler-rt --print-libgcc-file-name
+    assert_success "Failed to locate compiler-rt runtime library"
+
+    # Multiarch compatibility testing
+    # only for AMD64 for now
+    # many sanitizers only work on AMD64
+    # x32 programs need to be enabled in the kernel bootparams for debian
+    # (https://wiki.debian.org/X32Port)
+    #
+    # SYSTEM should iterate multiple targets (eg. x86_64-unknown-none-gnu for embedded)
+    # MARCH should iterate the library architectures via flags
+    # LIB should iterate the different libraries
+    echo "if it fails, please run"
+    echo "apt-get install libc6-dev:i386 libgcc-5-dev:i386 libc6-dev-x32 libx32gcc-5-dev libx32gcc-9-dev"
+    local architectures=("-m64") # "-m32" "-mx32")
+    local sanitizers=("--rtlib=compiler-rt" "-fsanitize=address" "-fsanitize=thread" "-fsanitize=memory" "-fsanitize=undefined" "-fsanitize=dataflow")
+
+    for arch in "${architectures[@]}"; do
+        for sanitizer in "${sanitizers[@]}"; do
+            # Skip unsupported combinations
+            if [[ "$arch" == "-m32" || "$arch" == "-mx32" ]]; then
+                if [[ "$sanitizer" == "-fsanitize=thread" || "$sanitizer" == "-fsanitize=memory" || "$sanitizer" == "-fsanitize=dataflow" ]]; then
+                    continue
+                fi
+            fi
+
+            echo "Testing sanitizer: $sanitizer with architecture: $arch"
+            rm -f "${temp_dir}/test"
+            run clang-$VERSION $arch $sanitizer -o "${temp_dir}/test" "${temp_dir}/test.c"
+            assert_success "Compilation failed for sanitizer: $sanitizer with architecture: $arch"
+
+            if [ -f "${temp_dir}/test" ]; then
+                run "${temp_dir}/test"
+                assert_success "Execution failed for sanitizer: $sanitizer with architecture: $arch"
+            fi
+        done
+    done
+
+    rm -rf "${temp_dir}"
+}
+
+@test "Test LLVM symbolizer integration with AddressSanitizer" {
+    echo 'int main(int argc, char **argv) {
+        int *array = new int[100];
+        delete [] array;
+        return array[argc];  // BOOM
+    }' > "${BATS_TMPDIR}/symbolizer_test.cpp"
+
+    # Compile the program with AddressSanitizer enabled
+    run clang++-$VERSION -O1 -g -fsanitize=address -fno-omit-frame-pointer "${BATS_TMPDIR}/symbolizer_test.cpp" -o "${BATS_TMPDIR}/symbolizer_test"
+    assert_success "ASan compilation failed"
+
+    # Run the program with external symbolizer path and verbose mode enabled
+    ASAN_OPTIONS=verbosity=2:external_symbolizer_path=/usr/lib/llvm-$VERSION/bin/llvm-symbolizer \
+       run "${BATS_TMPDIR}/symbolizer_test"
+    assert_failure
+
+    assert_output -p 'new[](unsigned'
+
+    assert_output -p "symbolizer_test.cpp:4"
+
+    # Run again without verbose mode and check symbolization
+    run "${BATS_TMPDIR}/symbolizer_test"
+    assert_output -p "new[](unsigned"
+    assert_output -p "symbolizer_test.cpp:4"
+}
+
+
+@test "Test libc++ with AddressSanitizer" {
+    echo '#include <stdexcept>
+    int main() {
+        std::logic_error("");
+    }' > "${BATS_TMPDIR}/sanitizer_test.cpp"
+
+    # Compile with libc++ and AddressSanitizer
+    run clang++-$VERSION -stdlib=libc++ -fsanitize=address "${BATS_TMPDIR}/sanitizer_test.cpp" -o "${BATS_TMPDIR}/sanitizer_test"
+    assert_success "Compilation with libc++ and AddressSanitizer failed"
+
+    # Run the compiled binary
+    run "${BATS_TMPDIR}/sanitizer_test"
+    assert_success "Running the binary failed with AddressSanitizer enabled"
+}
+
+@test "Test AddressSanitizer with C standard library (Bug 876973)" {
+
+    cat > "${BATS_TMPDIR}/asan_c_test.c" <<EOF
+#include <stdio.h>
+int main(int argc, char **argv) {
+    printf("Hello world!\\n");
+    return 0;
+}
+EOF
+
+    run clang-$VERSION -fsanitize=address "${BATS_TMPDIR}/asan_c_test.c" -o "${BATS_TMPDIR}/asan_c_test" -lc
+    assert_success "ASan compilation with -lc failed"
+
+    run "${BATS_TMPDIR}/asan_c_test" &> /dev/null
+    assert_success "Execution failed or AddressSanitizer detected an issue with -lc"
+}
+
+@test "Test Thread Sanitizer" {
+    skip_if_arch "i386"
+
+    echo '#include <pthread.h>
+    int Global;
+    void *Thread1(void *x) {
+        Global++;
+        return NULL;
+    }
+    void *Thread2(void *x) {
+        Global--;
+        return NULL;
+    }
+    int main() {
+        pthread_t t[2];
+        pthread_create(&t[0], NULL, Thread1, NULL);
+        pthread_create(&t[1], NULL, Thread2, NULL);
+        pthread_join(t[0], NULL);
+        pthread_join(t[1], NULL);
+    }' > "${BATS_TMPDIR}/tsan_test.c"
+
+    run clang-$VERSION -o "${BATS_TMPDIR}/tsan_test" -fsanitize=thread -g -O1 "${BATS_TMPDIR}/tsan_test.c"
+    assert_success
+
+    run "${BATS_TMPDIR}/tsan_test"
+    assert_failure
+    assert_output -p "data race"
+}
+
+@test "Test AddressSanitizer and Undefined Behavior Sanitizer with complex C++ code" {
+    # Create the C++ source file
+    cat > "${BATS_TMPDIR}/asan_ubsan_test.cpp" <<EOF
+class a {
+public:
+  ~a();
+};
+template <typename, typename> using b = a;
+struct f {
+  template <typename d> using e = b<a, d>;
+};
+struct g {
+  typedef f::e<int> c;
+};
+class h {
+  struct : g::c { int i; };
+};
+struct m {
+  h i;
+};
+template <typename> void __attribute__((noreturn)) j();
+void k() {
+  m l;
+  j<int>();
+}
+EOF
+
+    # Compile the C++ code with AddressSanitizer and Undefined Behavior Sanitizer enabled
+    run clang++-$VERSION -std=c++14 -O3 -fsanitize=address -fsanitize=undefined -c "${BATS_TMPDIR}/asan_ubsan_test.cpp" -fno-crash-diagnostics
+    assert_success "Compilation with AddressSanitizer and Undefined Behavior Sanitizer failed"
+}
+
+
+# ===================== polly
+
+@test "Test Polly optimizations" {
+    echo '#define N 512
+    float A[N][N], B[N][N], C[N][N];
+    void init_arrays() {
+        for (int i = 0; i < N; i++)
+            for (int j = 0; j < N; j++) {
+                A[i][j] = 1.0;
+                B[i][j] = 2.0;
+            }
+    }
+    int main() {
+        init_arrays();
+        for (int i = 0; i < N; i++)
+            for (int j = 0; j < N; j++)
+                for (int k = 0; k < N; k++)
+                    C[i][j] += A[i][k] * B[k][j];
+        return 0;
+    }' > "${BATS_TMPDIR}/polly_test.c"
+
+    # Compile with Polly optimizations enabled
+    run clang-$VERSION -O3 -mllvm -polly -mllvm -polly-vectorizer=stripmine "${BATS_TMPDIR}/polly_test.c" -o "${BATS_TMPDIR}/polly_test"
+    assert_success "Polly optimization failed"
+
+    # Verify the optimization record
+    run clang-$VERSION -S -fsave-optimization-record -emit-llvm "${BATS_TMPDIR}/polly_test.c" -o "${BATS_TMPDIR}/polly_test.s"
+    assert_success "Failed to generate Polly optimization record"
+
+    # broken https://bugs.llvm.org/show_bug.cgi?id=51642
+    # run test -s "${BATS_TMPDIR}/polly_test.opt.yaml"
+
+    run clang-$VERSION -S -O2 -fsave-optimization-record -emit-llvm "${BATS_TMPDIR}/polly_test.c" -o "${BATS_TMPDIR}/polly_test.s"
+    assert_success
+    run test -s "${BATS_TMPDIR}/polly_test.opt.yaml"
+    assert_success
+    run opt-$VERSION -S -polly-canonicalize  "${BATS_TMPDIR}/polly_test.s" >  "${BATS_TMPDIR}/polly_test.ll"
+    assert_success
+    run opt-$VERSION -basic-aa -polly-ast "${BATS_TMPDIR}/polly_test.ll" -polly-process-unprofitable
+    assert_success
+    # help with the path
+    cp "${BATS_TMPDIR}/polly_test.c" .
+    run /usr/lib/llvm-$VERSION/share/opt-viewer/opt-viewer.py -source-dir ${BATS_TMPDIR}/ ${BATS_TMPDIR}/polly_test.opt.yaml -o ${BATS_TMPDIR}/output > /dev/null
+    assert_success
+
+    run grep -q "inlined into" ${BATS_TMPDIR}/output/*polly_test.c.html
+    assert_success
+}
+
+@test "Test libpolly package presence" {
+    run test -f "/usr/lib/llvm-$VERSION/include/polly/LinkAllPasses.h"
+    assert_success
+}
+
+# ===================== lldb
+
+@test "Test LLDB debugger functionality" {
+    echo '#include <stdio.h>
+    int main() {
+        printf("LLDB test\n");
+        return 0;
+    }' > "${BATS_TMPDIR}/lldb_test.c"
+
+    run clang-$VERSION -g -o "${BATS_TMPDIR}/lldb_test" "${BATS_TMPDIR}/lldb_test.c"
+    assert_success
+
+    echo "b main
+    run
+    bt
+    quit" > "${BATS_TMPDIR}/lldb_commands.txt"
+
+    run lldb-$VERSION -s "${BATS_TMPDIR}/lldb_commands.txt" "${BATS_TMPDIR}/lldb_test"
+    assert_success
+}
+
+
+@test "Test LLDB debugging with libc++" {
+    # Create the C++ source file
+    cat > "${BATS_TMPDIR}/foo.cpp" <<EOF
+#include <vector>
+int main (void) {
+    std::vector<int> a;
+    a.push_back(0);
+}
+EOF
+
+    # Compile the program with debugging symbols
+    run clang++-$VERSION -g -o "${BATS_TMPDIR}/foo32" "${BATS_TMPDIR}/foo.cpp"
+    assert_success "Compilation with debugging symbols failed"
+
+    # Create the LLDB command script
+    echo "b main
+r
+n
+p a
+quit
+" > "${BATS_TMPDIR}/lldb_commands.txt"
+
+    run lldb-$VERSION -s "${BATS_TMPDIR}/lldb_commands.txt" "${BATS_TMPDIR}/foo32"
+    assert_output -p "stop reason = step over"
+}
+
+# ===================== cmake
+
+@test "Test CMake integration (Bug 900440)" {
+    mkdir -p "${BATS_TMPDIR}/cmake_test"
+
+    cat > "${BATS_TMPDIR}/cmake_test/CMakeLists.txt" <<EOF
+               cmake_minimum_required(VERSION 3.7)
+               project(testllvm)
+
+               find_package(LLVM CONFIG REQUIRED)
+               find_package(Clang CONFIG REQUIRED)
+
+               if(NOT LLVM_VERSION STREQUAL Clang_VERSION)
+                   #message(FATAL_ERROR "LLVM ${LLVM_VERSION} not matching to Clang ${Clang_VERSION}")
+               endif()
+EOF
+
+    cd "${BATS_TMPDIR}/cmake_test"
+    run cmake .
+    assert_success
+}
+
+@test "Test if lit-cpuid in LLVMExports CMake files" {
+    # Define the path to LLVMExports CMake files
+    local cmake_files="/usr/lib/llvm-${VERSION}/lib/cmake/llvm/LLVMExports*.cmake"
+
+    # Ensure at least one CMake file exists
+    run ls ${cmake_files}
+    assert_success "No LLVMExports CMake files found"
+
+    # Check for lit-cpuid in the files
+    run grep -q "lit-cpuid" ${cmake_files}
+    assert_failure "Found 'lit-cpuid' in LLVMExports CMake files. This introduces a dependency between llvm-${VERSION} and lldb."
+}
+
+@test "Test CMake integration with LLVM and Clang" {
+    local cmake_test_dir="${BATS_TMPDIR}/cmaketest"
+    mkdir -p "${cmake_test_dir}"
+
+    cat > "${cmake_test_dir}/CMakeLists.txt" <<EOF
+cmake_minimum_required(VERSION 3.7)
+project(SanityCheck)
+find_package(LLVM $VERSION.1 REQUIRED CONFIG)
+message(STATUS "LLVM_CMAKE_DIR: \${LLVM_CMAKE_DIR}")
+if(NOT EXISTS "\${LLVM_TOOLS_BINARY_DIR}/clang")
+message(FATAL_ERROR "Invalid LLVM_TOOLS_BINARY_DIR: \${LLVM_TOOLS_BINARY_DIR}")
+endif()
+find_package(Clang REQUIRED CONFIG)
+find_file(H clang/AST/ASTConsumer.h PATHS \${CLANG_INCLUDE_DIRS} NO_DEFAULT_PATH)
+message(STATUS "CLANG_INCLUDE_DIRS: \${CLANG_INCLUDE_DIRS}")
+if(NOT H)
+message(FATAL_ERROR "Invalid Clang header path: \${CLANG_INCLUDE_DIRS}")
+endif()
+EOF
+
+    mkdir -p "${cmake_test_dir}/standard"
+    mkdir -p "${cmake_test_dir}/explicit"
+
+    # Test: CMake find LLVM and Clang in the default path
+    pushd "${cmake_test_dir}/standard" > /dev/null
+    run cmake ..
+    assert_success "CMake integration test for default path failed"
+    popd > /dev/null
+
+    # Test: CMake find LLVM and Clang in the explicit prefix path
+    pushd "${cmake_test_dir}/explicit" > /dev/null
+    run cmake -DCMAKE_PREFIX_PATH="/usr/lib/llvm-${VERSION}" ..
+    assert_success "CMake integration test for explicit path failed"
+    popd > /dev/null
+
+    rm -rf "${cmake_test_dir}"
+}
+
+@test "Test CMake lib detection with LLVM and Clang" {
+    # # https://reviews.llvm.org/D107799#3027607
+    if ! dpkg -l | grep -q zlib1g-dev; then
+        skip "zlib1g-dev is not installed"
+    fi
+
+    local cmake_test_dir="${BATS_TMPDIR}/cmaketest"
+    mkdir -p "${cmake_test_dir}"
+
+    cat > "${cmake_test_dir}/CMakeLists.txt" <<EOF
+cmake_minimum_required(VERSION 3.0)
+project(test)
+find_package(ZLIB)
+EOF
+
+    mkdir -p "${cmake_test_dir}/foo"
+    pushd "${cmake_test_dir}/foo" > /dev/null
+
+    # Run CMake and capture the output
+    run cmake -DCMAKE_C_COMPILER=clang-$VERSION -DCMAKE_CXX_COMPILER=clang++-$VERSION ..
+    assert_success "CMake failed to run with ZLIB detection"
+
+    # Ensure ZLIB is detected successfully
+    refute_output -p "Could NOT find ZLIB" "CMake could not find ZLIB even though zlib1g-dev is installed"
+
+    popd > /dev/null
+    rm -rf "${cmake_test_dir}"
+}
+@test "Test CMake Clang detection (Bug 994827)" {
+    local cmake_test_dir="${BATS_TMPDIR}/cmaketest"
+    mkdir -p "${cmake_test_dir}"
+
+    cat > "${cmake_test_dir}/CMakeLists.txt" <<EOF
+cmake_minimum_required(VERSION 3.18)
+project(testllvm)
+
+find_package(Clang REQUIRED CONFIG HINTS "/usr/lib/llvm-${VERSION}/lib/cmake/clang/")
+EOF
+
+    mkdir -p "${cmake_test_dir}/foo"
+    pushd "${cmake_test_dir}/foo" > /dev/null
+
+    # Run CMake and check for success
+    run cmake ..
+    assert_success "CMake failed to detect Clang with the specified HINTS path"
+
+    popd > /dev/null
+    rm -rf "${cmake_test_dir}"
+}
+
+# ===================== libc++
+
+@test "Test libc++ and libc++abi integration" {
+    echo '#include <vector>
+    #include <string>
+    #include <iostream>
+    int main() {
+        std::vector<std::string> v;
+        v.push_back("test");
+        return 0;
+    }' > "${BATS_TMPDIR}/libcxx_test.cpp"
+
+    run clang++-$VERSION -stdlib=libc++ -lc++abi "${BATS_TMPDIR}/libcxx_test.cpp" -o "${BATS_TMPDIR}/libcxx_test"
+    assert_success
+
+    run "${BATS_TMPDIR}/libcxx_test"
+    assert_success
+}
+
+skip_if_arch() {
+    if [ "$DEB_HOST_ARCH" = "$1" ]; then
+        skip "Test not supported on $1 architecture"
+    fi
+}
+
+# ===================== wasm
+
+@test "Test WASM support for C program with wasi-libc" {
+    if ! dpkg -l | grep -q wasi-libc; then
+        skip "wasi-libc not installed"
+    fi
+
+    # Test C program compilation for WASM
+    echo '#include <stdio.h>
+    int main(int argc, char *argv[]) {
+        printf("%s\n", "Hello World!");
+    }' > "${BATS_TMPDIR}/wasm_printf_test.c"
+
+    # Compile with clang targeting wasm32-wasi
+    run clang-$VERSION -target wasm32-wasi -o "${BATS_TMPDIR}/wasm_printf" "${BATS_TMPDIR}/wasm_printf_test.c"
+    assert_success "Failed to compile printf.c for wasm32-wasi"
+
+    # Check the output binary is a WebAssembly file
+    run file "${BATS_TMPDIR}/wasm_printf"
+    assert_output -p "WebAssembly"
+
+    # Clean up
+    rm -f "${BATS_TMPDIR}/wasm_printf_test.c" "${BATS_TMPDIR}/wasm_printf"
+}
+
+@test "Test WASM support for C++ program with wasi-libc" {
+    if ! dpkg -l | grep -q wasi-libc; then
+        skip "wasi-libc not installed"
+    fi
+
+    # Test C++ program compilation for WASM
+    echo '#include <iostream>
+    int main() {
+        std::cout << "Hello World!" << std::endl;
+    }' > "${BATS_TMPDIR}/wasm_cout_test.cpp"
+
+    # Compile with clang++ targeting wasm32-wasi
+    run clang++-$VERSION --target=wasm32-wasi -o "${BATS_TMPDIR}/wasm_cout" "${BATS_TMPDIR}/wasm_cout_test.cpp"
+    assert_success "Failed to compile cout.cpp for wasm32-wasi"
+
+    # Check the output binary is a WebAssembly file
+    run file "${BATS_TMPDIR}/wasm_cout"
+    assert_output -p "WebAssembly"
+
+    # Clean up
+    rm -f "${BATS_TMPDIR}/wasm_cout_test.cpp" "${BATS_TMPDIR}/wasm_cout"
+}
+
+# ===================== sanitizers
+
+@test "Test Memory sanitizer" {
+    skip_if_arch "i386"
+
+    echo '#include <stdlib.h>
+    int main() {
+        int *a = (int*)malloc(sizeof(int));
+        int b = *a;  // Use uninitialized value
+        free(a);
+        return b;
+    }' > "${BATS_TMPDIR}/msan_test.c"
+
+    run clang-$VERSION -fsanitize=memory -o "${BATS_TMPDIR}/msan_test" "${BATS_TMPDIR}/msan_test.c"
+    assert_success
+}
+
+@test "Test undefined behavior sanitizer" {
+    echo '#include <stdio.h>
+    int main(int argc, char **argv) {
+        int k = 0x7fffffff;
+        k += argc;  // potential overflow
+        return 0;
+    }' > "${BATS_TMPDIR}/ubsan_test.c"
+
+    run clang-$VERSION -fsanitize=undefined -o "${BATS_TMPDIR}/ubsan_test" "${BATS_TMPDIR}/ubsan_test.c"
+    assert_success
+}
+
+@test "Test compiler-rt library presence" {
+    run clang-$VERSION --target=x86_64-unknown-linux-gnu --rtlib=compiler-rt --print-libgcc-file-name
+    assert_success
+    assert_output -p 'libclang_rt'
+}
+
+# ===================== libfuzzer
+
+@test "Test libFuzzer presence" {
+    run test -f "/usr/lib/llvm-$VERSION/lib/libFuzzer.a"
+    assert_success
+}
+@test "Test libFuzzer compilation and execution across architectures" {
+    if [[ "$DEB_HOST_ARCH" != "amd64" && "$DEB_HOST_ARCH" != "i386" ]]; then
+        skip "Test not applicable on architectures other than amd64 or i386"
+    fi
+
+    # Create a fuzzer test source file
+    cat > "${BATS_TMPDIR}/test_fuzzer.cc" <<EOF
+#include <stdint.h>
+#include <stddef.h>
+
+extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
+    if (size > 0 && data[0] == 'H') {
+        if (size > 1 && data[1] == 'I') {
+            if (size > 2 && data[2] == '!') {
+                __builtin_trap();
+            }
+        }
+    }
+    return 0;
+}
+EOF
+
+    # Compile the test with libFuzzer
+    run clang-$VERSION -fsanitize=fuzzer "${BATS_TMPDIR}/test_fuzzer.cc" -o "${BATS_TMPDIR}/a.out" &> "${BATS_TMPDIR}/foo.log"
+
+    # Check for missing file errors in the log
+    if grep -q "No such file or directory" "${BATS_TMPDIR}/foo.log"; then
+        skip "Fuzzer compilation failed due to missing files or incorrect libraries"
+    fi
+
+    run "${BATS_TMPDIR}/a.out"
+    assert_output -e "(Test unit written|PreferSmall)"
+}
+
+@test "Test libFuzzer functionality" {
+    if [[ "$DEB_HOST_ARCH" != "amd64" && "$DEB_HOST_ARCH" != "i386" ]]; then
+        skip "Test not applicable on architectures other than amd64 or i386"
+    fi
+    echo '#include <stdint.h>
+    #include <stddef.h>
+    extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
+        if (size > 0 && data[0] == '\''H'\'')
+            if (size > 1 && data[1] == '\''I'\'')
+                if (size > 2 && data[2] == '\''!'\'')
+                    __builtin_trap();
+        return 0;
+    }' > "${BATS_TMPDIR}/fuzzer_test.cc"
+
+    # Compile with libFuzzer explicitly linked
+    run clang++-$VERSION -fsanitize=address,fuzzer "${BATS_TMPDIR}/fuzzer_test.cc" -o "${BATS_TMPDIR}/fuzzer_test"
+    assert_success "Fuzzer compilation failed"
+
+    run "${BATS_TMPDIR}/fuzzer_test"
+    assert_failure
+    assert_output -p "libFuzzer: deadly signal"
+
+    run clang++-$VERSION -fsanitize=address -fsanitize-coverage=edge,trace-pc "${BATS_TMPDIR}/fuzzer_test.cc" /usr/lib/llvm-$VERSION/lib/libFuzzer.a -o "${BATS_TMPDIR}/fuzzer_test_explicit"
+    assert_success "Fuzzer compilation with explicit linking failed"
+    run "${BATS_TMPDIR}/fuzzer_test_explicit"
+    assert_output -e "(Test unit written|PreferSmall)"
+}
+
+@test "Test coverage Fuzzing with llvm-profdata and llvm-cov" {
+    # Create the main fuzzing driver
+    cat > "${BATS_TMPDIR}/StandaloneFuzzTargetMain.c" <<EOF
+#include <assert.h>
+#include <stdio.h>
+#include <stdlib.h>
+
+extern int LLVMFuzzerTestOneInput(const unsigned char *data, size_t size);
+__attribute__((weak)) extern int LLVMFuzzerInitialize(int *argc, char ***argv);
+int main(int argc, char **argv) {
+  fprintf(stderr, "StandaloneFuzzTargetMain: running %d inputs\n", argc - 1);
+  if (LLVMFuzzerInitialize)
+    LLVMFuzzerInitialize(&argc, &argv);
+  for (int i = 1; i < argc; i++) {
+    fprintf(stderr, "Running: %s\n", argv[i]);
+    FILE *f = fopen(argv[i], "r");
+    assert(f);
+    fseek(f, 0, SEEK_END);
+    size_t len = ftell(f);
+    fseek(f, 0, SEEK_SET);
+    unsigned char *buf = (unsigned char*)malloc(len);
+    size_t n_read = fread(buf, 1, len, f);
+    fclose(f);
+    assert(n_read == len);
+    LLVMFuzzerTestOneInput(buf, len);
+    free(buf);
+    fprintf(stderr, "Done:    %s: (%zd bytes)\n", argv[i], n_read);
+  }
+}
+EOF
+
+    # Create the fuzzing target
+    cat > "${BATS_TMPDIR}/fuzz_me.cc" <<EOF
+#include <stdint.h>
+#include <stddef.h>
+
+bool FuzzMe(const uint8_t *Data, size_t DataSize) {
+  return DataSize >= 3 &&
+      Data[0] == 'F' &&
+      Data[1] == 'U' &&
+      Data[2] == 'Z' &&
+      Data[3] == 'Z';
+}
+
+extern "C" int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size) {
+  FuzzMe(Data, Size);
+  return 0;
+}
+EOF
+
+    # Compile the fuzzing target and driver with profiling and coverage mapping
+    run clang-$VERSION -fprofile-instr-generate -fcoverage-mapping \
+        "${BATS_TMPDIR}/fuzz_me.cc" "${BATS_TMPDIR}/StandaloneFuzzTargetMain.c" \
+        -o "${BATS_TMPDIR}/a.out"
+    assert_success "Fuzzer compilation failed"
+
+    # Set up the corpus directory and create initial inputs
+    mkdir -p "${BATS_TMPDIR}/CORPUS"
+    echo -n A > "${BATS_TMPDIR}/CORPUS/A"
+
+    # Run the fuzzer binary with initial inputs
+    run "${BATS_TMPDIR}/a.out" "${BATS_TMPDIR}/CORPUS/*"
+    # fails on purpose
+    assert_failure
+    assert_output -p "running 1 inputs"
+
+    # Merge profiling data
+    run llvm-profdata-$VERSION merge -sparse *.profraw -o "${BATS_TMPDIR}/default.profdata"
+    assert_success "Failed to merge profiling data"
+
+    # Generate coverage report for the function `FuzzMe`
+    run llvm-cov-$VERSION show "${BATS_TMPDIR}/a.out" \
+        -instr-profile="${BATS_TMPDIR}/default.profdata" \
+        -name=FuzzMe
+    assert_success "llvm-cov failed to generate a coverage report"
+    assert_output -p 'DataSize >= 3'
+
+    # Add another input to the corpus and rerun
+    echo -n FUZA > "${BATS_TMPDIR}/CORPUS/FUZA"
+    run "${BATS_TMPDIR}/a.out" "${BATS_TMPDIR}/CORPUS/*"
+    assert_failure
+    assert_output -p "running 1 inputs"
+
+    # Merge profiling data again
+    run llvm-profdata-$VERSION merge -sparse *.profraw -o "${BATS_TMPDIR}/default.profdata"
+    assert_success "Failed to merge profiling data after adding new inputs"
+
+    # Generate coverage report again
+    run llvm-cov-$VERSION show "${BATS_TMPDIR}/a.out" \
+        -instr-profile="${BATS_TMPDIR}/default.profdata" \
+        -name=FuzzMe &> "${BATS_TMPDIR}/coverage.log"
+    assert_success "llvm-cov failed to generate a coverage report after new inputs"
+    assert_output -p "Data[3] == 'Z';"
+
+    # Cleanup
+    rm -rf "${BATS_TMPDIR}/CORPUS" "${BATS_TMPDIR}/fuzz_me.cc" "${BATS_TMPDIR}/StandaloneFuzzTargetMain.c" *.profraw
+}
+
+@test "Test BuildID in binaries for different linkers (Bug 916975)" {
+
+    echo "int foo(void) {      return 0; }"> "${BATS_TMPDIR}/foo.c"
+    echo "int foo(void); int main() {foo();    return 0;}"> "${BATS_TMPDIR}/main.c"
+
+    # Case 1: Compile and link with LLD
+    run clang-$VERSION -fuse-ld=lld -O2 "${BATS_TMPDIR}/foo.c" "${BATS_TMPDIR}/main.c" -o "${BATS_TMPDIR}/foo_lld"
+    assert_success "Compilation and linking with LLD failed"
+
+    # Check for BuildID in the LLD-linked binary
+    run file "${BATS_TMPDIR}/foo_lld"
+    assert_output -p "BuildID" "BuildID missing from binary generated with LLD"
+
+    # Case 2: Compile and link with the specific LLD version
+    run clang-$VERSION -fuse-ld=lld-$VERSION -O2 "${BATS_TMPDIR}/foo.c" "${BATS_TMPDIR}/main.c" -o "${BATS_TMPDIR}/foo_lld_version"
+    assert_success "Compilation and linking with LLD-$VERSION failed"
+
+    # Check for BuildID in the LLD-$VERSION-linked binary
+    run file "${BATS_TMPDIR}/foo_lld_version"
+    assert_output -p "BuildID" "BuildID missing from binary generated with LLD-$VERSION"
+
+    # Case 3: Compile and link with default LD, then strip the binary
+    run clang-$VERSION -O2 "${BATS_TMPDIR}/foo.c" "${BATS_TMPDIR}/main.c" -o "${BATS_TMPDIR}/foo_ld"
+    assert_success "Compilation and linking with default LD failed"
+
+    # Check for BuildID in the LD-linked binary
+    run file "${BATS_TMPDIR}/foo_ld"
+    assert_output -p "BuildID" "BuildID missing from binary generated with default LD"
+
+    # Strip the binary and recheck for BuildID
+    run strip "${BATS_TMPDIR}/foo_ld"
+    assert_success "Stripping binary failed"
+
+    run file "${BATS_TMPDIR}/foo_ld"
+    assert_output -p "BuildID" "BuildID missing from stripped binary"
+
+    # Cleanup
+    rm -f "${BATS_TMPDIR}/foo.c" "${BATS_TMPDIR}/main.c" "${BATS_TMPDIR}/foo_lld" "${BATS_TMPDIR}/foo_lld_version" "${BATS_TMPDIR}/foo_ld"
+}
+
+@test "Test optimization record generation" {
+    echo '#define N 1536
+    float A[N][N];
+    void test() {
+        for (int i = 0; i < N; i++)
+            for (int j = 0; j < N; j++)
+                A[i][j] = 0;
+    }' > "${BATS_TMPDIR}/opt_test.c"
+
+    run clang-$VERSION -S -O2 -fsave-optimization-record -emit-llvm "${BATS_TMPDIR}/opt_test.c" -o "${BATS_TMPDIR}/opt_test.s"
+    assert_success
+
+    run test -s "${BATS_TMPDIR}/opt_test.opt.yaml"
+    assert_success
+}
+
+@test "Test LLVM tools - llvm-dis" {
+    echo 'int main() { return 42; }' > "${BATS_TMPDIR}/llvm_tools_test.c"
+
+    run clang-$VERSION -O3 -emit-llvm "${BATS_TMPDIR}/llvm_tools_test.c" -c -o "${BATS_TMPDIR}/llvm_tools_test.bc"
+    assert_success
+
+    run llvm-dis-$VERSION < "${BATS_TMPDIR}/llvm_tools_test.bc"
+    assert_success
+    assert_output -p "42"
+}
+
+@test "Test LLVM debuginfod-find" {
+    run llvm-debuginfod-find-$VERSION --executable=1 5d016364c1cb69dd
+
+    # Check that it's not built without curl support
+    refute_output -p "No working HTTP"
+}
+
+@test "Test libclang library versions" {
+    run test ! -f "/usr/lib/llvm-$VERSION/lib/libclang.so.1"
+    assert_success "/usr/lib/llvm-$VERSION/lib/libclang.so.1 found. - Break the build as it breaks the coinstalability"
+}
+
+@test "Test clang-cpp linking" {
+    echo '#include <vector>
+    int main() { return 0; }' > "${BATS_TMPDIR}/cpp_link_test.cpp"
+
+    run clang-$VERSION -lclang-cpp$VERSION "${BATS_TMPDIR}/cpp_link_test.cpp" -o "${BATS_TMPDIR}/cpp_link_test"
+    assert_success
+
+    run ldd "${BATS_TMPDIR}/cpp_link_test"
+    assert_output -p "libclang-cpp"
+    run "${BATS_TMPDIR}/cpp_link_test"
+    assert_success
+}
+
+@test "Verify symbolic links for LLVM libraries" {
+    check_symlink() {
+        local symlink_path="/usr/lib/llvm-${VERSION}/lib/$1"
+
+        # Check if the symlink exists
+        if [ ! -e "$symlink_path" ]; then
+            echo "Invalid symlink: $symlink_path"
+            ls -al "$symlink_path" 2>/dev/null || true
+            fail "Symbolic link validation failed for $1"
+        fi
+    }
+
+    # Check required symlinks
+    check_symlink "libclang-cpp.so"
+    check_symlink "libclang-${VERSION}.so"
+    check_symlink "libclang.so"
+}
+
+@test "Test Python Clang bindings" {
+    skip_if_arch "i386"
+    echo "
+from ctypes import *
+libclang='/usr/lib/llvm-$VERSION/lib/libclang-$VERSION.so.1'
+lib = CDLL(libclang)
+fun = lib.clang_getAddressSpace
+print(fun)
+    " > foo.py
+
+    run python3 foo.py
+    assert_output -p "_FuncPtr"
+}
+
+# ===================== libc++
+
+@test "Test libc++ linking" {
+    echo '#include <vector>
+       int main() { std::vector<int> v; v.push_back(1); return 0; }' > foo.cpp
+    run clang++-$VERSION -stdlib=libc++ foo.cpp -o foo
+    assert_success
+    run ./foo
+       assert_success
+}
+
+@test "Test libc++abi linking" {
+    echo '#include <vector>
+       int main() { std::vector<int> v; v.push_back(1); return 0; }' > foo.cpp
+    run clang++-$VERSION -stdlib=libc++ -lc++abi foo.cpp -o foo
+    assert_success
+    run ./foo
+    assert_success
+}
+
+@test "Test libc++ compilation and linking" {
+    # Create the C++ source file
+    cat > "${BATS_TMPDIR}/libcxx_test.cpp" <<EOF
+#include <vector>
+#include <string>
+#include <iostream>
+using namespace std;
+int main(void) {
+    vector<string> tab;
+    tab.push_back("the");
+    tab.push_back("world");
+    tab.insert(tab.begin(), "Hello");
+
+    for(vector<string>::iterator it=tab.begin(); it!=tab.end(); ++it)
+    {
+        cout << *it << " ";
+    }
+    return 0;
+}
+EOF
+
+    # Compile and link with libc++
+    run clang++-$VERSION -stdlib=libc++ "${BATS_TMPDIR}/libcxx_test.cpp" -o "${BATS_TMPDIR}/o"
+    assert_success "Compilation with libc++ failed"
+
+    # Check if the binary is linked against libc++.so.1
+    run ldd "${BATS_TMPDIR}/o"
+    assert_output -p "libc++.so.1" "Binary is not linked against libc++.so.1"
+
+    # Check if the binary is linked against libc++abi.so.1
+    run ldd "${BATS_TMPDIR}/o"
+    assert_output -p "libc++abi.so.1" "Binary is not linked against libc++abi.so.1"
+
+    # Run the compiled binary
+    run "${BATS_TMPDIR}/o" > /dev/null
+    assert_success "Execution of binary with libc++ failed"
+
+    # Compile with libc++ and C++11 standard
+    run clang++-$VERSION -std=c++11 -stdlib=libc++ "${BATS_TMPDIR}/libcxx_test.cpp" -o "${BATS_TMPDIR}/o_cpp11"
+    assert_success "Compilation with libc++ and C++11 failed"
+
+    # Run the C++11 binary
+    run "${BATS_TMPDIR}/o_cpp11" > /dev/null
+    assert_success "Execution of C++11 binary with libc++ failed"
+
+    # Compile with libc++, C++14 standard, and experimental features
+    run clang++-$VERSION -std=c++14 -stdlib=libc++ "${BATS_TMPDIR}/libcxx_test.cpp" -lc++experimental -o "${BATS_TMPDIR}/o_cpp14"
+    assert_success "Compilation with libc++, C++14, and experimental features failed"
+
+    # Run the C++14 experimental binary
+    run "${BATS_TMPDIR}/o_cpp14" > /dev/null
+    assert_success "Execution of C++14 binary with libc++ and experimental features failed"
+}
+
+@test "Test libc++ filesystem support" {
+    echo '#include <filesystem>
+    #include <type_traits>
+    using namespace std::filesystem;
+    int main() {
+        static_assert(std::is_same<
+                path,
+                std::filesystem::path
+            >::value, "");
+        return 0;
+    }' > "${BATS_TMPDIR}/filesystem_test.cpp"
+
+    run clang++-$VERSION -std=c++17 -stdlib=libc++ "${BATS_TMPDIR}/filesystem_test.cpp" -o "${BATS_TMPDIR}/filesystem_test"
+    assert_success
+}
+
+@test "Test libc++ and libc++abi compatibility" {
+    # Create the C++ source file
+    echo '#include <chrono>
+int main() { }' > "${BATS_TMPDIR}/foo.cpp"
+
+    # Part 1: Compile and link with libc++ and libc++abi
+    run clang++-$VERSION -stdlib=libc++ -lc++abi "${BATS_TMPDIR}/foo.cpp" -o "${BATS_TMPDIR}/o_libcxxabi"
+    assert_success "Compilation with libc++ and libc++abi failed"
+
+    # Execute the binary
+    run "${BATS_TMPDIR}/o_libcxxabi" > /dev/null
+    assert_success "Execution of binary linked with libc++ and libc++abi failed"
+
+    # Check if the binary is linked against libc++abi.so.1
+    run ldd "${BATS_TMPDIR}/o_libcxxabi"
+    assert_output -p "libc++abi.so.1" "Binary is not linked against libc++abi.so.1"
+
+    # Part 2: Compile with libc++abi and use libstdc++ headers
+    run clang++-$VERSION -lc++abi "${BATS_TMPDIR}/foo.cpp" -o "${BATS_TMPDIR}/o_libstdc++"
+    assert_success "Compilation with libc++abi and libstdc++ headers failed"
+
+    # Execute the binary
+    run "${BATS_TMPDIR}/o_libstdc++" > /dev/null
+    assert_success "Execution of binary linked with libc++abi and libstdc++ headers failed"
+
+    # Check if the binary is linked against libstdc++
+    run ldd "${BATS_TMPDIR}/o_libstdc++"
+    assert_output -p "libstdc++.so." "Binary is not linked against libstdc++"
+}
+
+@test "Test C++ exception handling with libc++ (Bug 1586215)" {
+    cat > "${BATS_TMPDIR}/foo.cpp" <<EOF
+#include <string>
+#include <iostream>
+
+int main()
+{
+    try
+    {
+        std::string x;
+        char z = x.at(2);
+        std::cout << z << std::endl;
+    }
+    catch (...)
+    {
+    }
+
+    return 0;
+}
+EOF
+
+    run clang++-$VERSION -stdlib=libc++ -Wall -Werror "${BATS_TMPDIR}/foo.cpp" -o "${BATS_TMPDIR}/foo"
+    assert_success "Compilation with libc++ failed"
+
+    run "${BATS_TMPDIR}/foo"
+    assert_success "Execution of binary failed"
+}
+@test "Test inline C++ compilation with libc++ (Bug 889832)" {
+    echo '#include <iostream>
+int main() {}' > foo.cpp
+    run clang++-$VERSION -std=c++1z -x c++ -stdlib=libc++ foo.cpp
+    assert_success "Inline C++ compilation with libc++ failed"
+}
+
+@test "Test inline C++ compilation and libc++ modules (Bug 889832)" {
+
+    echo '#include <iostream>
+int main() {}' > foo.cpp
+    run clang++-$VERSION -std=c++1z -x c++ -stdlib=libc++ foo.cpp
+    assert_success "Inline C++ compilation with libc++ failed"
+
+
+    cat > "${BATS_TMPDIR}/foo.cpp" <<EOF
+import std;
+import std.compat;
+
+int main() {
+  std::cout << "Hello modular world\\n";
+  ::printf("Hello compat modular world\\n");
+}
+EOF
+
+    # Build the std module
+    run 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 "${BATS_TMPDIR}/std.pcm" \
+        -c /usr/lib/llvm-$VERSION/share/libc++/v1/std.cppm
+    assert_success "Compilation of std module failed"
+
+    # Build the std.compat module
+    run 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 "${BATS_TMPDIR}/std.compat.pcm" \
+        -fmodule-file=std="${BATS_TMPDIR}/std.pcm" \
+        -c /usr/lib/llvm-$VERSION/share/libc++/v1/std.compat.cppm
+    assert_success "Compilation of std.compat module failed"
+
+    # Build the test application
+    run clang++-$VERSION -std=c++20 \
+        -nostdinc++ \
+        -isystem /usr/lib/llvm-$VERSION/include/c++/v1/ \
+        -L /usr/lib/llvm-$VERSION/lib \
+        -fmodule-file=std="${BATS_TMPDIR}/std.pcm" \
+        -fmodule-file=std.compat="${BATS_TMPDIR}/std.compat.pcm" \
+        "${BATS_TMPDIR}/std.pcm" \
+        "${BATS_TMPDIR}/std.compat.pcm" \
+        -lc++ \
+        "${BATS_TMPDIR}/foo.cpp" -o "${BATS_TMPDIR}/a.out"
+    assert_success "Compilation of test application failed"
+
+    run "${BATS_TMPDIR}/a.out"
+    assert_success "Execution of test application failed"
+    assert_output -p "Hello modular world"
+    assert_output -p "Hello compat modular world"
+}
+
+@test "Test libclc package presence" {
+    if ! test -f "/usr/lib/clc/amdgcn--amdhsa.bc"; then
+        skip "libclc-$VERSION not installed"
+    fi
+
+    run test -f "/usr/lib/clc/polaris10-amdgcn-mesa-mesa3d.bc"
+    assert_success
+}
+
+@test "Test static linking with LLVM libc (libllvmlibc)" {
+
+    cat > "${BATS_TMPDIR}/main.c" <<EOF
+#include <math.h>
+int main(void)
+{
+    double f = 2.0;
+    if (isnan(f))
+      return 1;
+    return 0;
+}
+EOF
+
+    # Compile the C program statically with libllvmlibc
+    run clang-$VERSION -static -nostdlib -nolibc -L/usr/lib/llvm-$VERSION/lib/ -lllvmlibc \
+        "${BATS_TMPDIR}/main.c" -o "${BATS_TMPDIR}/foo"
+    assert_success "Compilation with libllvmlibc failed"
+
+    # Verify no linkage to regular libc
+    run ldd "${BATS_TMPDIR}/foo"
+    refute_output -p "libc." "Binary is linked against regular libc"
+
+    # Run the binary (segfault expected)
+    run "${BATS_TMPDIR}/foo"
+    assert_failure "Execution of binary failed (segfault expected)"
+}
+
+
+
+@test "Test HIP language support" {
+    if ! dpkg -l | grep -q hipcc; then
+        skip "hipcc not installed"
+    fi
+
+    echo '#include <hip/hip_runtime_api.h>
+    int main() { return 0; }' > "${BATS_TMPDIR}/hip_test.hip"
+
+    run clang++-$VERSION --rocm-path=/usr -x hip -lamdhip64 "${BATS_TMPDIR}/hip_test.hip"
+    assert_success
+}
+
+@test "Test binary format check with lld" {
+    echo 'bool testAndSet(void *atomic) {
+        return __atomic_test_and_set(atomic, __ATOMIC_SEQ_CST);
+    }' > "${BATS_TMPDIR}/format_test.cpp"
+
+    run clang++-$VERSION -c -target aarch64-linux-gnu "${BATS_TMPDIR}/format_test.cpp"
+    assert_success
+
+    run file "format_test.o"
+    assert_output -p "aarch64"
+}
+
+@test "Test errno header inclusion" {
+    echo '#include <errno.h>
+    int main() { return 0; }' > "${BATS_TMPDIR}/errno_test.c"
+
+    run clang-$VERSION "${BATS_TMPDIR}/errno_test.c"
+    assert_success
+}
+
+@test "Test ARM target features (Bug 930008)" {
+    run clang-$VERSION --target=arm-linux-gnueabihf -dM -E -xc - < /dev/null
+    assert_success
+    assert_output -p "#define __ARM_ARCH 7"
+}
+
+@test "Test Cross TU optimization" {
+    echo 'int sum(int a, int b);' > "${BATS_TMPDIR}/crosstu_1.h"
+    echo '#include "crosstu_1.h"
+    int sum(int a, int b) { return a + b; }' > "${BATS_TMPDIR}/crosstu_1.cpp"
+    echo '#include "crosstu_1.h"
+    int main() { return sum(1, 2); }' > "${BATS_TMPDIR}/crosstu_2.cpp"
+
+    run clang++-$VERSION -c "${BATS_TMPDIR}/crosstu_1.cpp"
+    assert_success
+    run clang++-$VERSION -c "${BATS_TMPDIR}/crosstu_2.cpp"
+    assert_success
+}
+
+@test "Test header generation" {
+    echo "#include <fenv.h>" > "${BATS_TMPDIR}/header_test.cc"
+    run clang++-$VERSION -P -E "${BATS_TMPDIR}/header_test.cc"
+    assert_success
+
+    # Check if output has more than 60 non-empty lines
+    run bash -c "clang++-$VERSION -P -E ${BATS_TMPDIR}/header_test.cc | grep . | wc -l"
+    assert [ "$output" -gt 60 ]
+}
+
+@test "Test atomic operations compilation (Bug 903709)" {
+    # Bug 903709: Ensure atomic operations compile correctly
+
+    cat > "${BATS_TMPDIR}/atomic_test.c" <<EOF
+#include <stdatomic.h>
+void increment(atomic_size_t *arg) {
+    atomic_fetch_add(arg, 1);
+}
+EOF
+
+    run clang-$VERSION -v -c "${BATS_TMPDIR}/atomic_test.c"
+    assert_success "Compilation of atomic operations (stdatomic.h) failed"
+}
+
+@test "Test profile generation and use" {
+    echo 'int X = 0;
+    int main() {
+        for (int i = 0; i < 100; i++)
+            X += i;
+        return 0;
+    }' > "${BATS_TMPDIR}/profile_test.cc"
+
+    run clang++-$VERSION -O2 -fprofile-instr-generate "${BATS_TMPDIR}/profile_test.cc" -o "${BATS_TMPDIR}/profile_test"
+    assert_success
+
+    LLVM_PROFILE_FILE="${BATS_TMPDIR}/profile_test-%p.profraw" run "${BATS_TMPDIR}/profile_test"
+    assert_success
+
+    run llvm-profdata-$VERSION merge -output="${BATS_TMPDIR}/profile_test.profdata" "${BATS_TMPDIR}/profile_test-"*.profraw
+    assert_success
+
+    run clang++-$VERSION -O2 -fprofile-instr-use="${BATS_TMPDIR}/profile_test.profdata" "${BATS_TMPDIR}/profile_test.cc" -o "${BATS_TMPDIR}/profile_test_final"
+    assert_success
+}
+
+# ===================== flang
+
+@test "Test flang Fortran compilation" {
+    echo 'program math
+  implicit none
+  real :: x, y
+  x = 3.14
+  y = 2.71
+  print *, "x + y = ", x + y
+end program math' > foo.f90
+    run flang-new-$VERSION foo.f90 -o foo
+    assert_success
+    run ./foo
+    assert_success
+    assert_output -p  "x + y ="
+}
+
+@test "Test flang shared library functionality" {
+    if ! dpkg -l | grep -q "flang-$VERSION"; then
+        skip "flang-$VERSION not installed"
+    fi
+
+    echo 'module hello_world
+        contains
+            subroutine say_hello()
+                print *, "Hello, World!"
+            end subroutine say_hello
+    end module hello_world' > "${BATS_TMPDIR}/flang_lib.f90"
+
+    run flang-new-$VERSION -c "${BATS_TMPDIR}/flang_lib.f90" -fpie
+    assert_success
+
+    run flang-new-$VERSION -shared -fpie -o "${BATS_TMPDIR}/libflib.so" "flang_lib.o"
+    assert_success
+
+    echo 'program main
+        use hello_world
+        call say_hello()
+    end program main' > "${BATS_TMPDIR}/flang_main.f90"
+
+    run flang-new-$VERSION "${BATS_TMPDIR}/flang_main.f90" -L"${BATS_TMPDIR}" -lflib -o "${BATS_TMPDIR}/flang_test"
+    assert_success
+
+    LD_LIBRARY_PATH="${BATS_TMPDIR}" run "${BATS_TMPDIR}/flang_test"
+    assert_output -p "Hello, World!"
+}
+
+@test "Verify llvm-symbolizer functionality in verbose mode" {
+    # Define the path to llvm-symbolizer
+    local symbolizer_path="/usr/lib/llvm-${VERSION}/bin/llvm-symbolizer"
+
+    # Ensure llvm-symbolizer exists
+    run test -f "${symbolizer_path}"
+    assert_success "llvm-symbolizer is missing"
+
+    # Create a simple test program
+    echo '#include <stdlib.h>
+    int main() {
+        char *x = (char*)malloc(10 * sizeof(char*));
+        free(x);
+        return x[5];  // Invalid memory access
+    }' > "${BATS_TMPDIR}/asan_test.c"
+
+    # Compile with AddressSanitizer and enable verbose mode
+    run clang-$VERSION -o "${BATS_TMPDIR}/asan_test" -fsanitize=address -fno-omit-frame-pointer -g "${BATS_TMPDIR}/asan_test.c"
+    assert_success
+
+    # Run the test program with verbose symbolizer options
+    ASAN_OPTIONS=verbosity=2:external_symbolizer_path="${symbolizer_path}" run "${BATS_TMPDIR}/asan_test"
+    assert_failure
+    assert_output -p "Using llvm-symbolizer"
+}
+
+@test "Test SIMD intrinsics compilation (AMD64/i386)" {
+    # Skip test if not on AMD64 or i386 architectures
+    if [[ "$DEB_HOST_ARCH" != "amd64" && "$DEB_HOST_ARCH" != "i386" ]]; then
+        skip "Test skipped for non-x86 architectures"
+    fi
+
+    # Create a C++ source file with SIMD intrinsics
+    echo '#include <emmintrin.h>' > "${BATS_TMPDIR}/simd_test.cc"
+
+    # Compile the source file
+    run clang++-$VERSION -c "${BATS_TMPDIR}/simd_test.cc"
+    assert_success "Compilation of SIMD intrinsics (<emmintrin.h>) failed on x86"
+}
+
+@test "Test preprocessing of limits header (Bug 913213)" {
+    echo '#include <limits.h>' > "${BATS_TMPDIR}/limits_test.cc"
+
+    # Compile the source file
+    run clang++-$VERSION -E -c "${BATS_TMPDIR}/limits_test.cc"
+    assert_output -p "limits.h"
+    assert_success "Preprocessing of <limits.h> failed"
+}
+
+@test "Test cross-compiler compatibility for C++ objects (Bug 1488254)" {
+    cat > "${BATS_TMPDIR}/foo.cc" <<EOF
+#include <string>
+std::string hello = "Hello, world!\\n";
+EOF
+
+    cat > "${BATS_TMPDIR}/bar.cc" <<EOF
+#include <string>
+#include <iostream>
+extern std::string hello;
+int main() {
+    std::cout << hello;
+    return 0;
+}
+EOF
+
+    # Test 1: Compile and link using GCC
+    run g++ -c "${BATS_TMPDIR}/foo.cc" -o "${BATS_TMPDIR}/foo.o"
+    assert_success "Compilation with GCC failed for foo.cc"
+    run g++ "${BATS_TMPDIR}/foo.o" "${BATS_TMPDIR}/bar.cc" -o "${BATS_TMPDIR}/a.out"
+    assert_success "Linking with GCC failed"
+    run "${BATS_TMPDIR}/a.out"
+    assert_success "Execution failed for binary compiled and linked with GCC"
+
+    # Test 2: Compile and link using Clang++
+    run clang++-$VERSION -c "${BATS_TMPDIR}/foo.cc" -o "${BATS_TMPDIR}/foo.o"
+    assert_success "Compilation with Clang++ failed for foo.cc"
+    run clang++-$VERSION "${BATS_TMPDIR}/foo.o" "${BATS_TMPDIR}/bar.cc" -o "${BATS_TMPDIR}/a.out"
+    assert_success "Linking with Clang++ failed"
+    run "${BATS_TMPDIR}/a.out"
+    assert_success "Execution failed for binary compiled and linked with Clang++"
+
+    # Test 3: Compile with GCC, link with Clang++
+    run g++ -c "${BATS_TMPDIR}/foo.cc" -o "${BATS_TMPDIR}/foo.o"
+    assert_success "Compilation with GCC failed for foo.cc"
+    run clang++-$VERSION "${BATS_TMPDIR}/foo.o" "${BATS_TMPDIR}/bar.cc" -o "${BATS_TMPDIR}/a.out"
+    assert_success "Linking with Clang++ failed for GCC-compiled object"
+    run "${BATS_TMPDIR}/a.out"
+    assert_success "Execution failed for GCC-compiled, Clang++-linked binary"
+
+    # Test 4: Compile with Clang++ -fPIC, link with GCC
+    run clang++-$VERSION -c "${BATS_TMPDIR}/foo.cc" -fPIC -o "${BATS_TMPDIR}/foo.o"
+    assert_success "Compilation with Clang++ -fPIC failed for foo.cc"
+    run g++ "${BATS_TMPDIR}/foo.o" "${BATS_TMPDIR}/bar.cc" -o "${BATS_TMPDIR}/a.out"
+    assert_success "Linking with GCC failed for Clang++-compiled object"
+    run "${BATS_TMPDIR}/a.out"
+    assert_success "Execution failed for Clang++-compiled, GCC-linked binary"
+}
+
+@test "Test static linking and unwind library (Bug 46321)" {
+    cat > "${BATS_TMPDIR}/test.cpp" <<EOF
+#include <iostream>
+int main() {
+  std::cout << "Hello World!" << std::endl;
+}
+EOF
+
+    # Compile and link with libc++, libunwind, and static libstdc++
+    run clang++-$VERSION -stdlib=libc++ -unwindlib=libunwind -rtlib=compiler-rt \
+        -static-libstdc++ -static-libgcc "${BATS_TMPDIR}/test.cpp" -lpthread -ldl -o "${BATS_TMPDIR}/test_static"
+    assert_success "Compilation with static linking and unwind library failed"
+
+    # Execute the binary
+    run "${BATS_TMPDIR}/test_static" > /dev/null
+    assert_success "Execution of static-linked binary failed"
+
+    # Compile with libc++, static libstdc++, and LLD
+    run clang++-$VERSION -stdlib=libc++ -static-libstdc++ -fuse-ld=lld -l:libc++abi.a \
+        "${BATS_TMPDIR}/test.cpp" -o "${BATS_TMPDIR}/test_lld"
+    assert_success "Compilation with LLD failed"
+
+    # Execute the binary
+    run "${BATS_TMPDIR}/test_lld" > /dev/null
+    assert_success "Execution of LLD-linked binary failed"
+
+    # Compile with libc++ and nostdlib++
+    run clang++-$VERSION -stdlib=libc++ -nostdlib++ "${BATS_TMPDIR}/test.cpp" \
+        -l:libc++.a -l:libc++abi.a -pthread -o "${BATS_TMPDIR}/test_nostdlib"
+    assert_success "Compilation with nostdlib++ failed"
+
+    # Execute the binary
+    run "${BATS_TMPDIR}/test_nostdlib" > /dev/null
+    assert_success "Execution of nostdlib++ binary failed"
+}
+
+@test "Test shared plugin compilation (Bug 43604)" {
+
+    cat > "${BATS_TMPDIR}/plugin_test.cpp" <<EOF
+#include <iostream>
+__attribute__((visibility("default")))
+extern "C" void plugin() {
+    std::cout << "Hello World from a plugin!" << std::endl;
+}
+EOF
+
+    # Compile the shared library with hidden visibility and static libstdc++
+    run clang++-$VERSION -shared -o "${BATS_TMPDIR}/plugin.so" -fvisibility=hidden \
+        "${BATS_TMPDIR}/plugin_test.cpp" -static-libstdc++ || true
+    assert_success "Compilation of shared plugin with static libstdc++ failed"
+
+    # Compile the shared library with hidden visibility and libc++
+    run clang++-$VERSION -shared -o "${BATS_TMPDIR}/plugin.so" -fvisibility=hidden \
+        "${BATS_TMPDIR}/plugin_test.cpp" -stdlib=libc++ -static-libstdc++ || true
+    assert_success "Compilation of shared plugin with libc++ failed"
+
+    # Cleanup
+    rm -f "${BATS_TMPDIR}/plugin.so"
+}
+
+@test "Test if LLVM IR bitcode in libclangIndex.a" {
+    rm -f *.o
+    # Define the path to libclangIndex.a
+    local archive_path="/usr/lib/llvm-${VERSION}/lib/libclangIndex.a"
+
+    # Ensure the archive exists
+    run test -f "${archive_path}"
+    assert_success "libclangIndex.a is missing"
+
+    # Extract the archive contents
+    run /usr/bin/ar x "${archive_path}" --output "${BATS_TMPDIR}"
+    assert_success "Failed to extract libclangIndex.a"
+
+    # Check the extracted object files
+    run file "${BATS_TMPDIR}"/*.o
+    refute_output -p "LLVM IR bitcode" "Found LLVM IR bitcode in libclangIndex.a"
+}
+
+@test "Test Z3 solver integration for static analysis" {
+    # Create the C source file
+    cat > "${BATS_TMPDIR}/z3_test.c" <<EOF
+void clang_analyzer_eval(int);
+void testBitwiseRules(unsigned int a, int b) {
+  clang_analyzer_eval((1 & a) <= 1); // expected-warning{{TRUE}}
+  // with -analyzer-constraints=z3, it can tell that it is FALSE
+  // without the option, it is unknown
+  clang_analyzer_eval((b | -2) >= 0); // expected-warning{{FALSE}}
+}
+EOF
+
+    # Step 1: Check if LLVM was built with Z3 support
+    run clang-$VERSION -cc1 -analyze -analyzer-constraints=range -analyzer-checker=core,debug.ExprInspection -analyzer-constraints=z3 "${BATS_TMPDIR}/z3_test.c" &> "${BATS_TMPDIR}/z3_test.log" || true
+    if grep -q "error: analyzer constraint manager 'z3' is only available if LLVM was built with -DLLVM_ENABLE_Z3_SOLVER=ON" "${BATS_TMPDIR}/z3_test.log"; then
+        skip "Z3 solver not available in this LLVM build"
+    fi
+
+    # Step 2: Run static analysis with Z3 constraints
+    run clang-$VERSION -cc1 -analyze -analyzer-constraints=range -analyzer-checker=core,debug.ExprInspection -verify -analyzer-config eagerly-assume=false -analyzer-constraints=z3 "${BATS_TMPDIR}/z3_test.c"
+    assert_success "Static analysis with Z3 constraints failed"
+
+    # Step 3: Verify warnings generated
+    run clang-$VERSION -cc1 -analyze -analyzer-constraints=range -analyzer-checker=core,debug.ExprInspection -analyzer-constraints=z3 "${BATS_TMPDIR}/z3_test.c" &> "${BATS_TMPDIR}/z3_test.log"
+    assert_success "Static analysis with Z3 constraints failed on verification"
+    cat "${BATS_TMPDIR}/z3_test.log"
+    assert_output -p "2 warnings generated."
+
+    # Step 4: Run static analysis without Z3 constraints
+    run clang-$VERSION -cc1 -analyze -analyzer-constraints=range -analyzer-checker=core,debug.ExprInspection -verify -analyzer-config eagerly-assume=false "${BATS_TMPDIR}/z3_test.c" &> "${BATS_TMPDIR}/z3_test.log" || true
+    refute_output -p "File a.c Line 7: UNKNOWN" "Static analysis should fail without Z3 constraints"
+
+    # Step 5: Verify general static analysis warnings
+    run clang-$VERSION -cc1 -analyze -analyzer-constraints=range -analyzer-checker=core,debug.ExprInspection "${BATS_TMPDIR}/z3_test.c" &> "${BATS_TMPDIR}/z3_test.log"
+    assert_success "Static analysis failed"
+    cat "${BATS_TMPDIR}/z3_test.log"
+    assert_output -p "warnings generated."
+
+}
+
+@test "Test atomic test-and-set compilation for AArch64 (Bug 827866)" {
+
+    cat > "${BATS_TMPDIR}/atomic_test.cpp" <<EOF
+bool testAndSet(void *atomic) {
+    return __atomic_test_and_set(atomic, __ATOMIC_SEQ_CST);
+}
+EOF
+
+    run clang++-$VERSION -c -target aarch64-linux-gnu "${BATS_TMPDIR}/atomic_test.cpp" -o "${BATS_TMPDIR}/atomic_test.o"
+    assert_success "Compilation for AArch64 target failed"
+
+    # Check the object file architecture
+    run file "${BATS_TMPDIR}/atomic_test.o"
+    assert_output -p "aarch64" "Expected 'aarch64' in the object file's architecture output"
+}
+
+@test "Test Thin LTO functionality" {
+    echo "int foo(void) { return 0; }" > "${BATS_TMPDIR}/thinlto_1.c"
+    echo "int foo(void); int main() { return foo(); }" > "${BATS_TMPDIR}/thinlto_2.c"
+
+    run clang-$VERSION -flto=thin -O2 "${BATS_TMPDIR}/thinlto_1.c" "${BATS_TMPDIR}/thinlto_2.c" -o "${BATS_TMPDIR}/thinlto_test"
+    assert_success
+
+    run "${BATS_TMPDIR}/thinlto_test"
+    assert_success
+}
+
+@test "Test compilation and execution with LTO and Gold linker" {
+    cat > "${BATS_TMPDIR}/foo.c" <<EOF
+#include <stdio.h>
+int main() {
+    if (1==1) {
+        printf("true");
+    } else {
+        printf("false");
+        return 42;
+    }
+    return 0;
+}
+EOF
+
+    # Test 1: Compile with LTO and execute
+    run clang-$VERSION -flto "${BATS_TMPDIR}/foo.c" -opaque-pointers -o "${BATS_TMPDIR}/foo_lto"
+    assert_success "Compilation with LTO failed"
+    run "${BATS_TMPDIR}/foo_lto"
+    assert_success "Execution of LTO binary failed"
+
+    # Test 2: Compile with Gold linker and execute
+    run clang-$VERSION -fuse-ld=gold "${BATS_TMPDIR}/foo.c" -o "${BATS_TMPDIR}/foo_gold"
+    assert_success "Compilation with Gold linker failed"
+    run "${BATS_TMPDIR}/foo_gold"
+    assert_success "Execution of binary linked with Gold linker failed"
+}
+
+@test "Test LTO file generation and Gold linker compatibility (Bug 919020)" {
+
+    echo "int foo(void) { return 0; }" > "${BATS_TMPDIR}/foo.c"
+
+    # Compile the source file with LTO
+    run clang-$VERSION -flto -c "${BATS_TMPDIR}/foo.c" -o "${BATS_TMPDIR}/foo.o"
+    assert_success "Compilation with LTO failed"
+
+    # Check if the output is LLVM IR bitcode
+    run file "${BATS_TMPDIR}/foo.o"
+    assert_output -p "LLVM IR bitcode" "Expected LLVM IR bitcode but found otherwise"
+
+    # Check if the symbol `foo` is present in the LTO object
+    run llvm-nm-$VERSION "${BATS_TMPDIR}/foo.o"
+    assert_output -p "T foo" "Symbol 'foo' not found in LTO object file, indicating Gold linker issue"
+}
+
+@test "Test LLVM Exegesis execution validation" {
+    # Run llvm-exegesis with vzeroupper snippet
+    echo "vzeroupper" | llvm-exegesis-$VERSION -mode=uops -snippets-file=- &> "${BATS_TMPDIR}/exegesis.log" || true
+
+    # Check for issues related to libpfm initialization
+    if grep -q -E "(built without libpfm|cannot initialize libpfm)" "${BATS_TMPDIR}/exegesis.log"; then
+        echo "llvm-exegesis could not run correctly"
+        head -n 10 "${BATS_TMPDIR}/exegesis.log"
+        fail "llvm-exegesis execution failed due to libpfm issues"
+    fi
+
+    # Ensure llvm-exegesis produced output successfully
+    run test -s "${BATS_TMPDIR}/exegesis.log"
+    assert_success "llvm-exegesis did not produce valid output"
+}
+
+@test "Test backtrace functionality with libunwind" {
+    # Create the C++ source file for backtrace tests
+    cat > "${BATS_TMPDIR}/backtrace_test.cpp" <<EOF
+#include <libunwind.h>
+#include <stdlib.h>
+
+void backtrace(int lower_bound) {
+  unw_context_t context;
+  unw_getcontext(&context);
+
+  unw_cursor_t cursor;
+  unw_init_local(&cursor, &context);
+
+  int n = 0;
+  do {
+    ++n;
+    if (n > 100) {
+      abort();
+    }
+  } while (unw_step(&cursor) > 0);
+
+  if (n < lower_bound) {
+    abort();
+  }
+}
+
+void test1(int i) {
+  backtrace(i);
+}
+
+void test2(int i, int j) {
+  backtrace(i);
+  test1(j);
+}
+
+void test3(int i, int j, int k) {
+  backtrace(i);
+  test2(j, k);
+}
+
+void test_no_info() {
+  unw_context_t context;
+  unw_getcontext(&context);
+
+  unw_cursor_t cursor;
+  unw_init_local(&cursor, &context);
+
+  unw_proc_info_t info;
+  int ret = unw_get_proc_info(&cursor, &info);
+  if (ret != UNW_ESUCCESS)
+    abort();
+
+  unw_set_reg(&cursor, UNW_REG_IP, (unw_word_t)0);
+
+  ret = unw_get_proc_info(&cursor, &info);
+  if (ret != UNW_ENOINFO)
+    abort();
+}
+
+int main(int, char**) {
+  test1(1);
+  test2(1, 2);
+  test3(1, 2, 3);
+  test_no_info();
+  return 0;
+}
+EOF
+
+    # Compile the program with libunwind
+    run clang++-$VERSION "${BATS_TMPDIR}/backtrace_test.cpp" -lunwind -ldl -I/usr/include/libunwind -o "${BATS_TMPDIR}/backtrace_test"
+    assert_success "Compilation with libunwind failed"
+
+    # Run the compiled program
+    run "${BATS_TMPDIR}/backtrace_test"
+    assert_success "Execution of backtrace test failed"
+
+    # Compile with libunwind and compiler-rt
+    run clang++-$VERSION "${BATS_TMPDIR}/backtrace_test.cpp" -unwindlib=libunwind -rtlib=compiler-rt -I/usr/include/libunwind -ldl -o "${BATS_TMPDIR}/backtrace_test_rt"
+    assert_success "Compilation with libunwind and compiler-rt failed"
+
+    # Run the compiled program with compiler-rt
+    run "${BATS_TMPDIR}/backtrace_test_rt"
+    assert_success "Execution of backtrace test with compiler-rt failed"
+}
+@test "Test signal handling with libunwind" {
+    # Create the C++ source file for signal handling
+    cat > "${BATS_TMPDIR}/signal_test.cpp" <<EOF
+#include <assert.h>
+#include <dlfcn.h>
+#include <signal.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sys/types.h>
+#include <unistd.h>
+#include <unwind.h>
+
+_Unwind_Reason_Code frame_handler(struct _Unwind_Context* ctx, void* arg) {
+  (void)arg;
+  Dl_info info = { 0, 0, 0, 0 };
+
+  if (dladdr(reinterpret_cast<void *>(_Unwind_GetIP(ctx)), &info) &&
+      info.dli_sname && !strcmp("main", info.dli_sname)) {
+    _Exit(0);
+  }
+  return _URC_NO_REASON;
+}
+
+void signal_handler(int signum) {
+  (void)signum;
+  _Unwind_Backtrace(frame_handler, NULL);
+  _Exit(-1);
+}
+
+int main(int, char**) {
+  signal(SIGUSR1, signal_handler);
+  kill(getpid(), SIGUSR1);
+  return -2;
+}
+EOF
+
+    # Compile the program with libunwind statically
+    run clang++-$VERSION "${BATS_TMPDIR}/signal_test.cpp" /usr/lib/llvm-$VERSION/lib/libunwind.a -I/usr/include/libunwind/ -lpthread -ldl -o "${BATS_TMPDIR}/signal_test_static"
+    assert_success "Compilation of signal handler with static libunwind failed"
+
+    # Run the statically linked program (should exit gracefully)
+    run "${BATS_TMPDIR}/signal_test_static"
+    assert_failure "Execution of signal handler with static libunwind failed"
+
+    # Compile with libunwind dynamically
+    run clang++-$VERSION "${BATS_TMPDIR}/signal_test.cpp" -unwindlib=libunwind -rtlib=compiler-rt -I/usr/include/libunwind -ldl -o "${BATS_TMPDIR}/signal_test_dynamic"
+    assert_success "Compilation of signal handler with dynamic libunwind failed"
+
+    # Run the dynamically linked program (should exit gracefully)
+    run "${BATS_TMPDIR}/signal_test_dynamic"
+    assert_failure "Execution of signal handler with dynamic libunwind failed"
+}
+
+teardown() {
+    rm -f clangd.json *.o foo* crash-* *profraw hello* a.out polly_test.c
+    rm -rf scan-build output
+}
diff --git a/rules b/rules
new file mode 100755 (executable)
index 0000000..c83f799
--- /dev/null
+++ b/rules
@@ -0,0 +1,1743 @@
+#!/usr/bin/make -f
+
+# polly & lldb aren't enabled for every platform
+PROJECTS = clang;clang-tools-extra;lld;cross-project-tests;mlir
+# openmp & libunwind aren't enabled for every platform
+
+TARGET_BUILD   := build-llvm
+TARGET_BUILD_STAGE2    := $(TARGET_BUILD)/tools/clang/stage2-bins
+DEB_INST               := $(CURDIR)/debian/tmp/
+
+GXX_VERSIONED_PACKAGE    := $(shell dpkg-query -W -f '$${Depends}' g++ | grep -o 'g++-[0-9][0-9.]*' | tail -n1 )
+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 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
+# remove +time64,+lfs once the time64_t transition starts
+ifeq ($(DEB_HOST_ARCH_CPU),i386)
+  RUNTIMES = compiler-rt;libcxx;libcxxabi
+  export DEB_BUILD_MAINT_OPTIONS = reproducible=-fixfilepath,-fixdebugpath optimize=-lto
+else
+  RUNTIMES = compiler-rt;libcxx;libcxxabi
+  ifeq ($(DEB_HOST_ARCH_BITS),32)
+    export DEB_BUILD_MAINT_OPTIONS = reproducible=-fixfilepath,-fixdebugpath optimize=-lto abi=+time64,+lfs
+  else
+    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)))
+  BRANCH_NAME=snapshot
+else
+  BRANCH_NAME=$(LLVM_VERSION)
+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
+# Manage the case when the version is 3.5~svn213052-1~exp1 or 3.4.2-1
+DEBIAN_REVISION := $(shell dpkg-parsechangelog |  sed -rne "s,^Version: 1:([0-9.]+)(~|-)(.*),\3,p")
+ifneq (,$(filter parallel=%,$(subst $(COMMA), ,$(DEB_BUILD_OPTIONS))))
+  NCPUS := $(subst parallel=,,$(filter parallel=%,$(subst $(COMMA), ,$(DEB_BUILD_OPTIONS))))
+else
+  NCPUS := $(shell nproc)
+endif
+
+# set this macro to anything else than "yes" to avoid generating alternative
+# build dependencies on hello in the control file.
+BD_ALT_HELLO = yes
+ifeq ($(BD_ALT_HELLO),yes)
+  BD_ALT_HELLO_SUBST = 's/@BEGIN_OPTIONAL_HELLO@//g;s/@END_OPTIONAL_HELLO@//g'
+else
+  BD_ALT_HELLO_SUBST = 's/@BEGIN_OPTIONAL_HELLO@.*@END_OPTIONAL_HELLO@//'
+endif
+
+# this contains all packages to be built. Note that for at least the clean target,
+# 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 $(DEB_HOST_ARCH), $(FLANG_ARCHS)))
+  MEM_PER_CPU=6000
+else
+  MEM_PER_CPU=2100
+endif
+NJOBS := $(shell mt=`awk '/^(MemAvail|SwapFree)/ { mt += $$2 } END {print mt}' /proc/meminfo`; \
+               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
+ifeq ($(VENDOR)-$(DEB_HOST_ARCH),Ubuntu-ppc64el)
+  export DEB_CFLAGS_MAINT_STRIP = -g -O3
+  export DEB_CXXFLAGS_MAINT_STRIP = -g -O3
+else
+  export DEB_CFLAGS_MAINT_STRIP = -g -O2
+  export DEB_CXXFLAGS_MAINT_STRIP = -g -O2
+endif
+include /usr/share/dpkg/buildflags.mk
+
+# Remove -Bsymbolic-functions for causing:
+# https://github.com/llvm/llvm-project/issues/59432#issuecomment-2500694332
+ifeq ($(shell dpkg-vendor --derives-from Ubuntu && echo yes),yes)
+ifneq (,$(LDFLAGS))
+  LDFLAGS := $(filter-out %-Bsymbolic-functions,$(LDFLAGS))
+endif
+endif
+
+# We use a stage2 build. It means that a first clang is built using gcc,
+# a second clang is built with the first
+# And the various components are built using the second clang.
+# See https://llvm.org/docs/AdvancedBuilds.html
+
+# collect additional flags for all stages all builds
+CFLAGS_EXTRA = -Wno-unused-command-line-argument
+CXXFLAGS_EXTRA = -Wno-unused-command-line-argument
+LDFLAGS_EXTRA = -Wl,--build-id
+
+# collect all flags for stage 1 toolchain build only
+STAGE_1_CFLAGS = $(CFLAGS) $(CFLAGS_EXTRA) $(CPPFLAGS)
+STAGE_1_CXXFLAGS = $(CXXFLAGS) $(CXXFLAGS_EXTRA) $(CPPFLAGS)
+STAGE_1_LDFLAGS = $(LDFLAGS) $(LDFLAGS_EXTRA)
+# If we build with libc++, we might want to set different arguments for
+# stage 1 & runtimes
+RUNTIMES_CFLAGS = $(STAGE_1_CFLAGS)
+RUNTIMES_CXXFLAGS := $(STAGE_1_CXXFLAGS)
+RUNTIMES_LDFLAGS := $(STAGE_1_LDFLAGS)
+
+# collect all flags for stage 2 toolchain and stand-alone builds
+STAGE_2_CFLAGS = $(CFLAGS) $(CFLAGS_EXTRA) $(CPPFLAGS)
+STAGE_2_CXXFLAGS = $(CXXFLAGS) $(CXXFLAGS_EXTRA) $(CPPFLAGS)
+STAGE_2_LDFLAGS = $(LDFLAGS) $(LDFLAGS_EXTRA)
+
+# collect additional cmake options for toolchain build configuration
+STAGE_1_CMAKE_EXTRA =
+STAGE_2_CMAKE_EXTRA =
+STAGE_ALL_CMAKE_EXTRA =
+# toolchain config-only var combining all stage 1 cmake options
+CMAKE_EXTRA = $(STAGE_1_CMAKE_EXTRA) $(STAGE_ALL_CMAKE_EXTRA)
+# toolchain config-only var prepending BOOTSTRAP_ to all stage 2 cmake options
+BOOTSTRAP_CMAKE_EXTRA = $(foreach extra,$(STAGE_2_CMAKE_EXTRA) $(STAGE_ALL_CMAKE_EXTRA), $(subst -D,-DBOOTSTRAP_,$(extra)))
+
+BASE_PATH := $(CURDIR)
+STAGE_1_BIN_DIR := $(BASE_PATH)/$(TARGET_BUILD)/bin
+STAGE_1_LIB_DIR := $(BASE_PATH)/$(TARGET_BUILD)/lib
+STAGE_2_BIN_DIR := $(BASE_PATH)/$(TARGET_BUILD_STAGE2)/bin
+STAGE_2_LIB_DIR := $(BASE_PATH)/$(TARGET_BUILD_STAGE2)/lib
+
+# toggleable defaults
+COMPILER_RT_USE_BUILTINS_LIBRARY := ON
+LIBCXX_USE_COMPILER_RT := ON
+
+# We want to set the clang extra version ONLY in stage 2
+# because we want the clang stage 1 to be as reproducible as possible
+# when building with sccache (because this tool do a hash using the
+# compiler binary and other things)
+STAGE_2_CMAKE_EXTRA += -DCLANG_REPOSITORY_STRING=$(DEBIAN_REVISION)
+
+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 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
+LDFLAGS_EXTRA += -latomic
+endif
+
+Z3_FLAG = -DLLVM_ENABLE_Z3_SOLVER=OFF
+# no ocaml support in main for Ubuntu
+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 ($(DERIVATIVE),Ubuntu)
+ZARCH=z13
+endif
+STAGE_2_CMAKE_EXTRA += -DCLANG_SYSTEMZ_DEFAULT_ARCH=$(ZARCH)
+
+# clangd remote index support requires GRPC & protobuf.
+# Enable if minimum tested versions are available.
+CLANGD_GRPC_INSTALLED=no
+ifeq (,$(filter stage1, $(DEB_BUILD_PROFILES)))
+ifeq ($(shell v=$$(dpkg-query -W -f '$${Version}' libgrpc++-dev 2>/dev/null); if [ -z "$$v" ]; then echo 1; else dpkg --compare-versions $$v gt 1.30.0; echo $$?; fi),0)
+ifeq ($(shell dpkg --compare-versions $(shell dpkg-query -W -f '$${Version}' protobuf-compiler-grpc) gt 1.30.0; echo $$?),0)
+ifeq ($(shell dpkg --compare-versions $(shell dpkg-query -W -f '$${Version}' libprotobuf-dev) gt 3.12.0; echo $$?),0)
+ifeq ($(shell dpkg --compare-versions $(shell dpkg-query -W -f '$${Version}' protobuf-compiler) gt 3.12.0; echo $$?),0)
+CLANGD_GRPC_INSTALLED=yes
+STAGE_2_CMAKE_EXTRA += -DCLANGD_ENABLE_REMOTE=ON
+endif
+endif
+endif
+endif
+endif
+
+export CC=gcc-$(GCC_VERSION)
+export CXX=g++-$(GCC_VERSION)
+
+ifneq (,$(findstring $(DEB_HOST_ARCH),armel))
+  STAGE_ALL_CMAKE_EXTRA += -DLLVM_HOST_TRIPLE=arm-linux-gnueabi
+# align arch profile with debian baseline
+# https://wiki.debian.org/ArmEabiPort
+  CFLAGS_EXTRA += -march=armv5t
+  CXXFLAGS_EXTRA += -march=armv5t
+# disable compiler-rt builtins (not supported for baseline armel arch: armv5t)
+# See http://lists.llvm.org/pipermail/llvm-dev/2016-May/099761.html
+  STAGE_ALL_CMAKE_EXTRA += -DCOMPILER_RT_BUILD_BUILTINS=OFF
+  COMPILER_RT_USE_BUILTINS_LIBRARY := OFF
+  LIBCXX_USE_COMPILER_RT := OFF
+# disable scudo standalone (not supported for baseline armel arch: armv5t)
+  STAGE_ALL_CMAKE_EXTRA += -DCOMPILER_RT_BUILD_SCUDO_STANDALONE=OFF
+endif
+
+ifneq (,$(findstring $(DEB_HOST_ARCH),armhf))
+  STAGE_ALL_CMAKE_EXTRA += -DLLVM_HOST_TRIPLE=arm-linux-gnueabihf
+# align arch profile with debian baseline
+# https://wiki.debian.org/ArmHardFloatPort#Minimum_CPU_.26_FPU
+  CFLAGS_EXTRA += -march=armv7-a -mfpu=vfpv3-d16
+  CXXFLAGS_EXTRA += -march=armv7-a -mfpu=vfpv3-d16
+endif
+
+ifneq (,$(filter $(DEB_HOST_ARCH),i386))
+# Sometimes, i386 needs help with the triple
+  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))
+# avoid an issue with search path on mips64el
+# https://bugs.llvm.org/show_bug.cgi?id=41204
+  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-linux-gnu
+endif
+
+# debug symbols OOM in Ubuntu Ubuntu and slows down build process.
+ifneq (,$(filter $(DEB_HOST_ARCH),riscv64))
+  opt_flags = -O2 -DNDEBUG -g0
+else
+  opt_flags = -O2 -DNDEBUG -g1
+endif
+
+ifneq (,$(filter $(DEB_HOST_ARCH),sparc))
+  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-linux-gnu
+  STAGE_ALL_CMAKE_EXTRA += -DLLVM_PARALLEL_LINK_JOBS=4
+endif
+
+ifneq (,$(filter $(DEB_HOST_ARCH),s390x))
+  STAGE_ALL_CMAKE_EXTRA += -DLLVM_HOST_TRIPLE=s390x-linux-gnu
+# disable compiler-rt builtins (not supported for s390x)
+  STAGE_ALL_CMAKE_EXTRA += -DCOMPILER_RT_BUILD_BUILTINS=OFF
+  COMPILER_RT_USE_BUILTINS_LIBRARY := OFF
+  LIBCXX_USE_COMPILER_RT := OFF
+endif
+
+ifneq (,$(filter $(DEB_HOST_ARCH),mips64el))
+  STAGE_ALL_CMAKE_EXTRA += -DCOMPILER_RT_BUILD_BUILTINS=OFF
+  COMPILER_RT_USE_BUILTINS_LIBRARY := OFF
+  LIBCXX_USE_COMPILER_RT := OFF
+endif
+
+ifneq (,$(filter $(DEB_HOST_ARCH),x32))
+  STAGE_ALL_CMAKE_EXTRA += -DLLVM_HOST_TRIPLE=x86_64-linux-gnux32
+  STAGE_ALL_CMAKE_EXTRA += -DLLVM_DEFAULT_TARGET_TRIPLE=x86_64-linux-gnux32
+  STAGE_ALL_CMAKE_EXTRA += -DCOMPILER_RT_BUILD_BUILTINS=OFF
+  COMPILER_RT_USE_BUILTINS_LIBRARY := OFF
+  LIBCXX_USE_COMPILER_RT := OFF
+endif
+
+ifneq (,$(filter $(DEB_HOST_ARCH),hurd-i386))
+endif
+
+ifeq ($(shell dpkg --compare-versions $(shell dpkg-query -W -f '$${Version}' g++-$(GCC_VERSION)) ge 4.8-20121128-1~ ; echo $$?),0)
+       control_vars = '-Vdep:devlibs=libstdc++-$(GCC_VERSION)-dev, libgcc-$(GCC_VERSION)-dev' \
+               '-Vdep:devlibs-objc=libobjc-$(GCC_VERSION)-dev'
+else ifeq ($(shell dpkg --compare-versions $(shell dpkg-query -W -f '$${Version}' g++-$(GCC_VERSION)) ge 4.7.2-10~ ; echo $$?),0)
+       control_vars = '-Vdep:devlibs=libstdc++6-$(GCC_VERSION)-dev, libgcc-$(GCC_VERSION)-dev' \
+               '-Vdep:devlibs-objc=libobjc-$(GCC_VERSION)-dev'
+else
+       control_vars = '-Vdep:devlibs=libstdc++6-$(GCC_VERSION)-dev'
+endif
+
+ifneq (,$(filter stage1, $(DEB_BUILD_PROFILES)))
+       LLVM_SPIRV_INSTALLED = no
+else
+LLVM_SPIRV_VERSION := $(LLVM_VERSION)
+LLVM_SPIRV := $(shell bash -c "command -v llvm-spirv-$(LLVM_SPIRV_VERSION)" 2>/dev/null)
+ifndef LLVM_SPIRV
+       LLVM_SPIRV_VERSION := $(shell expr $(LLVM_VERSION) - 1)
+       LLVM_SPIRV := $(shell bash -c "command -v llvm-spirv-$(LLVM_SPIRV_VERSION)" 2>/dev/null)
+endif
+
+# Disable spirv support for most of the distro versions
+# It needs llvm-spirv-17 and it is rarely available
+# Be prescritive
+SPIRV_DISABLE_DISTRO := bionic buster lunar jammy focal buster bullseye bookworm
+ifndef LLVM_SPIRV
+       LLVM_SPIRV_INSTALLED = no
+else
+       ifeq (,$(filter-out $(SPIRV_DISABLE_DISTRO), $(DISTRO)))
+# Too old llvm-spirv version are failing. See #52200
+               LLVM_SPIRV_INSTALLED = no
+       else
+               LLVM_SPIRV_INSTALLED = yes
+       endif
+endif
+endif
+
+LIBCLC_TARGETS_TO_BUILD=amdgcn--;amdgcn--amdhsa;amdgcn-mesa-mesa3d;r600--;nvptx--;nvptx64--;nvptx--nvidiacl;nvptx64--nvidiacl
+LIBCLC_LLVM_SPIRV =
+ifeq ($(LLVM_SPIRV_INSTALLED),yes)
+       LIBCLC_TARGETS_TO_BUILD := $(LIBCLC_TARGETS_TO_BUILD);spirv-mesa3d-;spirv64-mesa3d-
+       LIBCLC_LLVM_SPIRV = -DLLVM_SPIRV=$(LLVM_SPIRV)
+endif
+
+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)))
+       STAGE_ALL_CMAKE_EXTRA += -DLLVM_USE_LINKER=gold
+       STAGE_ALL_CMAKE_EXTRA += -DLLVM_BINUTILS_INCDIR=/usr/include/
+endif
+endif
+
+ifneq (,$(filter bolt-$(LLVM_VERSION), $(packages)))
+    PROJECTS += ;bolt
+endif
+
+ifneq (,$(filter libllvmlibc-$(LLVM_VERSION)-dev, $(packages)))
+       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
+
+ifneq ($(LLVM_LIBC_ENABLE),no)
+    $(info LLVM libc disabled for $(DISTRO))
+endif
+
+ifneq (,$(filter $(DEB_HOST_ARCH), $(FLANG_ARCHS)))
+    PROJECTS += ;flang
+endif
+
+CODECOVERAGE=no
+ifneq (,$(filter codecoverage,$(DEB_BUILD_OPTIONS)))
+# enable the code coverage
+       CODECOVERAGE=yes
+# for -fvisibility-inlines-hidden see http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20130729/183016.html
+       CXXFLAGS_EXTRA += -fprofile-arcs -ftest-coverage
+       LDFLAGS_EXTRA += -coverage -lgcov
+       RUN_TEST=yes
+    # OpenMP doesn't respect LDFLAGS
+    STAGE_2_CMAKE_EXTRA+= -DLIBOMP_LDFLAGS="-coverage -lgcov" # don't pass LDFLAGS_EXTRA because it expects gcc arg
+endif
+
+# Enable polly (or not)
+POLLY_ENABLE=yes
+ifneq (,$(filter $(DEB_HOST_ARCH), powerpc))
+  POLLY_ENABLE=no
+else
+  PROJECTS+=;polly
+endif
+
+# Enable libunwind (or not)
+LIBUNWIND_ENABLE=yes
+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
+  LIBCXX_USE_COMPILER_RT := OFF
+# See https://github.com/llvm/llvm-project/issues/77846
+  STAGE_ALL_CMAKE_EXTRA += -DLIBCXXABI_USE_LLVM_UNWINDER=OFF
+else
+  RUNTIMES += ;libunwind
+  STAGE_ALL_CMAKE_EXTRA += -DLIBCXXABI_USE_LLVM_UNWINDER=ON
+endif
+
+# Enable openmp (or not)
+OMP_OFFLOAD_ARCHS = amd64 arm64 armhf ppc64 ppc64el hurd-amd64
+OMP_ARCHS = $(OMP_OFFLOAD_ARCHS) loong64 mips64el riscv64
+OPENMP_ENABLE=yes
+ifeq (,$(filter $(DEB_HOST_ARCH), $(OMP_ARCHS)))
+  OPENMP_ENABLE=no
+else
+  RUNTIMES += ;openmp
+  ifneq (,$(filter $(DEB_HOST_ARCH), $(OMP_OFFLOAD_ARCHS)))
+      RUNTIMES += ;offload
+  endif
+  STAGE_ALL_CMAKE_EXTRA += -DLIBOMP_LIBFLAGS="-lm"
+ifeq ($(LIBUNWIND_ENABLE),yes)
+  STAGE_ALL_CMAKE_EXTRA += -DOPENMP_USE_LLVM_UNWINDER=ON
+endif
+endif
+
+# Do not install objects
+STAGE_ALL_CMAKE_EXTRA += -DMLIR_INSTALL_AGGREGATE_OBJECTS=OFF
+
+
+RUN_TEST=yes
+ifneq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
+       RUN_TEST=no
+endif
+ifeq ($(DERIVATIVE),Ubuntu)
+ifeq (riscv64,$(DEB_HOST_ARCH))
+       RUN_TEST=no
+endif
+endif
+
+# llvm tests timeout, disable it on mipsel and x32
+ifneq (,$(filter $(DEB_HOST_ARCH), mipsel mips64el x32))
+       RUN_TEST=no
+endif
+
+SCAN_BUILD=no
+ifneq (,$(filter scan-build,$(DEB_BUILD_OPTIONS)))
+# enable the build using scan-build
+# The package are installed through the variable declarations:
+# OTHERMIRROR="deb http://llvm.org/apt/unstable/ llvm-toolchain main"
+# EXTRAPACKAGES="clang-X"
+       SCAN_BUILD=yes
+
+       PRE_PROCESS=scan-build-$(LLVM_VERSION) --show-description -analyzer-config stable-report-filename=true
+       PRE_PROCESS_CONF=scan-build-$(LLVM_VERSION)
+# no need to run tests in this case
+       RUN_TEST=no
+       CONFIGURE_EXTRA += --enable-assertions
+       STAGE_ALL_CMAKE_EXTRA += -DLLVM_ENABLE_ASSERTIONS=ON
+endif
+
+ifneq (,$(filter coverity,$(DEB_BUILD_OPTIONS)))
+# enable the build using coverity
+# pbuilder contains BINDMOUNTS="/opt/cov-analysis/"
+# And we have some pbuilder hooks to configure and pack the result
+# Where the binaries are installed on the jenkins instance
+        PRE_PROCESS=PATH=$$PATH:/opt/cov-analysis/bin/ cov-build --dir cov-int
+# We don't want to check the temporary files produced by the configure
+        PRE_PROCESS_CONF=
+        COVERITY_ENABLE=1
+        CONFIGURE_EXTRA += --enable-assertions
+        STAGE_ALL_CMAKE_EXTRA += -DLLVM_ENABLE_ASSERTIONS=ON
+# no need to run tests in this case
+        RUN_TEST=no
+else
+        COVERITY_ENABLE=0
+endif
+
+LLDB_ENABLE=no
+# hurd has threading issues
+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)
+    endif
+endif
+
+LLDB_PYTHON_DISABLE_DISTRO := bionic buster
+LLDB_PYTHON_ENABLE=yes
+# Disable zstd on old distro, fails on lld
+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
+LIBCXX_WASM_DISABLE_DISTRO := bionic buster focal bullseye jammy
+# Either wasi-libc doesn't exist / too old
+# or we have this bug
+# 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
+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))
+  LIBCXX_WASM_ENABLE=no
+endif
+
+LLD_ENABLE=yes
+
+ifneq (,$(filter $(DEB_HOST_ARCH_OS),linux))
+# only for linux
+       STAGE_2_CMAKE_EXTRA += -DLLVM_USE_PERF=ON -DLLVM_ENABLE_LIBPFM=ON
+endif
+
+LLVM_ENABLE_ZSTD_DISABLE_DISTRO := bionic buster
+# Disable zstd on old distro, fails on lld
+ifeq (,$(filter-out $(LLVM_ENABLE_ZSTD_DISABLE_DISTRO), $(DISTRO)))
+       STAGE_ALL_CMAKE_EXTRA += -DLLVM_ENABLE_ZSTD=OFF
+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)))
+LD_GOLD_SUPPORTS_NO_SYMBOLIC := $(shell ld.gold --help | grep -q -w '-Bno-symbolic' && echo "yes" || echo "no")
+ifeq ($(LD_GOLD_SUPPORTS_NO_SYMBOLIC),yes)
+    STAGE_2_CMAKE_EXTRA += -DLIBOMP_LDFLAGS=-Wl,-Bno-symbolic
+endif
+endif
+
+DH_OPTIONS=
+OCAML_ENABLE= no
+OCAML_ARCHS := amd64 arm64 ppc64el riscv64 s390x
+ifneq (,$(filter $(DEB_HOST_ARCH),$(OCAML_ARCHS)))
+# Enable OCAML for this arch.
+       OCAML_ENABLE=yes
+       OCAML_STDLIB_DIR    ?= $(shell ocamlc -where)
+       DH_OPTIONS=--with ocaml
+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))
+       LIBOMP_ARCH = mips
+endif
+
+ifneq (,$(filter $(DEB_HOST_ARCH), mips64 mips64el))
+       LIBOMP_ARCH = mips64
+endif
+
+# if cmake is installed in /tmp/cmake/ uses it
+# Used to build llvm on old ubuntu (precise) on the llvm.org/apt/ ci
+CMAKE_BIN=cmake
+ifeq ($(shell test -e /tmp/cmake/bin/cmake && echo -n yes),yes)
+       CMAKE_BIN=/tmp/cmake/bin/cmake
+       export LD_LIBRARY_PATH=$$LD_LIBRARY_PATH:/tmp/cmake/bin/
+endif
+
+SCCACHE_ENABLE=no
+SCCACHE_CMAKE =
+# if sccache is installed in the chroot, use it
+ifeq ($(shell test -e /opt/sccache/sccache && echo -n yes),yes)
+       ifneq (,$(filter $(DEB_HOST_ARCH),i386 amd64 s390x))
+               STAGE_1_CMAKE_EXTRA += $(SCCACHE_CMAKE)
+               SCCACHE_ENABLE=yes
+               SCCACHE_PATH=/opt/sccache/
+               SCCACHE_CMD=$(SCCACHE_PATH)/sccache
+               SCCACHE_CMAKE = -DCMAKE_C_COMPILER_LAUNCHER=$(SCCACHE_CMD) -DCMAKE_CXX_COMPILER_LAUNCHER=$(SCCACHE_CMD)
+               export LD_LIBRARY_PATH=$$LD_LIBRARY_PATH:/opt/sccache
+       endif
+endif
+
+COVERITY_ENABLE=0
+ifneq (,$(filter coverity,$(DEB_BUILD_OPTIONS)))
+# enable the build using coverity
+# pbuilder contains BINDMOUNTS="/opt/cov-analysis/"
+# And we have some pbuilder hooks to configure and pack the result
+# Where the binaries are installed on the jenkins instance
+        PRE_PROCESS=PATH=$$PATH:/opt/cov-analysis/bin/ cov-build --dir cov-int
+# We don't want to check the temporary files produced by the configure
+        PRE_PROCESS_CONF=
+        COVERITY_ENABLE=1
+        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-libcxx;check-libcxxabi;check-mlir;check-libc;check-sanitizer;llvm-config;test-suite
+
+%:
+       dh $@ $(DH_OPTIONS)
+
+# For some reasons, some spaces are added, removing them
+PROJECTS_LIST := $(shell echo "$(PROJECTS)"|sed -e "s| ||g")
+RUNTIMES_LIST := $(shell echo "$(RUNTIMES)"|sed -e "s| ||g")
+
+stamps/preconfigure:
+       if ! grep -qs '/proc ' /proc/mounts; then \
+               echo "/proc needs to be mounted"; \
+               exit 1; \
+       fi
+
+       if test "$(DISTRO)" = "bookworm" -a "$(LLVM_SPIRV_INSTALLED)" = "no"; then \
+               echo "llvm spriv isn't detected while it should probably for this distro"; \
+       fi
+
+       @echo "Memory:"
+       @if [ -e /proc/meminfo ]; then \
+               cat /proc/meminfo | grep -E '(Mem|Swap)Free|Cached'; \
+       else \
+               echo "  No memory info available"; \
+       fi
+       @echo "Processors: $$(cat /proc/cpuinfo | grep --count '^processor')"
+       @echo "Used Processors: $(NJOBS) (out of $(NCPUS)), $(MEM_PER_CPU)kb/processor"
+
+       @echo "DEB_BUILD_OPTIONS=$(DEB_BUILD_OPTIONS)"
+       @echo "DEB_HOST_MULTIARCH=$(DEB_HOST_MULTIARCH)"
+       @echo "DEB_HOST_GNU_TYPE=$(DEB_HOST_GNU_TYPE)"
+       @echo "DEB_HOST_ARCH_BITS=$(DEB_HOST_ARCH_BITS)"
+       @echo "DEB_HOST_ARCH=$(DEB_HOST_ARCH)"
+       @echo "DEB_HOST_ARCH_OS=$(DEB_HOST_ARCH_OS)"
+       @echo "DEB_BUILD_MAINT_OPTIONS=$(DEB_BUILD_MAINT_OPTIONS)"
+       @echo "DISTRO=$(DISTRO)"
+       @echo "GCC_VERSION=$(GCC_VERSION)"
+       @echo "PROJECTS=$(PROJECTS_LIST)"
+       @echo "RUNTIMES=$(RUNTIMES_LIST)"
+       @echo "LLVM_VERSION=$(LLVM_VERSION)"
+       @echo "LLVM_VERSION_MINOR=$(LLVM_VERSION_MINOR)"
+       @echo "LLVM_VERSION_FULL=$(LLVM_VERSION_FULL)"
+       @echo "LLVM_VERSION_SNAPSHOT=$(LLVM_VERSION_SNAPSHOT)"
+       @echo "PATH=$(PATH)"
+       @echo "LD_LIBRARY_PATH=$$LD_LIBRARY_PATH"
+       @echo "RUNTIMES_CXXFLAGS=$(RUNTIMES_CXXFLAGS)"
+       @echo "STAGE_1_CXXFLAGS=$(STAGE_1_CXXFLAGS)"
+       @echo "STAGE_2_CFLAGS=$(STAGE_2_CFLAGS)"
+       @echo "LIBFUZZER_ENABLE=$(LIBFUZZER_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 "LLVM_SPIRV=$(LLVM_SPIRV)"
+       @echo "LLVM_SPIRV_INSTALLED=$(LLVM_SPIRV_INSTALLED)"
+       @echo "DOC_GENERATION=$(DOC_GENERATION)"
+
+       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_NEXT@|$(LLVM_VERSION_NEXT)|g" \
+                       -e "s|@LLVM_VERSION@|$(LLVM_VERSION)|g" \
+                       -e $(BD_ALT_HELLO_SUBST) \
+                       $$f > $$f2; \
+               if grep -q -m 1 '^#! */.*bin/' $$f; then \
+                       if ! [ -x $$f ]; then \
+                               echo "error: $$f: perm r, but using dh-exec"; \
+                               exit 1; \
+                       fi; \
+               else \
+                       if [ -x $$f ]; then \
+                               echo "error: $$f: perm x, but no dh-exec"; \
+                               exit 1; \
+                       fi; \
+               fi; \
+               [ -x $$f ] && chmod +x $$f2; \
+       done
+
+       # 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)" = "19"; then \
+               if echo $(LLVM_VERSION_SNAPSHOT)| grep -q "~++"; then \
+               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
+
+       # llvm-spirv was found, so we can enable *.spv files. Debian
+       # buster and Ubuntu 18.04 don't have llvm-spirv to create the
+       # *.spv files.
+       if test "$(LLVM_SPIRV_INSTALLED)" = "yes"; then \
+               sed -i -e "s|#spv\ ||g" debian/libclc-$(LLVM_VERSION).install; \
+       fi
+
+       # disable libc++-X.Y-dev-wasm32.install.in on old distro
+       if test "$(LIBCXX_WASM_ENABLE)" = "no"; then \
+               echo "" > debian/libc++-$(LLVM_VERSION)-dev-wasm32.install; \
+               echo "" > debian/libc++abi-$(LLVM_VERSION)-dev-wasm32.install; \
+       else \
+               if ! dpkg -l|grep -q wasi-libc; then \
+                       echo "Could not find wasi-libc on the system"; \
+                       echo "Please check that the package is available on the system"; \
+                       echo "it might be that the 'hello' package is installed by another constraint"; \
+                       exit 1; \
+               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; \
+       fi
+
+       if ! dh_listpackages|grep -q clang-$(LLVM_VERSION); then \
+               echo "Could not find clang-$(LLVM_VERSION) in the list of packages"; \
+               echo "Refresh debian/control ?"; \
+               echo "Package list:"; \
+               dh_listpackages; \
+               exit 1; \
+       fi
+       @mkdir -p stamps
+       touch $@
+
+# Override this two targets. They are trying to manage the .in conversion for me
+override_dh_ocamlinit:
+override_dh_ocamlclean:
+
+override_dh_auto_configure: stamps/configure
+stamps/configure: stamps/preconfigure
+ifeq (${SCCACHE_ENABLE},yes)
+       ls -al $(SCCACHE_PATH)*
+endif
+       echo "Using gcc: "
+       $(CC) -v
+       $(CXX) -v
+       mkdir -p $(TARGET_BUILD)
+# remove in case of artifact
+       rm -rf build
+
+       if test "$(SCAN_BUILD)" = "yes"; then \
+               patch -f -p1 < debian/patches/on-the-fly/use-scan-build-runtimes.diff||true; \
+       fi
+
+       # Configure coverity (we need the compilers) + work around perf issues
+       -(if test $(COVERITY_ENABLE) -eq 1; then \
+               export PATH=$$PATH:/opt/cov-analysis/bin/; \
+               cov-configure --compiler clang --comptype clang; \
+               cov-configure --compiler gcc-$(GCC_VERSION) --comptype gcc; \
+               cov-configure --compiler g++-$(GCC_VERSION) --comptype gcc; \
+               cov-configure -co /usr/bin/g++-$(GCC_VERSION) --comptype gcc -- -fPIC -std=c++11; \
+               cov-configure -co /usr/bin/gcc-$(GCC_VERSION) --comptype gcc -- -fPIC; \
+               cov-configure -co /usr/bin/g++-$(GCC_VERSION) --comptype gcc -- -fPIC -std=c++11 -fno-exceptions; \
+               cov-configure -co /usr/bin/g++-$(GCC_VERSION) --comptype gcc --template \
+                       --xml-option append_arg:"--ppp_translator" \
+                       --xml-option append_arg:"replace/llvm::AlignOf<PrevTy>::Alignment/(llvm::AlignOf<PrevTy>::Alignment)" \
+                       --xml-option append_arg:"--ppp_translator" \
+                       --xml-option append_arg:"replace/llvm::AlignOf<NextTy>::Alignment/(llvm::AlignOf<NextTy>::Alignment)"; \
+               cov-configure --compiler c++ --comptype g++ --template \
+                       --xml-option append_arg:"--ppp_translator" \
+                       --xml-option append_arg:"replace/llvm::AlignOf<PrevTy>::Alignment/(llvm::AlignOf<PrevTy>::Alignment)" \
+                       --xml-option append_arg:"--ppp_translator" \
+                       --xml-option append_arg:"replace/llvm::AlignOf<NextTy>::Alignment/(llvm::AlignOf<NextTy>::Alignment)"; \
+       fi)
+
+# Fails with No target "unwind_static"
+#    -DLIBCXXABI_ENABLE_STATIC_UNWINDER=ON \
+#    -DLIBCXXABI_STATICALLY_LINK_UNWINDER_IN_SHARED_LIBRARY=OFF \
+#    -DLIBCXXABI_STATICALLY_LINK_UNWINDER_IN_STATIC_LIBRARY=ON \
+#-    to libc++ when libunwind is built
+#-    Matches what is done on brew:
+#-    https://bit.ly/3kDNpC9
+ifeq (${SCCACHE_ENABLE},yes)
+# Just in case...
+       $(SCCACHE_CMD) --stop-server||true
+ifneq (,$(filter $(DEB_HOST_ARCH),i386 amd64))
+# Start the sccache server with the right set of options to use GCP
+       SCCACHE_LOG=sccache=debug SCCACHE_ERROR_LOG=$(SCCACHE_PATH)/sccache.log SCCACHE_GCS_KEY_PATH=$(SCCACHE_PATH)/secret-gcp-storage.json SCCACHE_GCS_BUCKET=apt-llvm-org-sccache SCCACHE_GCS_RW_MODE=READ_WRITE $(SCCACHE_CMD) --start-server
+else
+# on s390x machine, use a local cache
+       SCCACHE_CACHE_SIZE=20G SCCACHE_LOG=sccache=debug SCCACHE_ERROR_LOG=$(SCCACHE_PATH)/sccache.log SCCACHE_DIR=/opt/sccache/cache/ SCCACHE_DIRECT=true $(SCCACHE_CMD) --start-server
+endif
+endif
+       echo "Running tests: $(RUN_TEST)"
+       echo "Using cmake: $(CMAKE_BIN)"; \
+       LD_LIBRARY_PATH=$$LD_LIBRARY_PATH \
+       $(PRE_PROCESS_CONF) $(CMAKE_BIN) -S llvm/ -B $(TARGET_BUILD) \
+       -G Ninja \
+       -DCMAKE_INSTALL_PREFIX=/usr/lib/llvm-$(LLVM_VERSION) \
+       -DLLVM_VERSION_SUFFIX= \
+       -DCMAKE_SUPPRESS_REGENERATION=ON \
+       -DCMAKE_BUILD_TYPE=Release \
+       -DCMAKE_C_FLAGS="$(STAGE_1_CFLAGS)" \
+       -DCMAKE_CXX_FLAGS="$(STAGE_1_CXXFLAGS)" \
+       -DCMAKE_SHARED_LINKER_FLAGS="$(STAGE_1_LDFLAGS)" \
+       -DCMAKE_MODULE_LINKER_FLAGS="$(STAGE_1_LDFLAGS)" \
+       -DCMAKE_EXE_LINKER_FLAGS="$(STAGE_1_LDFLAGS)" \
+       -DPACKAGE_VENDOR=$(VENDOR) \
+       -DENABLE_LINKER_BUILD_ID=ON \
+       -DLLVM_TARGETS_TO_BUILD=Native \
+       -DLLVM_ENABLE_PROJECTS="$(PROJECTS_LIST)" \
+       -DLLVM_ENABLE_RUNTIMES="$(RUNTIMES_LIST)" \
+       -DLLVM_ENABLE_PIC=ON \
+       -DLLVM_ENABLE_RTTI=ON \
+       -DLLVM_BUILD_DOCS=OFF \
+       -DLLVM_INCLUDE_GO_TESTS=OFF \
+       -DLLVM_USE_RELATIVE_PATHS_IN_FILES=ON \
+       -DLLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN=ON \
+       -DLLVM_ENABLE_CURL=$(if $(filter stage1, $(DEB_BUILD_PROFILES)),OFF,ON) \
+       -DLLVM_USE_RELATIVE_PATHS_IN_DEBUG_INFO=ON \
+       -DCLANG_PLUGIN_SUPPORT=OFF \
+       -DCLANG_BUILD_EXAMPLES=OFF \
+       -DCLANG_DEFAULT_LINKER=ld \
+       -DCLANG_DEFAULT_RTLIB=libgcc \
+       -DCOMPILER_RT_BUILD_XRAY=OFF \
+       -DCOMPILER_RT_INCLUDE_TESTS=OFF \
+       -DCOMPILER_RT_USE_LIBCXX=OFF \
+       -DCOMPILER_RT_USE_BUILTINS_LIBRARY=$(COMPILER_RT_USE_BUILTINS_LIBRARY) \
+       -DLIBUNWIND_INSTALL_LIBRARY=OFF \
+       -DLIBCXXABI_ENABLE_EXCEPTIONS=ON \
+       -DLIBCXXABI_USE_COMPILER_RT=$(LIBCXX_USE_COMPILER_RT) \
+       -DLIBCXXABI_INSTALL_LIBRARY=OFF \
+       -DLIBCXX_ENABLE_EXCEPTIONS=ON \
+       -DLIBCXX_USE_COMPILER_RT=$(LIBCXX_USE_COMPILER_RT) \
+       -DLIBCXX_ENABLE_STATIC_ABI_LIBRARY=ON \
+       -DLIBCXX_STATICALLY_LINK_ABI_IN_STATIC_LIBRARY=ON \
+       -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_LIBC_GPU_BUILD" \
+       -DBOOTSTRAP_CMAKE_BUILD_TYPE=RelWithDebInfo \
+       -DBOOTSTRAP_CMAKE_C_FLAGS_RELWITHDEBINFO="$(opt_flags)" \
+       -DBOOTSTRAP_CMAKE_CXX_FLAGS_RELWITHDEBINFO="$(opt_flags)" \
+       -DBOOTSTRAP_CMAKE_C_FLAGS="$(STAGE_2_CFLAGS)" \
+       -DBOOTSTRAP_CMAKE_CXX_FLAGS="$(STAGE_2_CXXFLAGS)" \
+       -DBOOTSTRAP_CMAKE_SHARED_LINKER_FLAGS="$(STAGE_2_LDFLAGS)" \
+       -DBOOTSTRAP_CMAKE_MODULE_LINKER_FLAGS="$(STAGE_2_LDFLAGS)" \
+       -DBOOTSTRAP_CMAKE_EXE_LINKER_FLAGS="$(STAGE_2_LDFLAGS)" \
+       -DBOOTSTRAP_LLVM_ENABLE_FFI=ON \
+       -DBOOTSTRAP_LLVM_ENABLE_DUMP=ON \
+       -DBOOTSTRAP_LLVM_ENABLE_LIBPFM=ON \
+       -DBOOTSTRAP_LLVM_ENABLE_SPHINX=ON \
+       -DBOOTSTRAP_CLANG_DEFAULT_PIE_ON_LINUX=ON \
+       -DBOOTSTRAP_SPHINX_WARNINGS_AS_ERRORS=OFF \
+       -DBOOTSTRAP_LLVM_USE_RELATIVE_PATHS_IN_FILES=ON \
+       -DBOOTSTRAP_LLVM_INSTALL_UTILS=ON \
+       -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 \
+       -DBOOTSTRAP_LIBCLANG_LIBRARY_VERSION=$(SONAME_EXT) \
+       -DBOOTSTRAP_LIBCXX_INSTALL_EXPERIMENTAL_LIBRARY=ON \
+       -DBOOTSTRAP_PYTHON_EXECUTABLE=/usr/bin/python3 \
+       $(BOOTSTRAP_CMAKE_EXTRA) \
+       -DBOOTSTRAP_BUILTINS_CMAKE_ARGS="-DCMAKE_C_FLAGS=$(STAGE_2_CFLAGS);-DCMAKE_CXX_FLAGS=$(STAGE_2_CXXFLAGS);-DCMAKE_EXE_LINKER_FLAGS=$(STAGE_2_LDFLAGS);-DCMAKE_SHARED_LINKER_FLAGS=$(STAGE_2_LDFLAGS);-DCMAKE_MODULE_LINKER_FLAGS=$(STAGE_2_LDFLAGS);-DCMAKE_BUILD_TYPE=RelWithDebInfo;-DCMAKE_C_FLAGS_RELWITHDEBINFO=$(opt_flags);-DCMAKE_CXX_FLAGS_RELWITHDEBINFO=$(opt_flags);-DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=OFF" \
+       -DBOOTSTRAP_RUNTIMES_CMAKE_ARGS="-DCMAKE_C_FLAGS=$(STAGE_2_CFLAGS);-DCMAKE_CXX_FLAGS=$(RUNTIMES_CXXFLAGS);-DCMAKE_EXE_LINKER_FLAGS=$(STAGE_2_LDFLAGS) -L$(STAGE_1_LIB_DIR);-DCMAKE_SHARED_LINKER_FLAGS=$(STAGE_2_LDFLAGS) -L$(STAGE_1_LIB_DIR);-DCMAKE_MODULE_LINKER_FLAGS=$(STAGE_2_LDFLAGS) -L$(STAGE_1_LIB_DIR);-DCMAKE_BUILD_TYPE=RelWithDebInfo;-DCMAKE_C_FLAGS_RELWITHDEBINFO=$(opt_flags);-DCMAKE_CXX_FLAGS_RELWITHDEBINFO=$(opt_flags);-DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=OFF"
+
+       FOUND_VERSION=`grep LLVM_VERSION_STRING build-llvm/include/llvm/Config/llvm-config.h|cut -d\" -f2`; \
+       if ! echo "$(LLVM_VERSION_FULL)"|grep "$$FOUND_VERSION"; then \
+               echo "mismatch of version. Found: $$FOUND_VERSION / Expected: $(LLVM_VERSION_FULL)"; \
+               exit 1; \
+       fi
+       @mkdir -p stamps
+       touch $@
+
+VERBOSE=-v
+
+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 CMAKE_BUILD_PARALLEL_LEVEL=$(NJOBS) $(TIME_COMMAND) $(PRE_PROCESS) $(CMAKE_BIN) --build $(TARGET_BUILD) --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 \
+               echo "clang hasn't been built using clang. Bye bye. Check that the stage2 build has been done."; \
+               if test "$(SCAN_BUILD)" = "no"; then \
+                       exit 2; \
+               fi; \
+       fi
+       if ldd $(TARGET_BUILD_STAGE2)/lib/libclang-$(LLVM_VERSION).so.1|grep -q libclang-cpp-$(LLVM_VERSION); then \
+               echo "libclang-$(LLVM_VERSION).so.1 depends on libclang-cpp. Should not be the case"; \
+               exit 2; \
+       fi
+       if test -e $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/libclang-$(LLVM_VERSION).so.1; then \
+               echo "libclang-$(LLVM_VERSION).so.1 link is broken"; \
+               exit 2; \
+       fi
+       touch $@
+
+stamps/debian-libfuzzer-build:
+ifeq (${LIBFUZZER_ENABLE},yes)
+       cd $(TARGET_BUILD); \
+       CFLAGS="$(opt_flags) $(STAGE_2_CFLAGS)"; \
+       echo $$CFLAGS; \
+       for sourcefile in $(BASE_PATH)/compiler-rt/lib/fuzzer/*.cpp; do \
+               $(SCCACHE_CMD) $(STAGE_2_BIN_DIR)/clang++ -c $$CFLAGS -std=c++17 $$sourcefile -IFuzzer || exit 1; \
+       done; \
+       ar ruv libFuzzer.a Fuzzer*.o
+endif
+       touch $@
+
+stamps/debian-libclc-build:
+# workaround missing files on i386
+       cd $(TARGET_BUILD_STAGE2) && ninja opt llvm-link llvm-as
+# Builds libclc
+       mkdir -p libclc/build
+       echo "Using cmake: $(CMAKE_BIN)"
+       cd libclc/build && \
+       $(CMAKE_BIN) ../ \
+       -G Ninja \
+       $(SCCACHE_CMAKE) \
+       -DCMAKE_C_COMPILER=$(STAGE_2_BIN_DIR)/clang \
+       -DCMAKE_CXX_COMPILER=$(STAGE_2_BIN_DIR)/clang++ \
+       -DCMAKE_C_FLAGS="$(opt_flags) $(STAGE_2_CFLAGS)" \
+       -DCMAKE_CXX_FLAGS="$(opt_flags) $(STAGE_2_CXXFLAGS) -I$(BASE_PATH)/llvm/include" \
+       -DCMAKE_SHARED_LINKER_FLAGS="$(STAGE_2_LDFLAGS) -L$(STAGE_2_LIB_DIR)" \
+       -DCMAKE_MODULE_LINKER_FLAGS="$(STAGE_2_LDFLAGS) -L$(STAGE_2_LIB_DIR)" \
+       -DCMAKE_EXE_LINKER_FLAGS="$(STAGE_2_LDFLAGS) -L$(STAGE_2_LIB_DIR)" \
+       -DCMAKE_INSTALL_PREFIX=/usr \
+       -DCMAKE_INSTALL_DATADIR=lib \
+       -DCMAKE_INSTALL_INCLUDEDIR=include \
+       -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) $(TIME_COMMAND) ninja -j $(NJOBS) $(VERBOSE)
+ifndef LLVM_SPIRV
+       echo "libclc built without SPIRV (.spv) outputs because llvm-spirv wasn't found"
+endif
+       touch $@
+
+# Remove some new flags introduced by dpkg 1.22.0;
+STAGE_2_WASM_CFLAGS := $(filter-out -march=% -mfpu=% -fcf-protection% -mbranch-protection%, $(STAGE_2_CFLAGS))
+STAGE_2_WASM_CXXFLAGS := $(filter-out -march=% -mfpu=% -fcf-protection% -mbranch-protection%, $(STAGE_2_CXXFLAGS))
+
+build-wasm/compiler-rt-%: cpu = $(@:build-wasm/compiler-rt-%=%)
+build-wasm/compiler-rt-%:
+       @echo "Building compiler-rt for $(cpu)"
+       @echo "Using cmake: $(CMAKE_BIN)"
+       mkdir -p "$@"
+       $(CMAKE_BIN) -B "$@" -S compiler-rt/lib/builtins/ \
+               -G Ninja \
+               $(SCCACHE_CMAKE) \
+               -DCMAKE_SYSTEM_NAME=Generic \
+               -DCMAKE_C_COMPILER_TARGET=$(cpu)-unknown-unknown \
+               -DCMAKE_CXX_COMPILER_TARGET=$(cpu)-unknown-unknown \
+               -DCMAKE_ASM_COMPILER_TARGET=$(cpu)-unknown-unknown \
+               -DCMAKE_C_COMPILER=$(STAGE_2_BIN_DIR)/clang \
+               -DCMAKE_CXX_COMPILER=$(STAGE_2_BIN_DIR)/clang++ \
+               -DCMAKE_C_FLAGS="$(opt_flags) $(STAGE_2_WASM_CFLAGS)" \
+               -DCMAKE_CXX_FLAGS="$(opt_flags) $(STAGE_2_WASM_CXXFLAGS)" \
+               -DCMAKE_SHARED_LINKER_FLAGS="$(STAGE_2_LDFLAGS) -L$(STAGE_2_LIB_DIR)" \
+               -DCMAKE_MODULE_LINKER_FLAGS="$(STAGE_2_LDFLAGS) -L$(STAGE_2_LIB_DIR)" \
+               -DCMAKE_EXE_LINKER_FLAGS="$(STAGE_2_LDFLAGS) -L$(STAGE_2_LIB_DIR)" \
+               -DCMAKE_INSTALL_PREFIX=/usr/lib/llvm-$(LLVM_VERSION)/lib/clang/$(LLVM_VERSION) \
+               -DCMAKE_INSTALL_DATADIR=lib \
+               -DCMAKE_INSTALL_INCLUDEDIR=include \
+               -DLLVM_CMAKE_DIR=$(STAGE_2_BIN_DIR)/../ \
+               -DCOMPILER_RT_STANDALONE_BUILD=ON \
+               -DCOMPILER_RT_BAREMETAL_BUILD=ON \
+               -DCOMPILER_RT_INCLUDE_TESTS=OFF \
+               -DCOMPILER_RT_USE_LIBCXX=OFF \
+               -DCOMPILER_RT_USE_BUILTINS_LIBRARY=ON \
+               -DCOMPILER_RT_DEFAULT_TARGET_TRIPLE=$(cpu)-unknown-unknown \
+               -DCOMPILER_RT_OS_DIR=wasi
+       $(TIME_COMMAND) ninja -C "$@" -j $(NJOBS) $(VERBOSE)
+
+ifeq ($(LIBCXX_WASM_ENABLE), no)
+build-wasm/libcxx-%-wasi: build-wasm/compiler-rt-%
+       @echo "Skipping libcxx-*-wasi on this distro $(DISTRO)"
+else
+build-wasm/libcxx-%-wasi: cpu = $(@:build-wasm/libcxx-%-wasi=%)
+build-wasm/libcxx-%-wasi: build-wasm/compiler-rt-%
+       @echo "Building libcxx for $(cpu)"
+       @echo "Using cmake: $(CMAKE_BIN)"
+
+       # We need a functioning clang, which in turn requires a linker. We
+       # patch clang to use a versioned wasm-ld (cf. wasm-ld-path.diff), so
+       # create wasm-ld-$(LLVM_VERSION) in the stage2 bin dir manually.
+       cp $(STAGE_2_BIN_DIR)/wasm-ld $(STAGE_2_BIN_DIR)/wasm-ld-$(LLVM_VERSION)
+
+       # We need a wasm compiler-rt. Depend on the make target that builds it,
+       # and manually copy it to the stage2 lib dir from there
+       mkdir -p \
+          $(STAGE_2_LIB_DIR)/clang/$(LLVM_VERSION)/lib/wasi/
+       cp build-wasm/compiler-rt-$(cpu)/lib/wasi/libclang_rt.builtins-$(cpu).a \
+          $(STAGE_2_LIB_DIR)/clang/$(LLVM_VERSION)/lib/wasi/
+
+       # Notes:
+       # - Uses $(LDFLAGS) instead of $(STAGE_2_LDFLAGS), because wasm-ld does not
+       #   support --build-id yet. Upstream is working on it, cf. D107662.
+       # - Pass -fno-stack-protector to disable -fstack-protector-strong that is
+       #   passed by default, as this is not supported yet in WebAssembly, cf.
+       #   https://github.com/WebAssembly/wasi-libc/issues/157
+       # - Use llvm-ar and llvm-ranlib, as binutils does not currently support
+       #   WebAssembly and creates invalid indexes.
+       # - Use LLVM_LIBDIR_SUFFIX to install to /usr/lib/wasm32-wasi. To be
+       #   replaced by CMAKE_INSTALL_LIBDIR=lib/$(cpu)-wasi when D130586
+       #   ships.
+       mkdir -p "$@"
+       $(CMAKE_BIN) -B "$@" -S runtimes \
+               -G Ninja \
+               $(SCCACHE_CMAKE) \
+               -DCMAKE_C_COMPILER_WORKS=ON \
+               -DCMAKE_CXX_COMPILER_WORKS=ON \
+               -DLLVM_COMPILER_CHECKED=ON \
+               -DCMAKE_C_COMPILER_TARGET=$(cpu)-unknown-wasi \
+               -DCMAKE_CXX_COMPILER_TARGET=$(cpu)-unknown-wasi \
+               -DCMAKE_ASM_COMPILER_TARGET=$(cpu)-unknown-wasi \
+               -DCMAKE_C_COMPILER=$(STAGE_2_BIN_DIR)/clang \
+               -DCMAKE_CXX_COMPILER=$(STAGE_2_BIN_DIR)/clang++ \
+               -DCMAKE_AR=$(STAGE_2_BIN_DIR)/llvm-ar \
+               -DCMAKE_RANLIB=$(STAGE_2_BIN_DIR)/llvm-ranlib \
+               -DCMAKE_C_FLAGS="$(opt_flags) $(STAGE_2_WASM_CFLAGS) -fno-stack-protector" \
+               -DCMAKE_CXX_FLAGS="$(opt_flags) $(STAGE_2_WASM_CXXFLAGS) -fno-stack-protector" \
+               -DCMAKE_SHARED_LINKER_FLAGS="$(LDFLAGS) -L$(STAGE_2_LIB_DIR)" \
+               -DCMAKE_MODULE_LINKER_FLAGS="$(LDFLAGS) -L$(STAGE_2_LIB_DIR)" \
+               -DCMAKE_EXE_LINKER_FLAGS="$(LDFLAGS) -L$(STAGE_2_LIB_DIR)" \
+               -DCMAKE_INSTALL_PREFIX=/usr/lib/llvm-$(LLVM_VERSION) \
+               -DCMAKE_INSTALL_INCLUDEDIR=include/$(cpu)-wasi \
+               -DLLVM_LIBDIR_SUFFIX=/$(cpu)-wasi \
+               -DLLVM_CONFIG=$(STAGE_2_BIN_DIR)/llvm-config \
+               -DLLVM_ENABLE_RUNTIMES="libcxx;libcxxabi" \
+               -DLIBCXX_USE_COMPILER_RT=ON \
+               -DLIBCXXABI_USE_COMPILER_RT=ON \
+               -DLIBCXX_ENABLE_STATIC_ABI_LIBRARY=ON \
+               -DLIBCXX_STATICALLY_LINK_ABI_IN_STATIC_LIBRARY=ON \
+               -DLIBCXX_STATICALLY_LINK_ABI_IN_SHARED_LIBRARY=OFF \
+               -DCMAKE_BUILD_TYPE=RelWithDebugInfo \
+               -DLIBCXX_CXX_ABI=libcxxabi \
+               -DLIBCXX_ABI_VERSION=2 \
+               -DLIBCXX_HAS_MUSL_LIBC:BOOL=ON \
+               -DLIBCXX_ENABLE_SHARED:BOOL=OFF \
+               -DLIBCXX_ENABLE_EXPERIMENTAL_LIBRARY:BOOL=OFF \
+               -DLIBCXX_ENABLE_EXCEPTIONS:BOOL=OFF \
+               -DLIBCXX_ENABLE_FILESYSTEM:BOOL=OFF \
+               -DLIBCXX_ENABLE_THREADS:BOOL=OFF \
+               -DLIBCXX_HAS_PTHREAD_API:BOOL=OFF \
+               -DLIBCXX_HAS_EXTERNAL_THREAD_API:BOOL=OFF \
+               -DLIBCXX_BUILD_EXTERNAL_THREAD_LIBRARY:BOOL=OFF \
+               -DLIBCXXABI_ENABLE_SHARED:BOOL=OFF \
+               -DLIBCXXABI_ENABLE_EXCEPTIONS:BOOL=OFF \
+               -DLIBCXXABI_SILENT_TERMINATE:BOOL=ON \
+               -DLIBCXXABI_ENABLE_THREADS:BOOL=OFF \
+               -DLIBCXXABI_HAS_PTHREAD_API:BOOL=OFF \
+               -DLIBCXXABI_HAS_EXTERNAL_THREAD_API:BOOL=OFF \
+               -DLIBCXXABI_BUILD_EXTERNAL_THREAD_LIBRARY:BOOL=OFF \
+               -DLIBCXXABI_USE_LLVM_UNWINDER:BOOL=OFF
+       $(TIME_COMMAND) ninja -C "$@" -j $(NJOBS) $(VERBOSE)
+endif
+
+# Build compiler-rt for wasm32 and wasm64. Build libcxx only for wasm32, as
+# libcxx requires wasi-libc, which only exists for wasm32 right now.
+stamps/debian-wasm-build: \
+  build-wasm/compiler-rt-wasm32 \
+  build-wasm/libcxx-wasm32-wasi \
+  build-wasm/compiler-rt-wasm64
+       touch $@
+
+stamps/sccache-stats:
+# If we used sccache, shows stats
+       if test -f $(SCCACHE_CMD); then \
+               ls -al $(SCCACHE_PATH)/; \
+               mkdir -p /tmp/buildd/source/; \
+               $(SCCACHE_CMD) --stats-format json --show-stats > /tmp/buildd/source/sccache-stats.json; \
+               cat /tmp/buildd/source/sccache-stats.json; \
+       fi
+       touch $@
+
+override_dh_auto_build: \
+  stamps/debian-full-build \
+  stamps/debian-libfuzzer-build \
+  $(if $(filter libclc-%, $(packages)),stamps/debian-libclc-build) \
+  $(if $(filter %-wasm32 %-wasm64, $(packages)),stamps/debian-wasm-build) \
+  stamps/sccache-stats
+
+override_dh_prep: stamps/build_doc
+       dh_prep
+
+ifeq ($(DOC_GENERATION), no)
+stamps/build_doc:
+       mkdir -p $(TARGET_BUILD)/tools/clang/stage2-bins/docs/ocamldoc/html/
+       @echo "Don't build doc on this distro $(DISTRO)"
+else
+stamps/build_doc:
+       BUILDDIR="_build"; \
+       ALLSPHINXOPTS="-d $$BUILDDIR/doctrees ."; \
+       cd $(CURDIR)/llvm/docs && \
+               sphinx-build -b html $$ALLSPHINXOPTS $$BUILDDIR/html && \
+               sphinx-build -b man $$ALLSPHINXOPTS $$BUILDDIR/man && \
+       cd -; \
+       cd $(CURDIR)/clang/docs && \
+               sphinx-build -b html $$ALLSPHINXOPTS $$BUILDDIR/html && \
+               sphinx-build -b man $$ALLSPHINXOPTS $$BUILDDIR/man
+
+       -(if test "$(OCAML_ENABLE)" = yes; then \
+       ninja -C "$(TARGET_BUILD_STAGE2)" $(VERBOSE) ocaml_doc; \
+       fi)
+
+       ninja -C $(TARGET_BUILD_STAGE2) $(VERBOSE) docs-llvm-html docs-clang-html docs-clang-tools-html docs-clang-tools-man docs-clang-man docs-llvm-man
+
+ifeq (${POLLY_ENABLE},yes)
+       ninja -C $(TARGET_BUILD_STAGE2) $(VERBOSE) docs-polly-html docs-polly-man
+endif
+
+# Rename manpages
+       d=$(CURDIR)/llvm/docs/_build/man/; \
+       if test -d $$d; then \
+               cd $$d; \
+               for f in *.1; do \
+                       echo "$$f"|grep $(LLVM_VERSION) || mv $$f `echo $$f|sed "s|\.1|-$(LLVM_VERSION).1|"`; \
+               done; \
+       else \
+               echo "could not find $$d"; \
+       fi
+# the clang doc generation only generates clang manpage
+# When it will do more, we should move that in the loop above
+       cd $(CURDIR)/clang/docs/_build/man/ && mv clang.1 clang-$(LLVM_VERSION).1
+
+# Remove the copy of jquery. See bug #701087
+       for d in $(TARGET_BUILD_STAGE2)/docs/html/_static/ $(TARGET_BUILD_STAGE2)/tools/clang/docs/html/_static/ $(TARGET_BUILD_STAGE2)/tools/clang/tools/extra/docs/html/_static/; do \
+               cd $$d && rm -f jquery.js && ln -s /usr/share/javascript/jquery/jquery.js && cd -; \
+               cd $$d && rm -f underscore.js && ln -s /usr/share/javascript/underscore/underscore.js && cd -; \
+       done
+
+       mkdir -p debian/man/
+       ls -al clang/tools/scan-view/bin/scan-view
+       clang/tools/scan-view/bin/scan-view --help || true
+       help2man --no-info --version-string=$(LLVM_VERSION) clang/tools/scan-view/bin/scan-view > debian/man/scan-view-$(LLVM_VERSION).1 || true
+       help2man --no-info --version-string=$(LLVM_VERSION) clang/tools/clang-format/clang-format-diff.py > debian/man/clang-format-diff-$(LLVM_VERSION).1 || true
+
+       CMDS="llvm-dwarfdump llvm-mc llvm-objdump llvm-rtdyld llvm-size llvm-ranlib lldb clang-format clang clang++ clang-tblgen clang-check clang-cpp clang-tidy clang-apply-replacements clang-rename clang-query pp-trace sancov lli modularize clang-include-fixer find-all-symbols clang-reorder-fields ld.lld llvm-tblgen clang-change-namespace clang-offload-bundler clangd clang-repl git-clang-format run-clang-tidy"; \
+       for f in $$CMDS; do \
+               echo "Generating manpage of $$f"; \
+               LD_LIBRARY_PATH=$(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/:/usr/lib/*/libfakeroot help2man --no-info --version-string=$(LLVM_VERSION) $(TARGET_BUILD_STAGE2)/bin/$$f > debian/man/$$f-$(LLVM_VERSION).1 || true; \
+       done
+       # Create the following directory regardless as libomp-XX-doc
+       # is Architecture: all
+       mkdir -p openmp/runtime/doc/doxygen/generated/html/
+
+       if test "$(OPENMP_ENABLE)" = yes; then \
+               cd openmp/runtime && doxygen doc/doxygen/config; cd -; \
+               cd openmp/runtime/doc/doxygen/generated/html/ && rm jquery.js && ln -s /usr/share/javascript/jquery/jquery.js; \
+       fi
+       touch $@
+endif
+
+override_dh_auto_install:
+       # Clean up temporary files to make sure the install works
+       rm -rf $(find $(TARGET_BUILD) -wholename '*CMakeFiles*' -not -name CMakeLists.txt -a -name "*.dir" -type d)
+
+       # 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
+
+       # 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
+       # Remove bat files https://bugs.llvm.org/show_bug.cgi?id=30755
+       rm -f $(DEB_INST)/usr/share/clang/scan-build-$(LLVM_VERSION)/libexec/*.bat $(DEB_INST)/usr/share/clang/scan-build-$(LLVM_VERSION)/bin/*.bat
+
+       rm -f $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/libExampleIRTransforms.a
+       # Remove an example - introduced in https://reviews.llvm.org/D61446
+       rm -f $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/libBye.a
+
+       cp $(TARGET_BUILD_STAGE2)/bin/clang-query $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/bin
+
+       # 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))
+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 || true
+endif
+endif
+
+       if test "$(LIBUNWIND_ENABLE)" = yes; then \
+               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 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
+
+# Remove artifact (where compiler-rt is built)
+#      if test -d $(TARGET_BUILD)/tools/clang/runtime/compiler-rt/clang_linux; then \
+#      cd $(TARGET_BUILD)/tools/clang/runtime/compiler-rt/clang_linux && rm -rf $$(find . -mindepth 2 -maxdepth 2 -type d) && rm -rf $$(find -empty) && rm -rf */.dir; \
+#      fi
+
+       mkdir -p $(CURDIR)/debian/clang-$(LLVM_VERSION)/usr/bin/
+       cp compiler-rt/lib/asan/scripts/asan_symbolize.py $(CURDIR)/debian/clang-$(LLVM_VERSION)/usr/bin/asan_symbolize-$(LLVM_VERSION)
+
+ifeq (${LIBFUZZER_ENABLE},yes)
+       mkdir -p $(CURDIR)/debian/libfuzzer-$(LLVM_VERSION)-dev/usr/lib/llvm-$(LLVM_VERSION)/lib/
+       cp -v $(TARGET_BUILD)/libFuzzer.a $(CURDIR)/debian/libfuzzer-$(LLVM_VERSION)-dev/usr/lib/llvm-$(LLVM_VERSION)/lib/
+endif
+
+# Because of hurd, we are more flexible in what we include in libclang-X.Y-rt
+# but we don't want to install wasi files into libclang-rt as they have their own package
+# So, we remove this directory from the package
+       rm -f $(CURDIR)/debian/libclang-rt-$(LLVM_VERSION)-dev/usr/lib/llvm-$(LLVM_VERSION)/lib/wasi/
+
+# Create this fake directory to make the install libclang-common-dev happy
+# under the unsupported archs of compiler-rt
+       mkdir -p $(DEB_INST)/usr/lib/clang/$(LLVM_VERSION)/lib
+       mkdir -p $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/clang/$(LLVM_VERSION)/lib/
+       mkdir -p $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/clang/$(LLVM_VERSION)/lib/clang_linux/
+       mkdir -p $(TARGET_BUILD)/tools/clang/runtime/compiler-rt/clang_linux/
+       mkdir -p $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/clang/$(LLVM_VERSION)/share/
+# On some archs, the sanitizers are not built. As we explicitly includes some txt files, create
+# a fake txt to make sure it doesn't fail
+       echo "The *.txt files, if available, contain helper to override some of the errors messages." > $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/clang/$(LLVM_VERSION)/README.txt
+       echo "Please visit https://github.com/google/sanitizers/wiki/AddressSanitizer for help" >> $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/clang/$(LLVM_VERSION)/README.txt
+# Path changed. Make a copy of it
+       cp $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/clang/$(LLVM_VERSION)/README.txt $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/clang/$(LLVM_VERSION)/share/README.txt
+
+# Remove things that CMake  install but which aren't packaged yet,
+# or are packaged from the source or build tree.
+       mv $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/bin/clang-$(LLVM_VERSION) \
+          $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/bin/clang
+
+# Probably useless
+       rm -f $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/python*/*-packages/six.py
+       rm -f $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/local/lib/python*/*-packages/six.py
+       rm -rf $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/build/utils/lit/lit/__pycache__/ \
+       $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/build/utils/lit/lit/*/__pycache__/
+
+       # workaround issue https://github.com/llvm/llvm-project/issues/57101
+       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
+
+       if test -d libclc/build; then \
+               DESTDIR=$(DEB_INST) ninja $(VERBOSE) -C libclc/build install; \
+       fi
+
+       if test -d build-wasm/compiler-rt-wasm32; then \
+               DESTDIR=$(DEB_INST) ninja $(VERBOSE) -C build-wasm/compiler-rt-wasm32 install; \
+       fi
+       if test -d build-wasm/compiler-rt-wasm64; then \
+               DESTDIR=$(DEB_INST) ninja $(VERBOSE) -C build-wasm/compiler-rt-wasm64 install; \
+       fi
+       if test -d build-wasm/libcxx-wasm32-wasi; then \
+               DESTDIR=$(DEB_INST) ninja $(VERBOSE) -C build-wasm/libcxx-wasm32-wasi install; \
+       fi
+
+
+# Rename binaries
+       mkdir -p $(DEB_INST)/usr/bin/
+       cd $(DEB_INST)/usr/bin/; \
+       rm -f *; \
+       for f in ../lib/llvm-$(LLVM_VERSION)/bin/*; do \
+               ln -s $$f `basename $$f`-$(LLVM_VERSION); \
+               echo "Link $$f to `basename $$f`-$(LLVM_VERSION)"; \
+       done
+
+# Rename some stuff with the version name
+       cp $(CURDIR)/clang/tools/scan-build/man/scan-build.1 $(CURDIR)/clang/tools/scan-build/man/scan-build-$(LLVM_VERSION).1
+
+       # copy the vim files (except that tablegen does not exist for indent
+       VIM_DIRS="ftdetect ftplugin syntax indent"; \
+       for dir in $$VIM_DIRS; do \
+               cp -f $(CURDIR)/llvm/utils/vim/$$dir/llvm.vim $(CURDIR)/llvm/utils/vim/$$dir/llvm-$(LLVM_VERSION).vim; \
+               if test -f $(CURDIR)/llvm/utils/vim/$$dir/tablegen.vim; then \
+                       cp -f $(CURDIR)/llvm/utils/vim/$$dir/tablegen.vim $(CURDIR)/llvm/utils/vim/$$dir/tablegen-$(LLVM_VERSION).vim; \
+               fi; \
+       done
+       cp -f $(CURDIR)/llvm/utils/vim/vimrc $(CURDIR)/llvm/utils/vim/llvm-$(LLVM_VERSION)-vimrc
+
+       cp -f $(CURDIR)/clang/tools/clang-format/clang-format-diff.py $(CURDIR)/clang/tools/clang-format/clang-format-diff-$(LLVM_VERSION)
+
+       cp -f $(CURDIR)/clang/tools/clang-format/clang-format.py clang/tools/clang-format/clang-format-$(LLVM_VERSION).py
+
+       rm -rf clang/tools/scan-build-$(LLVM_VERSION)
+       cp -fR $(CURDIR)/clang/tools/scan-build clang/tools/scan-build-$(LLVM_VERSION)
+
+       rm -rf clang/tools/scan-build-py-$(LLVM_VERSION)
+       cp -fR $(CURDIR)/clang/tools/scan-build-py clang/tools/scan-build-py-$(LLVM_VERSION)
+       chmod +x clang/tools/scan-build-py-$(LLVM_VERSION)/bin/*
+
+       rm -rf clang/tools/scan-view-$(LLVM_VERSION)
+       cp -fR $(CURDIR)/clang/tools/scan-view clang/tools/scan-view-$(LLVM_VERSION)
+
+# Remove some license files
+       rm -f $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/include/llvm/Support/LICENSE.TXT
+
+# 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 \
+         -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 \
+         -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
+
+       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
+
+# Manage the polly files. Sometimes, we build them. Sometimes not.
+       if test "$(POLLY_ENABLE)" = yes; then \
+               mkdir -p $(CURDIR)/debian/libclang-$(LLVM_VERSION)-dev/usr/lib/llvm-$(LLVM_VERSION)/lib/ $(CURDIR)/debian/libpolly-$(LLVM_VERSION)-dev/usr/lib/llvm-$(LLVM_VERSION)/include/polly/; \
+               mv -f $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/libPolly* \
+               $(CURDIR)/debian/libpolly-$(LLVM_VERSION)-dev/usr/lib/llvm-$(LLVM_VERSION)/lib/; \
+               rm -rf $(CURDIR)/debian/libpolly-$(LLVM_VERSION)-dev/usr/lib/llvm-$(LLVM_VERSION)/include/polly; \
+               mv -f $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/include/polly/ \
+               $(CURDIR)/debian/libpolly-$(LLVM_VERSION)-dev/usr/lib/llvm-$(LLVM_VERSION)/include/; \
+       fi
+
+       mkdir -p $(CURDIR)/debian/usr/share/doc/llvm-$(LLVM_VERSION)-doc/ $(CURDIR)/debian/usr/share/doc/clang-$(LLVM_VERSION)-doc/
+       if test "$(DOC_GENERATION)" = yes; then \
+               cp -R $(TARGET_BUILD_STAGE2)/docs/html $(CURDIR)/debian/usr/share/doc/llvm-$(LLVM_VERSION)-doc/; \
+               cp -R $(TARGET_BUILD_STAGE2)/tools/clang/docs/html $(CURDIR)/debian/usr/share/doc/clang-$(LLVM_VERSION)-doc/; \
+               cp -R $(TARGET_BUILD_STAGE2)/tools/clang/tools/extra/docs/html $(CURDIR)/debian/usr/share/doc/clang-$(LLVM_VERSION)-doc/clang-extra; \
+       else \
+               mkdir -p llvm/docs/_build/html clang/docs/_build/html/ tools/clang/tools/extra/docs/html openmp/runtime/doc/doxygen/generated/html/ debian/man/ clang/docs/_build/man/ llvm/docs/_build/man/; \
+               rm debian/*$(LLVM_VERSION)*manpages; \
+       fi
+
+# Rename OCaml bindings
+       if test "$(OCAML_ENABLE)" = yes; then \
+               mkdir -p "$(DEB_INST)$(OCAML_STDLIB_DIR)"; \
+               mkdir -p "$(DEB_INST)usr/lib/llvm-$(LLVM_VERSION)/docs/ocaml/html/html"; \
+               mkdir -p "$(DEB_INST)usr/lib/llvm-$(LLVM_VERSION)/share/doc/llvm/ocaml-html/"; \
+               if test -d "$(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/ocaml"; then \
+                       mv -f "$(DEB_INST)usr/lib/llvm-$(LLVM_VERSION)/lib/ocaml" \
+                       "$(DEB_INST)$(OCAML_STDLIB_DIR)/llvm-$(LLVM_VERSION)"; \
+               fi; \
+       fi
+
+# For some reasons, from Ubuntu jammy, python stuff are installed in /local/lib, move it back
+       if test -d $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/local/lib/; then \
+               mv $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/local/lib/* $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/; \
+               rm -f $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/python*/*-packages/six.py; \
+               ls $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/local/; \
+               rmdir $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/local/lib; \
+               rmdir $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/local; \
+       fi
+
+# Disable the python binding for buster. not sure why it regressed
+# regressed de4364f1ecaa..0745b0c0354a
+       if test "$(DISTRO)" = "buster" -o "$(DEB_HOST_ARCH)" = "mips64el"; then \
+               mkdir -p $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/share/gdb/python/ompd/; \
+               touch $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/share/gdb/python/ompd/empty; \
+       fi
+       if test "$(LLDB_PYTHON_ENABLE)" = no; then \
+               echo "" > debian/python3-lldb-$(LLVM_VERSION).install; \
+       fi
+
+# Remove some mlir example
+       rm -f $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/libMyExtensionCh*.a
+
+# 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)
+
+
+# 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:
+# Ignore asan libraries. They would trigger dependencies to multiarch libraries
+       dh_shlibdeps -l$(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/ -Xlibclang_rt.asan -Xlibclang_rt.asan -Xlibclang_rt.asan-*.so -Xlibclang_rt.asan-*.so
+
+override_dh_installman:
+       if test -f lld/docs/ld.lld.1; then \
+       mv lld/docs/ld.lld.1 lld/docs/ld.lld-$(LLVM_VERSION).1; \
+       fi
+       dh_installman
+# Make sure that lli manpage is only in llvm-3.2-runtime (See #697117)
+       rm -f $(CURDIR)/debian/llvm-$(LLVM_VERSION)/usr/share/man/man1/lli*
+
+
+override_dh_strip:
+       : # running out of diskspace on the buildds
+       find $(TARGET_BUILD) \( -name '*.o' -o -name '*.a' \) -type f | xargs -r rm -f
+ifeq (0, $(strip $(shell dpkg --compare-versions $(DH_VERSION) ge 9.20160114; echo $$?)))
+       : # If we don't have the right version of debhelper, don't run the option
+       dh_strip -p libclang$(SONAME_EXT)-$(LLVM_VERSION) --dbgsym-migration='libclang$(SONAME_EXT)-$(LLVM_VERSION)-dbg'
+       dh_strip -p libllvm$(LLVM_VERSION) --dbgsym-migration='libllvm$(LLVM_VERSION)-dbg'
+       dh_strip -p liblldb-$(LLVM_VERSION) --dbgsym-migration='liblldb-$(LLVM_VERSION)-dbg'
+       dh_strip -p libomp$(SONAME_OPENMP)-$(LLVM_VERSION) --dbgsym-migration='libomp$(SONAME_OPENMP)-$(LLVM_VERSION)-dbg'
+endif
+# ifeq (${LLD_ENABLE},yes)
+#      PATH=$(CURDIR)/:$$PATH dh_strip -p liblld-$(LLVM_VERSION) --dbg-package=liblld-$(LLVM_VERSION)-dbg
+# endif
+ifeq ($(shell dpkg --compare-versions $(shell dpkg-query -W -f '$${Version}' binutils) lt 2.31.1-11 ; echo $$?),0)
+       : # building with clang, binutils/strip has hard time stripping some libs because of
+       : # https://sourceware.org/bugzilla/show_bug.cgi?id=23788
+       : # use llvm-strip instead
+       : # Workaround some issues with stripping by using llvm's
+       if test ! -f $(CURDIR)/strip; then \
+               ln -s $(CURDIR)/debian/llvm-$(LLVM_VERSION)/usr/lib/llvm-$(LLVM_VERSION)/bin/llvm-strip $(CURDIR)/strip; \
+       fi
+       ls -al $(CURDIR)/debian/.debhelper/*/dbgsym-root/usr/lib/debug/.build-id/*/*|| true
+       : # On some old version of Debian (stretch) and Ubuntu, Rules-Requires-Root isn't supported
+       : # Sometime, it fails because of chown: changing ownership of 'debian/.debhelper/clang-7/dbgsym-root/usr/lib/debug/.build-id/37/ba506ae9d2f82219bf5c552f7c09853052b2b0.debug': Operation not permitted
+       : # Therefore, continue when we encounter an error
+       PATH=$(CURDIR)/:$$PATH LD_LIBRARY_PATH=$(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/:/usr/lib/*/libfakeroot dh_strip -a -v || true
+       : # Remove the workaround
+       rm $(CURDIR)/strip
+       : # for some reasons, the +x might be removed
+       chmod -f +x $(CURDIR)/debian/*/usr/lib/llvm-$(LLVM_VERSION)/bin/* || true
+else
+       # GNU strip doesn't recognize WebAssembly binaries, and actually corrupts them.
+       # llvm-strip (as of 15.0.2) fails with --strip-debug (but works with --strip-all)
+       dh_strip -a -v -Xlibclang_rt.builtins-wasm32.a -Xlibclang_rt.builtins-wasm64.a -Xusr/lib/wasm32-wasi
+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 debian/tmp/usr/lib/llvm-$(LLVM_VERSION)/lib/cmake/polly/*.cmake
+else
+       rm -rf $(CURDIR)/debian/tmp/usr/lib/llvm-$(LLVM_VERSION)/lib/cmake/polly/*.cmake
+endif
+endif
+       dh_install --fail-missing ${skip_packages}
+# Move the libc++ abi files from libc++ to libc++-abi for the wasm32 packages
+# These packages are arch: all, so only do so when the packages are built
+ifneq (,$(filter libc++-$(LLVM_VERSION)-dev-wasm32, $(packages)))
+       mkdir -p $(CURDIR)/debian/libc++abi-$(LLVM_VERSION)-dev-wasm32/usr/lib/llvm-$(LLVM_VERSION)/include/wasm32-wasi/c++/v1
+       if test -f $(CURDIR)/debian/libc++-$(LLVM_VERSION)-dev-wasm32/usr/lib/llvm-$(LLVM_VERSION)/include/wasm32-wasi/c++/v1/__cxxabi_config.h; then \
+               mv $(CURDIR)/debian/libc++-$(LLVM_VERSION)-dev-wasm32/usr/lib/llvm-$(LLVM_VERSION)/include/wasm32-wasi/c++/v1/__cxxabi_config.h \
+                       $(CURDIR)/debian/libc++abi-$(LLVM_VERSION)-dev-wasm32/usr/lib/llvm-$(LLVM_VERSION)/include/wasm32-wasi/c++/v1/__cxxabi_config.h; \
+               mv $(CURDIR)/debian/libc++-$(LLVM_VERSION)-dev-wasm32/usr/lib/llvm-$(LLVM_VERSION)/include/wasm32-wasi/c++/v1/cxxabi.h \
+                       $(CURDIR)/debian/libc++abi-$(LLVM_VERSION)-dev-wasm32/usr/lib/llvm-$(LLVM_VERSION)/include/wasm32-wasi/c++/v1/cxxabi.h; \
+       fi
+endif
+# Because of hurd, we are more flexible in what we include in libclang-X.Y-rt
+# but we don't want to install wasi files into libclang-rt as they have their own package
+# 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 (${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
+       touch $@
+
+
+override_dh_installdeb: stamps/repack_a_llvm_ir
+# Managed by the package
+       dh_installdeb -a
+
+       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.
+# To make sure they aren't conflicting ( https://bugs.llvm.org/show_bug.cgi?id=46977 )
+# Remove them from the libclang-common package
+       rm -f $(CURDIR)/debian/libclang-common-$(LLVM_VERSION)-dev/usr/lib/llvm-$(LLVM_VERSION)/lib/clang/$(LLVM_VERSION)/include/omp*.h
+
+# Remove some libc++ abi files in the libc++ file. See bug #969274
+       rm -f $(CURDIR)/debian/libc++-$(LLVM_VERSION)-dev/usr/lib/llvm-$(LLVM_VERSION)/include/c++/__cxxabi_config.h $(CURDIR)/debian/libc++-$(LLVM_VERSION)-dev/usr/lib/llvm-$(LLVM_VERSION)/include/c++/cxxabi.h
+
+# Remove auto generated python pyc
+       find $(CURDIR)/debian/llvm-$(LLVM_VERSION)-tools/usr/lib/llvm-$(LLVM_VERSION)/ -name '*.pyc' | xargs -r rm -f
+
+ifeq (${RUN_TEST},yes)
+# List of the archs we know we have 100 % tests working
+ARCH_LLVM_TEST_OK := i386 amd64
+
+override_dh_auto_test:
+       echo "Running tests: $(RUN_TEST)"
+# LLVM tests
+ifneq (,$(findstring $(DEB_HOST_ARCH),$(ARCH_LLVM_TEST_OK)))
+# logs the output to check-llvm_build_log.txt for validation through autopkgtest
+       ninja $(VERBOSE) -C $(TARGET_BUILD) stage2-check-llvm | tee check-llvm_build_log.txt
+else
+       ninja $(VERBOSE) -C $(TARGET_BUILD) stage2-check-llvm || true
+endif
+
+# Clang tests
+       ninja $(VERBOSE) -C $(TARGET_BUILD) stage2-check-clang || true
+
+# Clang extra tests (ex: clang-tidy)
+       ninja $(VERBOSE) -C $(TARGET_BUILD_STAGE2) check-clang-tools || true
+
+# LLD tests
+ifeq (${LLD_ENABLE},yes)
+       ninja $(VERBOSE) -C $(TARGET_BUILD_STAGE2) check-lld || true
+endif
+
+# Sanitizer
+       ninja $(VERBOSE) -C $(TARGET_BUILD_STAGE2) check-sanitizer || true
+
+# Libcxx
+       ninja $(VERBOSE) -C $(TARGET_BUILD_STAGE2) check-libcxx || true
+
+# Libc
+       ninja $(VERBOSE) -C $(TARGET_BUILD_STAGE2) check-libc || true
+
+# Libcxxabi
+       ninja $(VERBOSE) -C $(TARGET_BUILD_STAGE2) check-libcxxabi || true
+
+# MLIR
+ifeq (,$(filter $(DEB_HOST_ARCH), armel armhf i386 x32))
+# Do not run MLIR test on i386 because of
+# https://github.com/llvm/llvm-project/issues/58357
+       ninja $(VERBOSE) -C $(TARGET_BUILD_STAGE2) check-mlir || true
+endif
+
+# Libclc
+       ninja $(VERBOSE) -C libclc/build test || true
+
+# LLDB tests
+ifeq (,$(filter $(DEB_HOST_ARCH), $(LLDB_DISABLE_ARCHS) armhf armel))
+ifneq (,$(filter codecoverage,$(DEB_BUILD_OPTIONS)))
+# Create a symlink to run the testsuite: see https://bugs.archlinux.org/task/50759
+       cd $(CURDIR)/$(TARGET_BUILD)/lib/python*/*-packages/; \
+               if test ! -e _lldb.so; then \
+                       ln -s lldb/_lldb.so; \
+               fi
+       if test "$(CODECOVERAGE)" = "no"; then \
+       LD_LIBRARY_PATH=$$LD_LIBRARY_PATH:$(CURDIR)/$(TARGET_BUILD)/lib/ ninja $(VERBOSE) -C $(TARGET_BUILD) check-lldb || true; \
+       fi
+       # remove the workaround
+       rm $(CURDIR)/$(TARGET_BUILD)/lib/python*/*-packages/_lldb.so
+endif
+endif
+
+# Polly tests
+#ifeq (${POLLY_ENABLE},yes)
+#      ninja -C $(TARGET_BUILD) check-polly || true
+#endif
+
+# Managed by debian build system
+       rm -f $(CURDIR)/$(TARGET_BUILD)/lib/python*/*-packages/lldb/_lldb.so
+
+# The compression of the code coverage report is done in the
+# hook B21GetCoverageResults on the server
+       if test "$(CODECOVERAGE)" = "yes"; then \
+               REPORT=reports/llvm-toolchain.info; \
+               mkdir -p reports/; \
+               lcov --directory $(TARGET_BUILD)/ --capture --ignore-errors source --output-file $$REPORT; \
+               lcov --remove $$REPORT "/usr*" -o $$REPORT; \
+               genhtml -o reports/coverage --show-details --highlight --legend $$REPORT; \
+               chmod 0755 `find reports/coverage -type d`; \
+               chmod 0644 `find reports/coverage -type f`; \
+       fi
+else
+override_dh_auto_test:
+       @echo "Skipping tests"
+endif
+
+
+override_dh_builddeb:
+       dh_builddeb ${skip_packages}
+
+override_dh_gencontrol: stamps/sccache-stats
+       dh_gencontrol ${skip_packages} -- $(control_vars)
+
+
+override_dh_auto_clean:
+       rm -rf $(TARGET_BUILD) llvm/docs/_build/ clang/docs/_build tools/clang/docs/_html/
+# QA tools
+       rm -rf cov-int/ reports/
+       rm -f `ls debian/*.in|grep -v control.in|sed -e "s|.in$$||g"`
+       find utils -name '*.pyc' | xargs -r rm -f
+       # Use -I because a test has a space in its name
+       find lldb/test -iname '*.pyc' | xargs -I{} -r rm -f {}
+       rm -f $(CURDIR)/utils/vim/llvm-$(LLVM_VERSION).vim $(CURDIR)/utils/vim/tablegen-$(LLVM_VERSION).vim
+       rm -f $(CURDIR)/clang/tools/clang-format/clang-format-diff-$(LLVM_VERSION)
+       rm -f $(CURDIR)/clang/tools/clang-format/clang-format-$(LLVM_VERSION).py
+       rm -rf libclc/build
+       rm -rf build-wasm
+       if test -f lld/docs/ld.lld-$(LLVM_VERSION).1; then \
+               mv lld/docs/ld.lld-$(LLVM_VERSION).1 lld/docs/ld.lld.1; \
+       fi
+       for f in debian/*.in; do \
+               if ! echo $$f|grep control; then \
+                       f2=$$(echo $$f | sed 's/\.in$$//;s/X\.Y/$(LLVM_VERSION)/'); \
+                       rm -f $$f2; \
+               fi; \
+       done
+       if test "$(SCAN_BUILD)" = "yes"; then \
+               patch -f -R -p1 < debian/patches/on-the-fly/use-scan-build-runtimes.diff||true; \
+       fi
+       : # for some reason, the docs are written to debian/usr and debian/man ...
+       rm -rf debian/usr debian/man
+       : # remove extra stamps
+       rm -f override_dh_auto_install
+       rm -rf stamps
+       rm -f usage-*.svg*
+
+.PHONY: override_dh_strip preconfigure
diff --git a/source/format b/source/format
new file mode 100644 (file)
index 0000000..163aaf8
--- /dev/null
@@ -0,0 +1 @@
+3.0 (quilt)
diff --git a/source/lintian-overrides b/source/lintian-overrides
new file mode 100644 (file)
index 0000000..57a6b48
--- /dev/null
@@ -0,0 +1,29 @@
+# Removed by patch remove-dbtree.diff
+source: source-is-missing clang/www/analyzer/scripts/dbtree.js
+
+# Reported here https://bugs.llvm.org/show_bug.cgi?id=32962
+# No activity, silent it to avoid false positive in automation
+source: license-problem-convert-utf-code llvm/lib/Support/ConvertUTF.cpp
+# A unit test. No big deal
+source: source-is-missing lldb/unittests/ObjectFile/ELF/Inputs/early-section-headers.so
+# Generated See https://github.com/llvm-mirror/lldb/commit/7aee683f410ffc27b61a8e9779b9df9a7c0fff7d#diff-dcfea8d8a36846a00781105f8618e06d
+source: source-is-missing lldb/lit/Modules/ELF/Inputs/PT_LOAD-overlap-section.elf
+
+# Makes sense for the testsuites
+source: source-contains-prebuilt-windows-binary lldb/unittests/SymbolFile/DWARF/Inputs/test-dwarf.exe
+source: source-contains-prebuilt-windows-binary lldb/unittests/SymbolFile/PDB/Inputs/test-pdb-types.exe
+source: source-contains-prebuilt-windows-binary lldb/unittests/SymbolFile/PDB/Inputs/test-pdb.exe
+source: source-is-missing [lldb/lit/Modules/ELF/Inputs/netbsd-amd64.core]
+source: source-is-missing [llgo/third_party/gofrontend/libgo/go/debug/dwarf/testdata/*.elf*]
+source: source-is-missing [llgo/third_party/gofrontend/libgo/go/debug/elf/testdata/gcc-*-exec]
+source: source-is-missing [llgo/third_party/gofrontend/libgo/go/debug/elf/testdata/*.obj]
+source: source-is-missing [llvm/test/*]
+source: source-is-missing [llvm/unittests/*]
+source: source-is-missing [lldb/test/*]
+source: source-is-missing [lld/test/*]
+source: source-is-missing [clang/test/Driver/Inputs/dummy-elf.o]
+source: source-is-missing [*exe]
+source: source-is-missing [*dll]
+
+# By design
+source: invalid-arch-string-in-source-relation riscv64*
diff --git a/source/options b/source/options
new file mode 100644 (file)
index 0000000..976f27a
--- /dev/null
@@ -0,0 +1 @@
+extend-diff-ignore = "(^|/)(clang|clang-tools-extra|compiler-rt|CONTRIBUTING.md|debuginfo-tests|flang|integration-test-suite|libc|libclc|libcxx|libcxxabi|libunwind|lld|lldb|llvm|mlir|openmp|parallel-libs|polly|pstl|README.md|runtimes|utils|)"
diff --git a/tests/cmake-clang-test b/tests/cmake-clang-test
new file mode 100755 (executable)
index 0000000..e9f9f7c
--- /dev/null
@@ -0,0 +1,29 @@
+#!/bin/sh
+
+set -e
+
+LLVM_VERSION=19
+
+# 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 <<EOF > 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/tests/cmake-clang-test.in b/tests/cmake-clang-test.in
new file mode 100755 (executable)
index 0000000..1989173
--- /dev/null
@@ -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 <<EOF > 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/tests/cmake-llvm-test b/tests/cmake-llvm-test
new file mode 100755 (executable)
index 0000000..b3606eb
--- /dev/null
@@ -0,0 +1,39 @@
+#!/bin/sh
+
+set -e
+
+LLVM_VERSION=19
+
+# 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 <<EOF > 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/tests/cmake-llvm-test.in b/tests/cmake-llvm-test.in
new file mode 100755 (executable)
index 0000000..3c7da84
--- /dev/null
@@ -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 <<EOF > 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/tests/control b/tests/control
new file mode 100644 (file)
index 0000000..18a9973
--- /dev/null
@@ -0,0 +1,25 @@
+Test-Command: bash -v ./debian/qualify-clang.sh
+Depends: @, cmake, make, g++, file, dpkg-dev, binutils-gold, bats, bats-assert
+# Comment the dbgsym package because of bug #917528
+# dbgsym packages not being available in testing
+# clang-19-dbgsym, libclang1-19-dbgsym
+Restrictions: allow-stderr
+Architecture: amd64 arm64 i386
+
+Tests: integration-test-suite-test
+Depends: @, cmake, make, g++, binutils-gold
+Restrictions: allow-stderr
+Architecture: amd64 arm64
+
+Tests: cmake-llvm-test
+Depends: gcc, build-essential, cmake, llvm-19-dev
+
+Tests: cmake-clang-test
+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-19
+Architecture: amd64 arm64 armel armhf i386 ppc64el riscv64 s390x
+
+Test-Command: python3 -c "import clang; print(clang.__file__); print(clang)"
+Depends: python3-clang-19
diff --git a/tests/control.in b/tests/control.in
new file mode 100644 (file)
index 0000000..ccddb55
--- /dev/null
@@ -0,0 +1,25 @@
+Test-Command: bash -v ./debian/qualify-clang.sh
+Depends: @, cmake, make, g++, file, dpkg-dev, binutils-gold, bats, bats-assert
+# 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++, binutils-gold
+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/tests/integration-test-suite-test b/tests/integration-test-suite-test
new file mode 100755 (executable)
index 0000000..efc23d2
--- /dev/null
@@ -0,0 +1,39 @@
+#!/bin/sh
+
+set -e
+
+LLVM_VERSION=19
+
+# 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/tests/integration-test-suite-test.in b/tests/integration-test-suite-test.in
new file mode 100755 (executable)
index 0000000..81bbde0
--- /dev/null
@@ -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/unpack.sh b/unpack.sh
new file mode 100644 (file)
index 0000000..54250cb
--- /dev/null
+++ b/unpack.sh
@@ -0,0 +1,61 @@
+set -e
+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
+
+if test -z "$VERSION"; then
+       echo "Could not find the version"
+       exit 0
+fi
+LLVM_ARCHIVE=llvm-toolchain-${ORIG_VERSION}_$MAJOR_VERSION~+$VERSION.orig.tar.xz
+echo "unpack of $LLVM_ARCHIVE"
+tar Jxf $LLVM_ARCHIVE
+cd llvm-toolchain-${ORIG_VERSION}_$MAJOR_VERSION~+$VERSION/
+
+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"
+    echo "Update unpack.sh"
+    exit 1
+fi
+
+cp -R ../$ORIG_VERSION/debian .
+
+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/usage-wrapper.py b/usage-wrapper.py
new file mode 100755 (executable)
index 0000000..bf8831f
--- /dev/null
@@ -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 "<shell command>", '
+          '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/watch b/watch
new file mode 100644 (file)
index 0000000..9223afd
--- /dev/null
+++ b/watch
@@ -0,0 +1,15 @@
+version=4
+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