Merge tag 'debian/1%18.1.8-11' into proxmox/bookworm

llvm-toolchain-18 Debian release 1:18.1.8-11
This commit is contained in:
Fabian Grünbichler 2024-09-09 14:52:43 +02:00
commit ba80facb80
78 changed files with 2064 additions and 2149 deletions

506
debian/changelog vendored
View File

@ -1,8 +1,479 @@
llvm-toolchain-17 (1:17.0.6-12~bpo12+pve1) proxmox-rust; urgency=medium
llvm-toolchain-18 (1:18.1.8-11) unstable; urgency=medium
* Rebuild for Debian Bookworm / Proxmox with t64 reverted
* Drop ocaml on armhf, ocamlopt disappeared making build ftbfs
* Drop extra space in changelog
* Sync spirv architectures with sid builds
* Fix x32 build failure due to orc library not being installed
* Add back LLVM_EXPERIMENTAL_TARGETS_TO_BUILD to PASSTHROUGH variables, to help m68k
-- Proxmox Support Team <support@proxmox.com> Tue, 28 May 2024 09:09:09 +0200
-- Gianfranco Costamagna <locutusofborg@debian.org> Mon, 09 Sep 2024 08:42:27 +0200
llvm-toolchain-18 (1:18.1.8-10) unstable; 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.
[ Bo YU ]
* Backport two commits to fix riscv64 issue. (Closes: #1080435)
-- Sylvestre Ledru <sylvestre@debian.org> Sat, 07 Sep 2024 23:08:26 +0200
llvm-toolchain-18 (1:18.1.8-9) unstable; urgency=medium
[ Gianfranco Costamagna ]
* Mention in changelog also the SVE fixes from llvm-17
* Drop mips D154390 patch, already upstream
[ Sylvestre Ledru ]
* Really fix breaks/replaces (Closes: #1077587)
-- Sylvestre Ledru <sylvestre@debian.org> Sat, 03 Aug 2024 20:07:17 +0200
llvm-toolchain-18 (1:18.1.8-8) unstable; urgency=medium
[ Sylvestre Ledru ]
* Fix breaks/replaces (Closes: #1077587)
[ Gianfranco Costamagna ]
* Merge llvm-toolchain-17 1:17.0.6-13 into llvm-18 branch
- Make SVE types available in device targets (Closes: #1076578)
-- Sylvestre Ledru <sylvestre@debian.org> Tue, 30 Jul 2024 10:48:59 +0200
llvm-toolchain-18 (1:18.1.8-7) unstable; urgency=medium
* Unbreak the cmake tools
-- Sylvestre Ledru <sylvestre@debian.org> Sun, 28 Jul 2024 09:49:06 +0200
llvm-toolchain-18 (1:18.1.8-6) unstable; urgency=medium
* Make libllvm multi arch ready again ... (Closes: #1076131)
* bring back spirv
-- Sylvestre Ledru <sylvestre@debian.org> Fri, 26 Jul 2024 17:34:31 +0200
llvm-toolchain-18 (1:18.1.8-5) unstable; urgency=medium
* Fix the broken Breaks/replaces for apt.llvm.org
Closes: https://github.com/llvm/llvm-project/issues/99502
* Bring back libLLVM.so.18.1 as symlink library
(LP: #2073604)
* temporary disable spirv to unbreak the build
[ John Paul Adrian Glaubitz ]
* Make regexp to grep for LLVM_DEFAULT_TARGET_TRIPLE less ambigious
-- Sylvestre Ledru <sylvestre@debian.org> Wed, 24 Jul 2024 11:54:39 +0200
llvm-toolchain-18 (1:18.1.8-4) unstable; urgency=medium
* fix the symlinks after LLVM_ENABLE_PER_TARGET_RUNTIME_DIR=OFF
Probably caused
https://github.com/llvm/llvm-project/issues/99017
* Move back /usr/lib/llvm-18/lib/libLLVM-18.so.1 to libllvm18 (Closes: #1076469)
And add breaks/replaces to make sure the upgrade goes smoothly
[ Matthias Klose ]
* Construct the --package-metadata option just from ELF_PACKAGE_METADATA.
-- Sylvestre Ledru <sylvestre@debian.org> Tue, 16 Jul 2024 18:02:17 +0200
llvm-toolchain-18 (1:18.1.8-3) unstable; urgency=medium
[ Sylvestre Ledru ]
* Revert LLVM_ENABLE_PER_TARGET_RUNTIME_DIR=ON
9ca35f30383d89e4fdd45d15e0eb82c832df4b8c
For causing https://github.com/llvm/llvm-project/issues/96210
* Disable LLDB_BUILD_INTEL_PT on Ubuntu bionic
* Make libllvm co-installable again (Closes: #1076131)
-- Sylvestre Ledru <sylvestre@debian.org> Mon, 15 Jul 2024 09:49:47 +0200
llvm-toolchain-18 (1:18.1.8-2) unstable; urgency=medium
[ Matthias Klose ]
* Pass --package-metadata on distros with supporting linkers (starting
with Debian trixie and Ubuntu noble).
The package metadata is constructed from the environment variables
DEB_BUILD_OS_RELEASE_ID, DEB_SOURCE, DEB_VERSION and DEB_HOST_ARCH.
Setting NO_PKG_METADATA=1 disables the generation of the package metadata.
[ Sylvestre Ledru ]
* Try to unbreak powerpc & sparc64
-- Sylvestre Ledru <sylvestre@debian.org> Sun, 07 Jul 2024 22:01:17 +0200
llvm-toolchain-17 (1:17.0.6-13) unstable; urgency=medium
[ Emanuele Rocca ]
* Make SVE types available in device targets (Closes: #1076578)
[ Matthias Klose ]
* Pass --package-metadata on distros with supporting linkers (starting
with Debian trixie and Ubuntu noble).
The package metadata is constructed from the environment variables
DEB_BUILD_OS_RELEASE_ID, DEB_SOURCE, DEB_VERSION and DEB_HOST_ARCH.
Setting NO_PKG_METADATA=1 disables the generation of the package metadata.
-- Gianfranco Costamagna <locutusofborg@debian.org> Tue, 30 Jul 2024 09:15:47 +0200
llvm-toolchain-18 (1:18.1.8-2~exp2) experimental; urgency=medium
* Change the LLVM_HOST_TRIPLE option from i386-linux-gnu to
i386-pc-linux-gnu
and arm-linux-gnueabihf to arm-pc-linux-gnueabihf
Otherwise, it will fail with:
Cannot find builtins library for the target architecture
-- Sylvestre Ledru <sylvestre@debian.org> Sun, 07 Jul 2024 00:38:27 +0200
llvm-toolchain-18 (1:18.1.8-2~exp1) experimental; urgency=medium
[ Sylvestre Ledru ]
* Enable LLVM_ENABLE_PER_TARGET_RUNTIME_DIR
to move the libraries into multi archi directories
* Bring back libLLVM to be installed in /usr/lib/llvm-18/lib/libLLVM-18.so
instead of /usr/lib/llvm-18/lib/libLLVM.so
Same for libclang (remove usr/lib/llvm-18/lib/libclang.so.1
This should make the packages multiarch co installable again
(Closes: #1067699, #1067005)
(LP: #2063207)
* Introduce the new variable @DEB_HOST_MULTIARCH_LLVM@ in the build system
because the LLVM triple is different than Debian
x86_64-pc-linux-gnu instead of x86_64-linux-gnu
* autopkgtest: only run libllvmlibc test on supported archs
[ John Paul Adrian Glaubitz ]
* Don't install Gold plugin on sparc64
* Disable LLVM testsuite on x32
* Install liborc_rt-x86_64.a on x32
* Install hwasan_symbolize on x32
[ Norbert Lange ]
* build lldb with Intel PT support on x86, amd64
[ Aurelien Jarno ]
* Enable lldb on riscv64.
[ Zixing Liu <zixing.liu@canonical.com> ]
* d/p/clang-record-gcc-switches-by-default.patch: add a patch to force clang
record gcc switches by default
[ Gianfranco Costamagna ]
* Rename check-libcxxabi in check-cxxabi.
* Rename check-libcxx in check-cxx
* Drop removed check-sanitizer (Closes: #1073201)
-- Sylvestre Ledru <sylvestre@debian.org> Mon, 01 Jul 2024 22:27:25 +0200
llvm-toolchain-18 (1:18.1.8-1) unstable; urgency=medium
* New upstream release
-- Sylvestre Ledru <sylvestre@debian.org> Fri, 21 Jun 2024 22:00:49 +0200
llvm-toolchain-18 (1:18.1.7-1) unstable; urgency=medium
* New upstream release
-- Sylvestre Ledru <sylvestre@debian.org> Fri, 14 Jun 2024 10:14:20 +0200
llvm-toolchain-18 (1:18.1.7~++20240605091817+7e6ece9b4f2d-1~exp1) UNRELEASED; urgency=medium
* experimental New snapshot release
-- Sylvestre Ledru <sylvestre@debian.org> Wed, 05 Jun 2024 09:18:34 +0200
llvm-toolchain-18 (1:18.1.6-1) unstable; urgency=medium
* New upstream release
* Don't install gold on mips64el armel loong64
* Unbreak autopkgtest
-- Sylvestre Ledru <sylvestre@debian.org> Sun, 19 May 2024 09:27:44 +0200
llvm-toolchain-18 (1:18.1.5-3) unstable; urgency=medium
* Do not try to install gold on riscv64 (Closes: #1070909)
Thanks to Aurelien Jarno for the fix
* Disable --as-needed on armel (Closes: #1070811)
-- Sylvestre Ledru <sylvestre@debian.org> Sun, 12 May 2024 09:03:09 +0200
llvm-toolchain-18 (1:18.1.5-2) unstable; urgency=medium
* Add oracular as supported release
-- Gianfranco Costamagna <locutusofborg@debian.org> Sat, 04 May 2024 07:32:59 +0200
llvm-toolchain-18 (1:18.1.5-1) unstable; urgency=medium
* New upstream release
* Be explicit with what ships in llvm-18-linker-tools
to make sure we always ships gold.
Will avoid issues like:
https://github.com/llvm/llvm-project/issues/87553
Might break the build on some Debian archs.
-- Sylvestre Ledru <sylvestre@debian.org> Fri, 03 May 2024 11:18:56 +0200
llvm-toolchain-18 (1:18.1.5~++20240430100627+f341c76b9461-1~exp1) UNRELEASED; urgency=medium
* experimental New snapshot release
-- Sylvestre Ledru <sylvestre@debian.org> Tue, 30 Apr 2024 10:06:39 +0200
llvm-toolchain-18 (1:18.1.4-1) unstable; urgency=medium
* New upstream release
-- Sylvestre Ledru <sylvestre@debian.org> Thu, 18 Apr 2024 11:45:22 +0200
llvm-toolchain-18 (1:18.1.3-1) unstable; urgency=medium
* New upstream release
* Only install mold when used
but disabled for now because of https://github.com/rui314/mold/issues/1224
-- Sylvestre Ledru <sylvestre@debian.org> Thu, 04 Apr 2024 07:57:13 +0200
llvm-toolchain-18 (1:18.1.2-1) unstable; urgency=medium
[ Matthias Klose ]
* Build-depend on llvm-spirv-18 instead of llvm-spirv-17.
* Add a stage1 profile to disable curl, grpc and spirv.
* Build with --as-needed.
[ Sylvestre Ledru ]
* New upstream release
* Build using mold as a linker
-- Sylvestre Ledru <sylvestre@debian.org> Fri, 22 Mar 2024 21:24:08 +0100
llvm-toolchain-18 (1:18.1.1-1) unstable; urgency=medium
[ Matthias Klose ]
* Fix sanitizer build on 32bit time_t64 architectures.
* Enable compiler-rt runtime again for 32bit time_t64 architectures.
* Revert: mark profile and xray include files as optional on armel and armhf.
[ Sylvestre Ledru ]
* Disable libc on bionic for apt.llvm.org
* Try to address a link issue with libclang-cpp.so.18 (GH: #83986)
-- Sylvestre Ledru <sylvestre@debian.org> Fri, 08 Mar 2024 20:27:05 +0100
llvm-toolchain-18 (1:18.1.0-2) unstable; urgency=medium
* Uncomment wrong removal of rm code from last upload.
- this should fix the current FTBFS
-- Gianfranco Costamagna <locutusofborg@debian.org> Wed, 06 Mar 2024 21:49:10 +0100
llvm-toolchain-18 (1:18.1.0-1) unstable; urgency=medium
* New stable release
* Add a test to verify C++ modules tests
-- Sylvestre Ledru <sylvestre@debian.org> Wed, 06 Mar 2024 11:29:56 +0100
llvm-toolchain-18 (1:18.1.0~rc4-2) unstable; urgency=medium
[ Sylvestre Ledru ]
* Disable libllvmlibc-18-dev on armhf (Closes: #1065503)
* Adjust some symlinks with the rc4 changes
[ Matthias Klose ]
* Make libclang-common-18-dev architecture dependent, mark profile and xray
include files as optional on armel and armhf.
[ Gianfranco Costamagna ]
* Simplify rules file now that time64_t is default.
* Use mxgot on mips64el
* Disable tests on mips64el, they do timeout
-- Sylvestre Ledru <sylvestre@debian.org> Wed, 06 Mar 2024 09:21:57 +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)
-- 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
-- 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 previus 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 versionning starts from 18.1
See https://discourse.llvm.org/t/rfc-name-the-first-release-from-a-branch-n-1-0-instead-of-n-0-0/75384
* refresh libomp5 symbol list
* For the usage of -DLIBCXXABI_USE_LLVM_UNWINDER=OFF when we don't build unwind
https://github.com/llvm/llvm-project/issues/77846
* remove the unconditionnaly defined -DLIBUNWIND_USE_COMPILER_RT=ON
* 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-12) unstable; urgency=medium
@ -168,35 +639,6 @@ llvm-toolchain-17 (1:17.0.5-1) unstable; urgency=medium
-- Sylvestre Ledru <sylvestre@debian.org> Tue, 14 Nov 2023 11:27:22 +0100
llvm-toolchain-17 (1:17.0.4-1) unstable; urgency=medium
[ Matthias Klose ]
* Limit the number of parallel processes based on the available memory
and the packages to be built (flang has some memory hogs).
[ Sylvestre Ledru ]
* New supstream release
* Upload to unstable
-- Sylvestre Ledru <sylvestre@debian.org> Tue, 31 Oct 2023 11:39:22 +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.
[ Sylvestre Ledru ]
* New upstream release
-- Sylvestre Ledru <sylvestre@debian.org> Tue, 17 Oct 2023 08:44:01 +0200
llvm-toolchain-17 (1:17.0.2-1~exp1) experimental; urgency=medium
* New upstream release

View File

@ -62,7 +62,7 @@ usr/lib/llvm-@LLVM_VERSION@/libexec/intercept-c++
usr/lib/llvm-@LLVM_VERSION@/libexec/intercept-cc
# See compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake / HWASAN_SUPPORTED_ARCH
[amd64 arm64 riscv64] usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION@/bin/hwasan_symbolize
[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/

304
debian/control vendored
View File

@ -1,4 +1,4 @@
Source: llvm-toolchain-17
Source: llvm-toolchain-18
Section: devel
Priority: optional
Rules-Requires-Root: no
@ -13,46 +13,48 @@ Build-Depends: debhelper (>= 10.0), cmake, ninja-build,
binutils-dev,
libxml2-dev,
libjsoncpp-dev, pkg-config,
libipt-dev [amd64 i386],
lcov, procps, help2man,
zlib1g-dev, libzstd-dev,
g++-multilib [amd64 i386 kfreebsd-amd64 mips64 mips64el mipsel powerpc ppc64 s390 s390x sparc sparc64 x32],
libjs-mathjax, python3-recommonmark,
g++-multilib [amd64 i386 kfreebsd-amd64 mips64 mips64el mipsel powerpc ppc64 sparc sparc64 x32],
libjs-mathjax, python3-myst-parser | python3-recommonmark,
doxygen,
ocaml-base [amd64 arm64 armhf ppc64el riscv64 s390x] | ocaml-nox [amd64 arm64 armhf ppc64el riscv64 s390x],
ocaml-findlib [amd64 arm64 armhf ppc64el riscv64 s390x],
libctypes-ocaml-dev [amd64 arm64 armhf ppc64el riscv64 s390x],
dh-exec, dh-ocaml [amd64 arm64 armhf ppc64el riscv64 s390x],
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,
# llvm-spirv-17 [amd64 arm64 armel armhf i386 mips64el ppc64 ppc64el riscv64 s390x] <!stage1> | hello [!i386],
llvm-spirv-17 [amd64 arm64 armhf i386 ppc64 ppc64el riscv64 s390x] <!stage1> | hello,
spirv-tools [linux-any] <!stage1> | hello [!i386],
# "| hello" is for older buster/bionic distros without spirv support
# We need to keep the constraints coherent between the two alternatives, otherwise
# hello would get installed unexpectedly and prevent e.g. wasi-libc from getting pulled
llvm-spirv-18 [amd64 arm64 armhf i386 ppc64el mips64el riscv64 s390x ppc64 hurd-i386 loong64 sparc64 x32] <!stage1> | hello [amd64 arm64 armhf i386 ppc64el mips64el riscv64 s390x ppc64 hurd-i386 loong64 sparc64 x32] <!stage1>,
spirv-tools [linux-any] <!stage1> | hello [linux-any],
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>,
# "| hello" is for older buster/bionic distros without spirv support
Build-Conflicts: oprofile
Standards-Version: 4.6.2
Homepage: https://www.llvm.org/
Vcs-Git: https://salsa.debian.org/pkg-llvm-team/llvm-toolchain.git -b 17
Vcs-Browser: https://salsa.debian.org/pkg-llvm-team/llvm-toolchain/tree/17
Vcs-Git: https://salsa.debian.org/pkg-llvm-team/llvm-toolchain.git -b 18
Vcs-Browser: https://salsa.debian.org/pkg-llvm-team/llvm-toolchain/tree/18
# ------------- clang -------------
Package: clang-17
Package: clang-18
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}, ${dep:devlibs},
${dep:devlibs-objc},
libllvm17 (= ${binary:Version}),
libclang-common-17-dev (= ${binary:Version}),
llvm-17-linker-tools (= ${binary:Version}),
libclang1-17 (= ${binary:Version}), libc6-dev, binutils
libllvm18 (= ${binary:Version}),
libclang-common-18-dev (= ${binary:Version}),
llvm-18-linker-tools (= ${binary:Version}),
libclang1-18 (= ${binary:Version}), libc6-dev, binutils
Provides: c-compiler, objc-compiler, c++-compiler
Recommends: llvm-17-dev, python3
# libomp-17-dev
Suggests: clang-17-doc, wasi-libc
Recommends: llvm-18-dev, python3
# libomp-18-dev
Suggests: clang-18-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
@ -61,9 +63,9 @@ Description: C, C++ and Objective-C compiler
Clang implements all of the ISO C++ 1998, 11, 14 and 17 standards and also
provides most of the support of C++20.
Package: clang-tools-17
Package: clang-tools-18
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}, clang-17 (= ${binary:Version}),
Depends: ${shlibs:Depends}, ${misc:Depends}, clang-18 (= ${binary:Version}),
python3
Description: clang-based tools for C/C++ developments
Clang project is a C, C++, Objective C and Objective C++ front-end
@ -75,10 +77,10 @@ Description: clang-based tools for C/C++ developments
.
This package contains some clang-based tools like scan-build, clang-cl, etc.
Package: clang-format-17
Package: clang-format-18
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}, python3,
libllvm17 (= ${binary:Version})
libllvm18 (= ${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
@ -91,23 +93,23 @@ Description: Tool to format C/C++/Obj-C code
.
This package also provides vim and emacs plugins.
Package: clang-tidy-17
Package: clang-tidy-18
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}, python3,
libllvm17 (= ${binary:Version}),
libclang-common-17-dev (= ${binary:Version}),
clang-tools-17, python3-yaml
libllvm18 (= ${binary:Version}),
libclang-common-18-dev (= ${binary:Version}),
clang-tools-18, 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-17
Package: clangd-18
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends},
libllvm17 (= ${binary:Version}),
libclang-common-17-dev (= ${binary:Version}),
libllvm18 (= ${binary:Version}),
libclang-common-18-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
@ -118,7 +120,7 @@ Description: Language server that provides IDE-like features to editors
clangd is a language server that implements the Language Server Protocol;
it can work with many editors through a plugin.
Package: clang-17-doc
Package: clang-18-doc
Architecture: all
Multi-Arch: foreign
Section: doc
@ -133,7 +135,8 @@ Description: C, C++ and Objective-C compiler - Documentation
.
This package contains the documentation.
Package: libclang1-17
Package: libclang1-18
Provides: ${t64:Provides}
Section: libs
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}
@ -154,12 +157,12 @@ Description: C interface to the Clang library
locations with elements within the AST, and other facilities that support
Clang-based development tools.
Package: libclang-17-dev
Package: libclang-18-dev
Architecture: any
Section: libdevel
Depends: ${shlibs:Depends}, ${misc:Depends}, ${dep:devlibs},
${dep:devlibs-objc}, libclang1-17 (= ${binary:Version}),
libclang-common-17-dev (= ${binary:Version})
${dep:devlibs-objc}, libclang1-18 (= ${binary:Version}),
libclang-common-18-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
@ -169,14 +172,14 @@ Description: Clang library - Development package
provides most of the support of C++20.
.
This package contains the Clang headers to develop extensions over
libclang1-17.
libclang1-18.
Package: libclang-common-17-dev
Package: libclang-common-18-dev
Architecture: any
Multi-Arch: same
Section: libdevel
Depends: ${shlibs:Depends}, ${misc:Depends},
Recommends: libclang-rt-17-dev (>= 1:16~++20230115053056+df5fc4504b86-1~exp1)
Recommends: libclang-rt-18-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
@ -189,7 +192,7 @@ Description: Clang library - Common development package
# ------------- compiler-rt -------------
Package: libclang-rt-17-dev
Package: libclang-rt-18-dev
Architecture: any
Multi-Arch: same
Section: libdevel
@ -205,7 +208,7 @@ Description: Compiler-rt - development package
DataFlowSanitizer, etc
* profile - Library which is used to collect coverage information.
Package: libclang-rt-17-dev-wasm32
Package: libclang-rt-18-dev-wasm32
Architecture: all
Multi-Arch: foreign
Section: libdevel
@ -213,7 +216,7 @@ Depends: ${shlibs:Depends}, ${misc:Depends}
Description: Compiler-rt - wasm32 builtins
Provides the compiler-rt builtins for WebAssembly 32 bits
Package: libclang-rt-17-dev-wasm64
Package: libclang-rt-18-dev-wasm64
Architecture: all
Multi-Arch: foreign
Section: libdevel
@ -223,7 +226,7 @@ Description: Compiler-rt - wasm64 builtins
# ------------- polly -------------
Package: libpolly-17-dev
Package: libpolly-18-dev
Architecture: any
Multi-Arch: same
Section: libdevel
@ -234,10 +237,11 @@ Description: High-level loop and data-locality optimizer
# ------------- clang libraries -------------
Package: libclang-cpp17
Package: libclang-cpp18
Provides: ${t64:Provides}
Section: libs
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm17 (= ${binary:Version})
Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm18 (= ${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
@ -255,12 +259,12 @@ Description: C++ interface to the Clang library
locations with elements within the AST, and other facilities that support
Clang-based development tools.
Package: libclang-cpp17-dev
Package: libclang-cpp18-dev
Architecture: any
Section: libdevel
Depends: ${shlibs:Depends}, ${misc:Depends}, ${dep:devlibs},
libclang-cpp17 (= ${binary:Version})
# Move of libclang-cpp.so into libclang-cpp17.dev
libclang-cpp18 (= ${binary:Version})
# Move of libclang-cpp.so into libclang-cpp18.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
@ -281,10 +285,10 @@ Description: C++ interface to the Clang library
linker at build time.
Package: libfuzzer-17-dev
Package: libfuzzer-18-dev
Architecture: linux-any
Section: libdevel
Depends: ${shlibs:Depends}, ${misc:Depends}, clang-17 (= ${binary:Version})
Depends: ${shlibs:Depends}, ${misc:Depends}, clang-18 (= ${binary:Version})
Description: Library for coverage-guided fuzz testing
LibFuzzer is a library for in-process, coverage-guided, evolutionary fuzzing
of other libraries.
@ -302,10 +306,10 @@ Description: Library for coverage-guided fuzz testing
instrumentation.
Package: python3-clang-17
Package: python3-clang-18
Section: python
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}, python3, libclang-17-dev
Depends: ${shlibs:Depends}, ${misc:Depends}, python3, libclang-18-dev
Replaces: python-clang-x.y,
Conflicts: python-clang-x.y
Provides: python-clang-x.y
@ -319,7 +323,7 @@ Description: Clang Python Bindings
.
This binding package provides access to the Clang compiler and libraries.
Package: clang-17-examples
Package: clang-18-examples
Architecture: all
Multi-Arch: foreign
Section: doc
@ -336,12 +340,15 @@ Description: Clang examples
# ------------- LLVM -------------
Package: libllvm17
Package: libllvm18
Provides: ${t64:Provides}
Architecture: any
Section: libs
Depends: ${shlibs:Depends}, ${misc:Depends}
Pre-Depends: ${misc:Pre-Depends}
Multi-Arch: same
Breaks: llvm-18-dev (<< 1:18.1.8-8)
Replaces: llvm-18-dev (<< 1:18.1.8-8)
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
@ -349,7 +356,7 @@ Description: Modular compiler and toolchain technologies, runtime library
.
This package contains the LLVM runtime library.
Package: llvm-17-linker-tools
Package: llvm-18-linker-tools
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}
Description: Modular compiler and toolchain technologies - Plugins
@ -359,13 +366,13 @@ Description: Modular compiler and toolchain technologies - Plugins
.
This package contains the LLVMgold and LLVMPolly linker plugins.
Package: llvm-17
Package: llvm-18
Architecture: any
Suggests: llvm-17-doc
Depends: llvm-17-runtime (= ${binary:Version}),
llvm-17-linker-tools (= ${binary:Version}),
Suggests: llvm-18-doc
Depends: llvm-18-runtime (= ${binary:Version}),
llvm-18-linker-tools (= ${binary:Version}),
${shlibs:Depends}, ${misc:Depends}
Recommends: llvm-17-dev
Recommends: llvm-18-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
@ -389,7 +396,7 @@ Description: Modular compiler and toolchain technologies
a young scheme front-end, and Java support is in development. LLVM can
generate code for X96, SparcV10, PowerPC or many other architectures.
Package: llvm-17-runtime
Package: llvm-18-runtime
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}
Recommends: binfmt-support | systemd
@ -409,12 +416,14 @@ Description: Modular compiler and toolchain technologies, IR interpreter
This package provides the minimal required to execute programs in LLVM
format.
Package: llvm-17-dev
Package: llvm-18-dev
Architecture: any
Depends: ${shlibs:Depends}, libffi-dev, ${misc:Depends},
llvm-17 (= ${binary:Version}), libllvm17 (= ${binary:Version}), libncurses-dev,
llvm-17-tools (= ${binary:Version}), libclang-cpp17 (= ${binary:Version}),
llvm-18 (= ${binary:Version}), libllvm18 (= ${binary:Version}), libncurses-dev,
llvm-18-tools (= ${binary:Version}), libclang-cpp18 (= ${binary:Version}),
libz3-dev, libxml2-dev
Breaks: libllvm18 (<< 1:18.1.8-9)
Replaces: libllvm18 (<< 1:18.1.8-9)
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
@ -431,7 +440,7 @@ Description: Modular compiler and toolchain technologies, libraries and headers
This package provides the libraries and headers to develop applications
using llvm.
Package: llvm-17-tools
Package: llvm-18-tools
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}, python3,
python3-pygments, python3-yaml,
@ -451,11 +460,11 @@ Description: Modular compiler and toolchain technologies, tools
.
This package provides tools for testing.
Package: libllvm-17-ocaml-dev
Package: libllvm-18-ocaml-dev
Section: ocaml
Architecture: amd64 arm64 armhf ppc64el s390x riscv64
Suggests: llvm-17-doc
Depends: ${shlibs:Depends}, ${misc:Depends}, ${ocaml:Depends}, llvm-17-dev (= ${binary:Version})
Architecture: amd64 arm64 ppc64el s390x riscv64
Suggests: llvm-18-doc
Depends: ${shlibs:Depends}, ${misc:Depends}, ${ocaml:Depends}, llvm-18-dev (= ${binary:Version})
Replaces: libllvm-x.y-ocaml-dev
Conflicts: libllvm-x.y-ocaml-dev
Provides: ${ocaml:Provides}, libllvm-x.y-ocaml-dev
@ -474,7 +483,7 @@ Description: Modular compiler and toolchain technologies, OCaml bindings
.
This package provides the OCaml bindings to develop applications using llvm.
Package: llvm-17-doc
Package: llvm-18-doc
Section: doc
Architecture: all
Multi-Arch: foreign
@ -494,10 +503,10 @@ Description: Modular compiler and toolchain technologies, documentation
.
This package contains all documentation (extensive).
Package: llvm-17-examples
Package: llvm-18-examples
Section: doc
Architecture: all
Depends: ${misc:Depends}, llvm-17-dev (>= ${source:Version}), llvm-17-dev (<< ${source:Version}+c~)
Depends: ${misc:Depends}, llvm-18-dev (>= ${source:Version}), llvm-18-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
@ -517,20 +526,20 @@ Description: Modular compiler and toolchain technologies, examples
# ------------- lld -------------
Package: lld-17
Package: lld-18
Architecture: amd64 arm64 armel armhf i386 mipsel mips64el ppc64el kfreebsd-amd64 kfreebsd-i386 s390 s390x sparc alpha hppa m68k powerpcspe ppc64 sh4 sparc64 x32 riscv64 loong64
# ia64 hurd powerpc have been removed
Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm17 (= ${binary:Version})
Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm18 (= ${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-17
Package: liblld-18
Architecture: amd64 arm64 armel armhf i386 mipsel mips64el ppc64el kfreebsd-amd64 kfreebsd-i386 s390 s390x sparc alpha hppa m68k powerpcspe ppc64 sh4 sparc64 x32 riscv64 loong64
# ia64 hurd powerpc have been removed
Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm17 (= ${binary:Version})
Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm18 (= ${binary:Version})
Pre-Depends: ${misc:Pre-Depends}
Section: libs
Description: LLVM-based linker, library
@ -540,12 +549,12 @@ Description: LLVM-based linker, library
.
This package contains the LLD runtime library.
Package: liblld-17-dev
Package: liblld-18-dev
Section: libdevel
Architecture: amd64 arm64 armel armhf i386 mipsel mips64el ppc64el kfreebsd-amd64 kfreebsd-i386 s390 s390x sparc alpha hppa m68k powerpcspe ppc64 sh4 sparc64 x32 riscv64 loong64
# ia64 hurd powerpc have been removed
Depends: ${shlibs:Depends}, ${misc:Depends}, lld-17 (= ${binary:Version}),
liblld-17 (= ${binary:Version}), libzstd-dev, zlib1g-dev
Depends: ${shlibs:Depends}, ${misc:Depends}, lld-18 (= ${binary:Version}),
liblld-18 (= ${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
@ -557,21 +566,22 @@ Description: LLVM-based linker, header files
# ------------- lldb -------------
Package: lldb-17
Architecture: amd64 arm64 armel armhf i386 ppc64el kfreebsd-amd64 kfreebsd-i386 s390 s390x sparc hppa m68k sh4 x32 loong64
# ia64 hurd powerpc powerpcspe ppc64 alpha riscv64 s390x sparc64 mipsel mips64el have been removed
Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm17 (= ${binary:Version}),
python3-lldb-17
Package: lldb-18
Architecture: amd64 arm64 armel armhf i386 ppc64el kfreebsd-amd64 kfreebsd-i386 s390 s390x sparc hppa m68k sh4 x32 loong64 riscv64
# ia64 hurd powerpc powerpcspe ppc64 alpha s390x sparc64 mipsel mips64el have been removed
Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm18 (= ${binary:Version}),
python3-lldb-18
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-17
Architecture: amd64 arm64 armel armhf i386 ppc64el kfreebsd-amd64 kfreebsd-i386 s390 s390x sparc hppa m68k sh4 x32 loong64
# ia64 hurd powerpc powerpcspe ppc64 alpha riscv64 s390x sparc64 mipsel mips64el have been removed
Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm17 (= ${binary:Version})
Package: liblldb-18
Provides: ${t64:Provides}
Architecture: amd64 arm64 armel armhf i386 ppc64el kfreebsd-amd64 kfreebsd-i386 s390 s390x sparc hppa m68k sh4 x32 loong64 riscv64
# ia64 hurd powerpc powerpcspe ppc64 alpha s390x sparc64 mipsel mips64el have been removed
Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm18 (= ${binary:Version})
Pre-Depends: ${misc:Pre-Depends}
Section: libs
Description: Next generation, high-performance debugger, library
@ -581,11 +591,11 @@ Description: Next generation, high-performance debugger, library
.
This package contains the LLDB runtime library.
Package: python3-lldb-17
Package: python3-lldb-18
Section: python
Architecture: amd64 arm64 armel armhf i386 ppc64el kfreebsd-amd64 kfreebsd-i386 s390 s390x sparc hppa m68k sh4 x32 loong64
# ia64 hurd powerpc powerpcspe ppc64 alpha riscv64 s390x sparc64 mipsel mips64el have been removed
Depends: ${shlibs:Depends}, ${misc:Depends}, ${python3:Depends}, liblldb-17 (= ${binary:Version})
Architecture: amd64 arm64 armel armhf i386 ppc64el kfreebsd-amd64 kfreebsd-i386 s390 s390x sparc hppa m68k sh4 x32 loong64 riscv64
# ia64 hurd powerpc powerpcspe ppc64 alpha s390x sparc64 mipsel mips64el have been removed
Depends: ${shlibs:Depends}, ${misc:Depends}, ${python3:Depends}, liblldb-18 (= ${binary:Version})
Conflicts: python3-lldb-x.y
Replaces: python3-lldb-x.y
Provides: python3-lldb-x.y
@ -597,11 +607,11 @@ Description: Next generation, high-performance debugger, python3 lib
.
This binding package provides access to lldb.
Package: liblldb-17-dev
Package: liblldb-18-dev
Section: libdevel
Architecture: amd64 arm64 armel armhf i386 ppc64el kfreebsd-amd64 kfreebsd-i386 s390 s390x sparc hppa m68k sh4 x32 loong64
# ia64 hurd powerpc powerpcspe ppc64 alpha riscv64 s390x sparc64 mipsel mips64el have been removed
Depends: ${shlibs:Depends}, ${misc:Depends}, lldb-17 (= ${binary:Version})
Architecture: amd64 arm64 armel armhf i386 ppc64el kfreebsd-amd64 kfreebsd-i386 s390 s390x sparc hppa m68k sh4 x32 loong64 riscv64
# ia64 hurd powerpc powerpcspe ppc64 alpha s390x sparc64 mipsel mips64el have been removed
Depends: ${shlibs:Depends}, ${misc:Depends}, lldb-18 (= ${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
@ -615,12 +625,12 @@ Description: Next generation, high-performance debugger, header files
# 44 because it was the first version in which openmp & libc++ have been
# managed in llvm-defaults
Package: libomp-17-dev
Package: libomp-18-dev
Section: libdevel
Architecture: amd64 arm64 armhf i386 loong64 mips64el ppc64el ppc64 riscv64
Depends: libomp5-17 (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends}
Suggests: libomp-17-doc
Breaks: libiomp-dev (<< 3.7-1), libomp-dev (<< 44)
Depends: libomp5-18 (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends}
Suggests: libomp-18-doc
Breaks: libiomp-dev (<< 3.7-1)
Provides: libomp-x.y-dev
Conflicts: libomp-x.y-dev
Replaces: libomp-x.y-dev
@ -629,12 +639,11 @@ Description: LLVM OpenMP runtime - dev package
linked against, and that manages the multiple threads in an OpenMP program
while it is executing.
Package: libomp5-17
Package: libomp5-18
Multi-Arch: same
Architecture: amd64 arm64 armhf i386 loong64 mips64el ppc64el ppc64 riscv64
Depends: ${shlibs:Depends}, ${misc:Depends}
Breaks: libomp5 (<< 44)
Provides: libomp-x.y
Provides: ${t64:Provides}, libomp-x.y
Conflicts: libomp-x.y
Replaces: libomp-x.y
Description: LLVM OpenMP runtime
@ -642,7 +651,7 @@ Description: LLVM OpenMP runtime
linked against, and that manages the multiple threads in an OpenMP program
while it is executing.
Package: libomp-17-doc
Package: libomp-18-doc
Section: doc
Architecture: all
Multi-Arch: foreign
@ -658,15 +667,14 @@ Description: LLVM OpenMP runtime - Documentation
# ------------- libcxx -------------
Package: libc++1-17
Package: libc++1-18
Section: libs
Architecture: any
Multi-Arch: same
Pre-Depends: ${misc:Pre-Depends}
Depends: ${shlibs:Depends}, ${misc:Depends}
Suggests: clang
Breaks: libc++1 (<< 44)
Provides: libc++-x.y
Provides: ${t64:Provides}, libc++-x.y
Conflicts: libc++-x.y
Replaces: libc++-x.y
Description: LLVM C++ Standard library
@ -682,17 +690,16 @@ Description: LLVM C++ Standard library
as exception objects, rtti and memory allocation.
* Extensive unit tests.
Package: libc++-17-dev
Package: libc++-18-dev
Section: libdevel
Architecture: any
Multi-Arch: same
Depends: libc++1-17 (= ${binary:Version}), ${misc:Depends},
libc++abi-17-dev (= ${binary:Version}),
libunwind-17-dev [amd64 arm64 armhf i386 loong64 ppc64el ppc64 riscv64]
Breaks: libc++-dev (<< 44), libc++abi-17-dev (<< 1:17.0.6-2)
Depends: libc++1-18 (= ${binary:Version}), ${misc:Depends},
libc++abi-18-dev (= ${binary:Version}),
libunwind-18-dev [amd64 arm64 armhf i386 loong64 ppc64el ppc64 riscv64]
Provides: libc++-x.y-dev
Conflicts: libc++-x.y-dev
Replaces: libc++-x.y-dev, libc++abi-17-dev (<< 1:17.0.6-2)
Replaces: libc++-x.y-dev
Description: LLVM C++ Standard library (development files)
libc++ is another implementation of the C++ standard library
.
@ -706,11 +713,11 @@ Description: LLVM C++ Standard library (development files)
as exception objects, rtti and memory allocation.
* Extensive unit tests.
Package: libc++-17-dev-wasm32
Package: libc++-18-dev-wasm32
Section: libdevel
Architecture: all
Multi-Arch: foreign
Depends: wasi-libc, libc++abi-17-dev-wasm32, ${misc:Depends}
Depends: wasi-libc, libc++abi-18-dev-wasm32, ${misc:Depends}
Provides: libc++-x.y-dev-wasm32
Conflicts: libc++-x.y-dev-wasm32
Replaces: libc++-x.y-dev-wasm32
@ -731,14 +738,13 @@ Description: LLVM C++ Standard library (WASI)
# ------------- libcxxabi -------------
Package: libc++abi1-17
Package: libc++abi1-18
Section: libs
Architecture: any
Multi-Arch: same
Pre-Depends: ${misc:Pre-Depends}
Depends: ${shlibs:Depends}, ${misc:Depends}
Breaks: libc++abi1 (<< 44)
Provides: libc++abi-x.y
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
@ -750,11 +756,11 @@ Description: LLVM low level support for a standard C++ library
* Correctness as defined by the C++ standards.
* Provide a portable sublayer to ease the porting of libc++
Package: libc++abi-17-dev
Package: libc++abi-18-dev
Section: libdevel
Architecture: any
Multi-Arch: same
Depends: libc++abi1-17 (= ${binary:Version}), ${misc:Depends}
Depends: libc++abi1-18 (= ${binary:Version}), ${misc:Depends}
Breaks: libc++abi-dev (<= 44)
Provides: libc++abi-x.y-dev
Conflicts: libc++abi-x.y-dev
@ -768,7 +774,7 @@ Description: LLVM low level support for a standard C++ library (development file
* Correctness as defined by the C++ standards.
* Provide a portable sublayer to ease the porting of libc++
Package: libc++abi-17-dev-wasm32
Package: libc++abi-18-dev-wasm32
Section: libdevel
Architecture: all
Multi-Arch: foreign
@ -789,14 +795,14 @@ Description: LLVM low level support for a standard C++ library (WASI)
# ------------- libclc -------------
Package: libclc-17
Package: libclc-18
Section: libs
Architecture: all
Multi-Arch: foreign
Depends:
${misc:Depends},
libclc-17-dev (= ${binary:Version}),
libclang-common-17-dev,
libclc-18-dev (= ${binary:Version}),
libclang-common-18-dev,
Breaks: libclc-amdgcn, libclc-ptx, libclc-r600
Provides: libclc-x.y
Conflicts: libclc-x.y
@ -808,7 +814,7 @@ Description: OpenCL C language implementation - platform support
This package contains support for the amdgcn (AMD GPU), PTX and r600
platforms.
Package: libclc-17-dev
Package: libclc-18-dev
Section: libdevel
Architecture: all
Multi-Arch: foreign
@ -826,13 +832,13 @@ Description: OpenCL C language implementation - development files
# ------------- libunwind -------------
Package: libunwind-17
Package: libunwind-18
Section: libs
Architecture: amd64 arm64 armhf i386 loong64 ppc64el ppc64 riscv64
Multi-Arch: same
Depends: ${shlibs:Depends},
${misc:Depends}
Provides: libunwind-x.y
Provides: ${t64:Provides}, libunwind-x.y
Conflicts: libunwind-x.y
Replaces: libunwind-x.y
Description: production-quality unwinder
@ -843,13 +849,13 @@ Description: production-quality unwinder
or to operate on another process (aka remote), but only the local path has
been implemented. Remote unwinding remains as future work.
Package: libunwind-17-dev
Package: libunwind-18-dev
Section: libdevel
Architecture: amd64 arm64 armhf i386 loong64 ppc64el ppc64 riscv64
Multi-Arch: same
Depends:
${misc:Depends},
libunwind-17 (= ${binary:Version})
libunwind-18 (= ${binary:Version})
Provides: libunwind-dev, libunwind-x.y-dev
Conflicts: libunwind-dev, libunwind-x.y-dev
Replaces: libunwind-dev, libunwind-x.y-dev
@ -863,7 +869,7 @@ Description: production-quality unwinder
# ------------- mlir -------------
Package: mlir-17-tools
Package: mlir-18-tools
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}
Description: Multi-Level Intermediate Representation tools
@ -874,13 +880,13 @@ Description: Multi-Level Intermediate Representation tools
.
This package provides tools.
Package: libmlir-17
Package: libmlir-18
Section: libs
Architecture: any
Multi-Arch: same
Depends: ${shlibs:Depends},
${misc:Depends}
Provides: libmlir-x.y
Provides: ${t64:Provides}, libmlir-x.y
Conflicts: libmlir-x.y
Replaces: libmlir-x.y
Description: Multi-Level Intermediate Representation library
@ -890,13 +896,13 @@ Description: Multi-Level Intermediate Representation library
specific compilers, and aid in connecting existing compilers together.
Package: libmlir-17-dev
Package: libmlir-18-dev
Section: libdevel
Architecture: any
Multi-Arch: same
Depends:
${misc:Depends},
libmlir-17 (= ${binary:Version})
libmlir-18 (= ${binary:Version})
Breaks: libmlir-dev
Provides: libmlir-x.y-dev
Conflicts: libmlir-x.y-dev
@ -910,19 +916,17 @@ Description: Multi-Level Intermediate Representation library
# ------------- bolt -------------
Package: bolt-17
Architecture: amd64
# Disable on arm64 because libbolt_rt_hugify.a isn't generated
Depends: ${shlibs:Depends}, ${misc:Depends}, libbolt-17-dev (= ${binary:Version}),
Package: bolt-18
Architecture: amd64 arm64
Depends: ${shlibs:Depends}, ${misc:Depends}, libbolt-18-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-17-dev
Package: libbolt-18-dev
Section: libdevel
Architecture: amd64
#arm64
Architecture: amd64 arm64
Depends: ${shlibs:Depends}, ${misc:Depends}
Description: Post-link optimizer
It achieves the improvements by optimizing application's code layout based on
@ -930,11 +934,11 @@ Description: Post-link optimizer
# ------------- flang -------------
Package: flang-17
Package: flang-18
# no 32bit support
# https://github.com/llvm/llvm-project/issues/59845
Architecture: amd64 arm64 mips64el ppc64el kfreebsd-amd64 ppc64 sparc64 riscv64 loong64
Depends: ${shlibs:Depends}, ${misc:Depends}, ${dep:devlibs}, libflang-17-dev (= ${binary:Version}),
Depends: ${shlibs:Depends}, ${misc:Depends}, ${dep:devlibs}, libflang-18-dev (= ${binary:Version}),
Provides: fortran-compiler, gfortran-mod-15
Description: Fortran compiler
Ground-up implementation of a Fortran front end written in
@ -943,7 +947,7 @@ Description: Fortran compiler
While it is capable of generating executables for a number
of examples, some functionalities are still missing.
Package: libflang-17-dev
Package: libflang-18-dev
Architecture: amd64 arm64 mips64el ppc64el kfreebsd-amd64 ppc64 sparc64 riscv64 loong64
Section: libdevel
Depends: ${shlibs:Depends}, ${misc:Depends}, ${dep:devlibs},
@ -955,3 +959,13 @@ Description: Flang library - Development package
of examples, some functionalities are still missing.
.
This package contains the flang libraries and headers.
# ------------- LLVM libc -------------
Package: libllvmlibc-18-dev
Section: libdevel
Architecture: amd64 arm64
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.

84
debian/control.in vendored
View File

@ -13,26 +13,28 @@ Build-Depends: debhelper (>= 10.0), cmake, ninja-build,
binutils-dev,
libxml2-dev,
libjsoncpp-dev, pkg-config,
libipt-dev [amd64 i386],
lcov, procps, help2man,
zlib1g-dev, libzstd-dev,
g++-multilib [amd64 i386 kfreebsd-amd64 mips64 mips64el mipsel powerpc ppc64 s390 s390x sparc sparc64 x32],
libjs-mathjax, python3-recommonmark,
g++-multilib [amd64 i386 kfreebsd-amd64 mips64 mips64el mipsel powerpc ppc64 sparc sparc64 x32],
libjs-mathjax, python3-myst-parser | python3-recommonmark,
doxygen,
ocaml-base [amd64 arm64 armhf ppc64el riscv64 s390x] | ocaml-nox [amd64 arm64 armhf ppc64el riscv64 s390x],
ocaml-findlib [amd64 arm64 armhf ppc64el riscv64 s390x],
libctypes-ocaml-dev [amd64 arm64 armhf ppc64el riscv64 s390x],
dh-exec, dh-ocaml [amd64 arm64 armhf ppc64el riscv64 s390x],
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,
# llvm-spirv-17 [amd64 arm64 armel armhf i386 mips64el ppc64 ppc64el riscv64 s390x] <!stage1> | hello [!i386],
llvm-spirv-17 [amd64 arm64 armhf i386 ppc64 ppc64el riscv64 s390x] <!stage1> | hello,
spirv-tools [linux-any] <!stage1> | hello [!i386],
# "| hello" is for older buster/bionic distros without spirv support
# We need to keep the constraints coherent between the two alternatives, otherwise
# hello would get installed unexpectedly and prevent e.g. wasi-libc from getting pulled
llvm-spirv-18 [amd64 arm64 armhf i386 ppc64el mips64el riscv64 s390x ppc64 hurd-i386 loong64 sparc64 x32] <!stage1> | hello [amd64 arm64 armhf i386 ppc64el mips64el riscv64 s390x ppc64 hurd-i386 loong64 sparc64 x32] <!stage1>,
spirv-tools [linux-any] <!stage1> | hello [linux-any],
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>,
# "| hello" is for older buster/bionic distros without spirv support
Build-Conflicts: oprofile
Standards-Version: 4.6.2
Homepage: https://www.llvm.org/
@ -134,6 +136,7 @@ Description: C, C++ and Objective-C compiler - Documentation
This package contains the documentation.
Package: libclang1-@LLVM_VERSION@
Provides: ${t64:Provides}
Section: libs
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}
@ -176,7 +179,7 @@ Architecture: any
Multi-Arch: same
Section: libdevel
Depends: ${shlibs:Depends}, ${misc:Depends},
Recommends: libclang-rt-@LLVM_VERSION@-dev (>= 1:16~++20230115053056+df5fc4504b86-1~exp1)
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
@ -235,6 +238,7 @@ Description: High-level loop and data-locality optimizer
# ------------- clang libraries -------------
Package: libclang-cpp@LLVM_VERSION@
Provides: ${t64:Provides}
Section: libs
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm@LLVM_VERSION@ (= ${binary:Version})
@ -337,11 +341,14 @@ Description: 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:18.1.8-8)
Replaces: llvm-@LLVM_VERSION@-dev (<< 1:18.1.8-8)
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
@ -415,6 +422,8 @@ Depends: ${shlibs:Depends}, libffi-dev, ${misc:Depends},
llvm-@LLVM_VERSION@ (= ${binary:Version}), libllvm@LLVM_VERSION@ (= ${binary:Version}), libncurses-dev,
llvm-@LLVM_VERSION@-tools (= ${binary:Version}), libclang-cpp@LLVM_VERSION@ (= ${binary:Version}),
libz3-dev, libxml2-dev
Breaks: libllvm@LLVM_VERSION@ (<< 1:18.1.8-9)
Replaces: libllvm@LLVM_VERSION@ (<< 1:18.1.8-9)
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
@ -453,7 +462,7 @@ Description: Modular compiler and toolchain technologies, tools
Package: libllvm-@LLVM_VERSION@-ocaml-dev
Section: ocaml
Architecture: amd64 arm64 armhf ppc64el s390x riscv64
Architecture: amd64 arm64 ppc64el s390x riscv64
Suggests: llvm-@LLVM_VERSION@-doc
Depends: ${shlibs:Depends}, ${misc:Depends}, ${ocaml:Depends}, llvm-@LLVM_VERSION@-dev (= ${binary:Version})
Replaces: libllvm-x.y-ocaml-dev
@ -558,8 +567,8 @@ Description: LLVM-based linker, header files
# ------------- lldb -------------
Package: lldb-@LLVM_VERSION@
Architecture: amd64 arm64 armel armhf i386 ppc64el kfreebsd-amd64 kfreebsd-i386 s390 s390x sparc hppa m68k sh4 x32 loong64
# ia64 hurd powerpc powerpcspe ppc64 alpha riscv64 s390x sparc64 mipsel mips64el have been removed
Architecture: amd64 arm64 armel armhf i386 ppc64el kfreebsd-amd64 kfreebsd-i386 s390 s390x sparc hppa m68k sh4 x32 loong64 riscv64
# ia64 hurd powerpc powerpcspe ppc64 alpha s390x sparc64 mipsel mips64el have been removed
Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm@LLVM_VERSION@ (= ${binary:Version}),
python3-lldb-@LLVM_VERSION@
Pre-Depends: ${misc:Pre-Depends}
@ -569,8 +578,9 @@ Description: Next generation, high-performance debugger
Project, such as the Clang expression parser and LLVM disassembler.
Package: liblldb-@LLVM_VERSION@
Architecture: amd64 arm64 armel armhf i386 ppc64el kfreebsd-amd64 kfreebsd-i386 s390 s390x sparc hppa m68k sh4 x32 loong64
# ia64 hurd powerpc powerpcspe ppc64 alpha riscv64 s390x sparc64 mipsel mips64el have been removed
Provides: ${t64:Provides}
Architecture: amd64 arm64 armel armhf i386 ppc64el kfreebsd-amd64 kfreebsd-i386 s390 s390x sparc hppa m68k sh4 x32 loong64 riscv64
# ia64 hurd powerpc powerpcspe ppc64 alpha s390x sparc64 mipsel mips64el have been removed
Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm@LLVM_VERSION@ (= ${binary:Version})
Pre-Depends: ${misc:Pre-Depends}
Section: libs
@ -583,8 +593,8 @@ Description: Next generation, high-performance debugger, library
Package: python3-lldb-@LLVM_VERSION@
Section: python
Architecture: amd64 arm64 armel armhf i386 ppc64el kfreebsd-amd64 kfreebsd-i386 s390 s390x sparc hppa m68k sh4 x32 loong64
# ia64 hurd powerpc powerpcspe ppc64 alpha riscv64 s390x sparc64 mipsel mips64el have been removed
Architecture: amd64 arm64 armel armhf i386 ppc64el kfreebsd-amd64 kfreebsd-i386 s390 s390x sparc hppa m68k sh4 x32 loong64 riscv64
# ia64 hurd powerpc powerpcspe ppc64 alpha s390x sparc64 mipsel mips64el have been removed
Depends: ${shlibs:Depends}, ${misc:Depends}, ${python3:Depends}, liblldb-@LLVM_VERSION@ (= ${binary:Version})
Conflicts: python3-lldb-x.y
Replaces: python3-lldb-x.y
@ -599,8 +609,8 @@ Description: Next generation, high-performance debugger, python3 lib
Package: liblldb-@LLVM_VERSION@-dev
Section: libdevel
Architecture: amd64 arm64 armel armhf i386 ppc64el kfreebsd-amd64 kfreebsd-i386 s390 s390x sparc hppa m68k sh4 x32 loong64
# ia64 hurd powerpc powerpcspe ppc64 alpha riscv64 s390x sparc64 mipsel mips64el have been removed
Architecture: amd64 arm64 armel armhf i386 ppc64el kfreebsd-amd64 kfreebsd-i386 s390 s390x sparc hppa m68k sh4 x32 loong64 riscv64
# ia64 hurd powerpc powerpcspe ppc64 alpha s390x sparc64 mipsel mips64el have been removed
Depends: ${shlibs:Depends}, ${misc:Depends}, lldb-@LLVM_VERSION@ (= ${binary:Version})
Pre-Depends: ${misc:Pre-Depends}
Description: Next generation, high-performance debugger, header files
@ -620,7 +630,7 @@ Section: libdevel
Architecture: amd64 arm64 armhf i386 loong64 mips64el ppc64el ppc64 riscv64
Depends: libomp5-@LLVM_VERSION@ (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends}
Suggests: libomp-@LLVM_VERSION@-doc
Breaks: libiomp-dev (<< 3.7-1), libomp-dev (<< 44)
Breaks: libiomp-dev (<< 3.7-1)
Provides: libomp-x.y-dev
Conflicts: libomp-x.y-dev
Replaces: libomp-x.y-dev
@ -633,8 +643,7 @@ Package: libomp5-@LLVM_VERSION@
Multi-Arch: same
Architecture: amd64 arm64 armhf i386 loong64 mips64el ppc64el ppc64 riscv64
Depends: ${shlibs:Depends}, ${misc:Depends}
Breaks: libomp5 (<< 44)
Provides: libomp-x.y
Provides: ${t64:Provides}, libomp-x.y
Conflicts: libomp-x.y
Replaces: libomp-x.y
Description: LLVM OpenMP runtime
@ -665,8 +674,7 @@ Multi-Arch: same
Pre-Depends: ${misc:Pre-Depends}
Depends: ${shlibs:Depends}, ${misc:Depends}
Suggests: clang
Breaks: libc++1 (<< 44)
Provides: libc++-x.y
Provides: ${t64:Provides}, libc++-x.y
Conflicts: libc++-x.y
Replaces: libc++-x.y
Description: LLVM C++ Standard library
@ -689,10 +697,9 @@ 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]
Breaks: libc++-dev (<< 44), libc++abi-@LLVM_VERSION@-dev (<< 1:17.0.6-2)
Provides: libc++-x.y-dev
Conflicts: libc++-x.y-dev
Replaces: libc++-x.y-dev, libc++abi-@LLVM_VERSION@-dev (<< 1:17.0.6-2)
Replaces: libc++-x.y-dev
Description: LLVM C++ Standard library (development files)
libc++ is another implementation of the C++ standard library
.
@ -737,8 +744,7 @@ Architecture: any
Multi-Arch: same
Pre-Depends: ${misc:Pre-Depends}
Depends: ${shlibs:Depends}, ${misc:Depends}
Breaks: libc++abi1 (<< 44)
Provides: libc++abi-x.y
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
@ -832,7 +838,7 @@ Architecture: amd64 arm64 armhf i386 loong64 ppc64el ppc64 riscv64
Multi-Arch: same
Depends: ${shlibs:Depends},
${misc:Depends}
Provides: libunwind-x.y
Provides: ${t64:Provides}, libunwind-x.y
Conflicts: libunwind-x.y
Replaces: libunwind-x.y
Description: production-quality unwinder
@ -880,7 +886,7 @@ Architecture: any
Multi-Arch: same
Depends: ${shlibs:Depends},
${misc:Depends}
Provides: libmlir-x.y
Provides: ${t64:Provides}, libmlir-x.y
Conflicts: libmlir-x.y
Replaces: libmlir-x.y
Description: Multi-Level Intermediate Representation library
@ -911,8 +917,7 @@ Description: Multi-Level Intermediate Representation library
# ------------- bolt -------------
Package: bolt-@LLVM_VERSION@
Architecture: amd64
# Disable on arm64 because libbolt_rt_hugify.a isn't generated
Architecture: amd64 arm64
Depends: ${shlibs:Depends}, ${misc:Depends}, libbolt-@LLVM_VERSION@-dev (= ${binary:Version}),
Pre-Depends: ${misc:Pre-Depends}
Description: Post-link optimizer
@ -921,8 +926,7 @@ Description: Post-link optimizer
Package: libbolt-@LLVM_VERSION@-dev
Section: libdevel
Architecture: amd64
#arm64
Architecture: amd64 arm64
Depends: ${shlibs:Depends}, ${misc:Depends}
Description: Post-link optimizer
It achieves the improvements by optimizing application's code layout based on
@ -955,3 +959,13 @@ Description: Flang library - Development package
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
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.

View File

@ -1,4 +1,4 @@
#!/usr/bin/dh-exec
[amd64] /usr/lib/llvm-@LLVM_VERSION@/lib/libbolt_rt_hugify.a
[amd64] /usr/lib/llvm-@LLVM_VERSION@/lib/libbolt_rt_instr.a
[amd64 arm64] /usr/lib/llvm-@LLVM_VERSION@/lib/libbolt_rt_hugify.a
[amd64 arm64] /usr/lib/llvm-@LLVM_VERSION@/lib/libbolt_rt_instr.a

View File

@ -3,3 +3,9 @@ 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

View File

@ -1,2 +1,4 @@
usr/lib/llvm-@LLVM_VERSION@/lib/libc++.so.1.0 /usr/lib/@DEB_HOST_MULTIARCH@/libc++.so.1.0
# when LLVM_ENABLE_PER_TARGET_RUNTIME_DIR=ON:
#usr/lib/llvm-@LLVM_VERSION@/lib/@DEB_HOST_MULTIARCH_LLVM@/libc++.so.1.0 /usr/lib/@DEB_HOST_MULTIARCH@/libc++.so.1.0
/usr/lib/@DEB_HOST_MULTIARCH@/libc++.so.1.0 /usr/lib/@DEB_HOST_MULTIARCH@/libc++.so.1

View File

@ -1,2 +1,4 @@
usr/lib/llvm-@LLVM_VERSION@/lib/libc++abi.so.1.0 /usr/lib/@DEB_HOST_MULTIARCH@/libc++abi.so.1.0
# when LLVM_ENABLE_PER_TARGET_RUNTIME_DIR=ON:
usr/lib/llvm-@LLVM_VERSION@/lib/@DEB_HOST_MULTIARCH_LLVM@/libc++abi.so.1.0 /usr/lib/@DEB_HOST_MULTIARCH@/libc++abi.so.1.0
/usr/lib/@DEB_HOST_MULTIARCH@/libc++abi.so.1.0 /usr/lib/@DEB_HOST_MULTIARCH@/libc++abi.so.1

View File

@ -1,3 +1,5 @@
#!/usr/bin/dh-exec
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/

View File

@ -1 +1 @@
usr/lib/llvm-@LLVM_VERSION@/lib/libclang-cpp.so.@LLVM_VERSION@
usr/lib/llvm-@LLVM_VERSION@/lib/libclang-cpp.so.@LLVM_VERSION@.1

View File

@ -1 +1,2 @@
usr/lib/llvm-@LLVM_VERSION@/lib/libclang-cpp.so.@LLVM_VERSION@ /usr/lib/@DEB_HOST_MULTIARCH@/libclang-cpp.so.@LLVM_VERSION@
usr/lib/llvm-@LLVM_VERSION@/lib/libclang-cpp.so.@LLVM_VERSION@.1 /usr/lib/@DEB_HOST_MULTIARCH@/libclang-cpp.so.@LLVM_VERSION@
usr/lib/llvm-@LLVM_VERSION@/lib/libclang-cpp.so.@LLVM_VERSION@.1 /usr/lib/@DEB_HOST_MULTIARCH@/libclang-cpp.so.@LLVM_VERSION@.1

View File

@ -2,9 +2,9 @@
usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION@*/share/*.txt
usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION@*/include/sanitizer/
[!sparc !sparc64] usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION@*/lib/*/*clang_rt*
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] usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION@*/lib/linux/liborc_rt*
[amd64 arm64 armhf armel i386 ppc64 ppc64el x32] usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION@*/lib/*/liborc_rt*

View File

@ -2,4 +2,3 @@
usr/lib/@DEB_HOST_MULTIARCH@/libclang-@LLVM_VERSION@.so.@LLVM_VERSION@ usr/lib/@DEB_HOST_MULTIARCH@/libclang-@LLVM_VERSION@.so.1
usr/lib/@DEB_HOST_MULTIARCH@/libclang-@LLVM_VERSION@.so.@LLVM_VERSION@ usr/lib/llvm-@LLVM_VERSION@/lib/libclang-@LLVM_VERSION@.so.@LLVM_VERSION@
usr/lib/@DEB_HOST_MULTIARCH@/libclang-@LLVM_VERSION@.so.@LLVM_VERSION@ usr/lib/llvm-@LLVM_VERSION@/lib/libclang-@LLVM_VERSION@.so.1
usr/lib/llvm-@LLVM_VERSION@/lib/libclang-@LLVM_VERSION@.so.@LLVM_VERSION@ usr/lib/llvm-@LLVM_VERSION@/lib/libclang.so.1

View File

@ -1,7 +1,7 @@
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
LLVM_13@LLVM_13 1:18
LLVM_16@LLVM_16 1:18
LLVM_17@LLVM_17 1:18
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~

View File

@ -1 +1,2 @@
usr/lib/llvm-@LLVM_VERSION@/lib/libLLVM-@LLVM_VERSION@.so.1 /usr/lib/@DEB_HOST_MULTIARCH@/
usr/lib/@DEB_HOST_MULTIARCH@/libLLVM-@LLVM_VERSION@.so.1
usr/lib/@DEB_HOST_MULTIARCH@/libLLVM-@LLVM_VERSION@.so.@LLVM_VERSION@.1

View File

@ -1,4 +1,8 @@
# Should be uncommented for @LLVM_VERSION@.1 and other
# usr/lib/llvm-@LLVM_VERSION@/lib/libLLVM-@LLVM_VERSION@.so.1 /usr/lib/@DEB_HOST_MULTIARCH@/libLLVM-@LLVM_VERSION@.so.1
usr/lib/@DEB_HOST_MULTIARCH@/libLLVM-@LLVM_VERSION@.so.1 /usr/lib/@DEB_HOST_MULTIARCH@/libLLVM-@LLVM_VERSION@.so
usr/lib/@DEB_HOST_MULTIARCH@/libLLVM-@LLVM_VERSION@.so.1 /usr/lib/@DEB_HOST_MULTIARCH@/libLLVM-@LLVM_VERSION_FULL@.so.1
usr/lib/@DEB_HOST_MULTIARCH@/libLLVM-@LLVM_VERSION@.so.1 /usr/lib/@DEB_HOST_MULTIARCH@/libLLVM.so.@LLVM_VERSION@.1
# Should be in llvm-X.Y-dev but as it has been this way for a long time...
usr/lib/@DEB_HOST_MULTIARCH@/libLLVM-@LLVM_VERSION@.so.1 /usr/lib/@DEB_HOST_MULTIARCH@/libLLVM-@LLVM_VERSION@.so

1
debian/libllvmlibc-X.Y-dev.install.in vendored Normal file
View File

@ -0,0 +1 @@
usr/lib/llvm-@LLVM_VERSION@/lib/libllvmlibc.a

View File

@ -1,4 +1,4 @@
#!/usr/bin/dh-exec
usr/lib/llvm-@LLVM_VERSION@/lib/libomp*.so.5
[amd64 arm64 mips64el ppc64el ppc64 riscv64 loong64] usr/lib/llvm-@LLVM_VERSION@/lib/libomptarget*.so.@LLVM_VERSION@
[amd64 arm64 mips64el ppc64el ppc64 riscv64 loong64] usr/lib/llvm-@LLVM_VERSION@/lib/libomptarget*.so.@LLVM_VERSION@.1

View File

@ -1,11 +1,11 @@
libomp.so.5 libomp5-@LLVM_VERSION@ #MINVER#
GOMP_1.0@GOMP_1.0 0.20131209
GOMP_2.0@GOMP_2.0 0.20131209
GOMP_3.0@GOMP_3.0 0.20131209
GOMP_4.0@GOMP_4.0 0.20131209
GOMP_4.5@GOMP_4.5 7
GOMP_5.0.1@GOMP_5.0.1 14
GOMP_5.0@GOMP_5.0 11
GOMP_1.0@GOMP_1.0 18
GOMP_2.0@GOMP_2.0 18
GOMP_3.0@GOMP_3.0 18
GOMP_4.0@GOMP_4.0 18
GOMP_4.5@GOMP_4.5 18
GOMP_5.0.1@GOMP_5.0.1 18
GOMP_5.0@GOMP_5.0 18
GOMP_alloc@GOMP_5.0.1 14
GOMP_alloc@VERSION 14
GOMP_atomic_end@GOMP_1.0 0.20131209
@ -262,14 +262,14 @@ libomp.so.5 libomp5-@LLVM_VERSION@ #MINVER#
GOMP_teams_reg@VERSION 12
GOMP_workshare_task_reduction_unregister@GOMP_5.0 13
GOMP_workshare_task_reduction_unregister@VERSION 13
OMP_1.0@OMP_1.0 0.20131209
OMP_2.0@OMP_2.0 0.20131209
OMP_3.0@OMP_3.0 0.20131209
OMP_3.1@OMP_3.1 0.20131209
OMP_4.0@OMP_4.0 0.20131209
OMP_4.5@OMP_4.5 7
OMP_5.0@OMP_5.0 13
VERSION@VERSION 0.20130412
OMP_1.0@OMP_1.0 18
OMP_2.0@OMP_2.0 18
OMP_3.0@OMP_3.0 18
OMP_3.1@OMP_3.1 18
OMP_4.0@OMP_4.0 18
OMP_4.5@OMP_4.5 18
OMP_5.0@OMP_5.0 18
VERSION@VERSION 18
___kmp_allocate@VERSION 0.20130412
___kmp_free@VERSION 0.20130412
__kmp_acquire_drdpa_lock@VERSION 0.20130715
@ -327,21 +327,6 @@ libomp.so.5 libomp5-@LLVM_VERSION@ #MINVER#
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_cmplx10_sub_rev@VERSION 0.20130412
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_cmplx10_swp@VERSION 0.20130412
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_cmplx10_wr@VERSION 0.20130412
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_cmplx16_add@VERSION 0.20130412
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_cmplx16_add_cpt@VERSION 0.20130412
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_cmplx16_div@VERSION 0.20130412
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_cmplx16_div_cpt@VERSION 0.20130412
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_cmplx16_div_cpt_rev@VERSION 0.20130412
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_cmplx16_div_rev@VERSION 0.20130412
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_cmplx16_mul@VERSION 0.20130412
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_cmplx16_mul_cpt@VERSION 0.20130412
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_cmplx16_rd@VERSION 0.20130412
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_cmplx16_sub@VERSION 0.20130412
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_cmplx16_sub_cpt@VERSION 0.20130412
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_cmplx16_sub_cpt_rev@VERSION 0.20130412
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_cmplx16_sub_rev@VERSION 0.20130412
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_cmplx16_swp@VERSION 0.20130412
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_cmplx16_wr@VERSION 0.20130412
__kmpc_atomic_cmplx4_add@VERSION 0.20130412
__kmpc_atomic_cmplx4_add_cmplx8@VERSION 0.20130412
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_cmplx4_add_cpt@VERSION 0.20130412
@ -379,21 +364,15 @@ libomp.so.5 libomp5-@LLVM_VERSION@ #MINVER#
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_end@VERSION 0.20130412
(arch=!ppc64 !ppc64el)__kmpc_atomic_fixed1_add@VERSION 0.20130412
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed1_add_cpt@VERSION 0.20130412
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !loong64)__kmpc_atomic_fixed1_add_cpt_fp@VERSION 4.0
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf !loong64)__kmpc_atomic_fixed1_add_fp@VERSION 0.20130412
__kmpc_atomic_fixed1_andb@VERSION 0.20130412
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed1_andb_cpt@VERSION 0.20130412
__kmpc_atomic_fixed1_andl@VERSION 0.20130412
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed1_andl_cpt@VERSION 0.20130412
__kmpc_atomic_fixed1_div@VERSION 0.20130412
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed1_div_cpt@VERSION 0.20130412
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed1_div_cpt_fp@VERSION 4.0
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_fixed1_div_cpt_rev@VERSION 0.20130412
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed1_div_cpt_rev_fp@VERSION 4.0
__kmpc_atomic_fixed1_div_float8@VERSION 0.20130412
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_fixed1_div_fp@VERSION 0.20130412
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_fixed1_div_rev@VERSION 0.20130412
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed1_div_rev_fp@VERSION 4.0
__kmpc_atomic_fixed1_eqv@VERSION 0.20130412
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed1_eqv_cpt@VERSION 0.20130412
__kmpc_atomic_fixed1_max@VERSION 0.20130412
@ -402,9 +381,7 @@ libomp.so.5 libomp5-@LLVM_VERSION@ #MINVER#
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed1_min_cpt@VERSION 0.20130412
__kmpc_atomic_fixed1_mul@VERSION 0.20130412
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed1_mul_cpt@VERSION 0.20130412
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !loong64)__kmpc_atomic_fixed1_mul_cpt_fp@VERSION 4.0
__kmpc_atomic_fixed1_mul_float8@VERSION 0.20130412
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf !loong64)__kmpc_atomic_fixed1_mul_fp@VERSION 0.20130412
__kmpc_atomic_fixed1_neqv@VERSION 0.20130412
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed1_neqv_cpt@VERSION 0.20130412
__kmpc_atomic_fixed1_orb@VERSION 0.20130412
@ -422,53 +399,31 @@ libomp.so.5 libomp5-@LLVM_VERSION@ #MINVER#
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_fixed1_shr_rev@VERSION 0.20130412
__kmpc_atomic_fixed1_sub@VERSION 0.20130412
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed1_sub_cpt@VERSION 0.20130412
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed1_sub_cpt_fp@VERSION 4.0
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_fixed1_sub_cpt_rev@VERSION 0.20130412
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed1_sub_cpt_rev_fp@VERSION 4.0
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_fixed1_sub_fp@VERSION 0.20130412
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_fixed1_sub_rev@VERSION 0.20130412
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed1_sub_rev_fp@VERSION 4.0
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_fixed1_swp@VERSION 0.20130412
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed1_wr@VERSION 0.20130412
__kmpc_atomic_fixed1_xor@VERSION 0.20130412
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed1_xor_cpt@VERSION 0.20130412
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !loong64)__kmpc_atomic_fixed1u_add_cpt_fp@VERSION 4.0
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !armel !armhf !loong64)__kmpc_atomic_fixed1u_add_fp@VERSION 4.0
__kmpc_atomic_fixed1u_div@VERSION 0.20130412
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed1u_div_cpt@VERSION 0.20130412
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed1u_div_cpt_fp@VERSION 4.0
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_fixed1u_div_cpt_rev@VERSION 0.20130412
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed1u_div_cpt_rev_fp@VERSION 4.0
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_fixed1u_div_fp@VERSION 0.20130412
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_fixed1u_div_rev@VERSION 0.20130412
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed1u_div_rev_fp@VERSION 4.0
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed1u_mul_cpt_fp@VERSION 4.0
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !armel !armhf)__kmpc_atomic_fixed1u_mul_fp@VERSION 4.0
__kmpc_atomic_fixed1u_shr@VERSION 0.20130412
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed1u_shr_cpt@VERSION 0.20130412
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_fixed1u_shr_cpt_rev@VERSION 0.20130412
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_fixed1u_shr_rev@VERSION 0.20130412
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed1u_sub_cpt_fp@VERSION 4.0
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed1u_sub_cpt_rev_fp@VERSION 4.0
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !armel !armhf)__kmpc_atomic_fixed1u_sub_fp@VERSION 4.0
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !armel !armhf !arm64)__kmpc_atomic_fixed1u_sub_rev_fp@VERSION 5.0
__kmpc_atomic_fixed2_add@VERSION 0.20130412
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed2_add_cpt@VERSION 0.20130412
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !loong64)__kmpc_atomic_fixed2_add_cpt_fp@VERSION 4.0
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf !loong64)__kmpc_atomic_fixed2_add_fp@VERSION 0.20130412
__kmpc_atomic_fixed2_andb@VERSION 0.20130412
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed2_andb_cpt@VERSION 0.20130412
__kmpc_atomic_fixed2_andl@VERSION 0.20130412
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed2_andl_cpt@VERSION 0.20130412
__kmpc_atomic_fixed2_div@VERSION 0.20130412
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed2_div_cpt@VERSION 0.20130412
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed2_div_cpt_fp@VERSION 4.0
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_fixed2_div_cpt_rev@VERSION 0.20130412
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed2_div_cpt_rev_fp@VERSION 4.0
__kmpc_atomic_fixed2_div_float8@VERSION 0.20130412
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_fixed2_div_fp@VERSION 0.20130412
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_fixed2_div_rev@VERSION 0.20130412
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed2_div_rev_fp@VERSION 4.0
__kmpc_atomic_fixed2_eqv@VERSION 0.20130412
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed2_eqv_cpt@VERSION 0.20130412
__kmpc_atomic_fixed2_max@VERSION 0.20130412
@ -477,9 +432,7 @@ libomp.so.5 libomp5-@LLVM_VERSION@ #MINVER#
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed2_min_cpt@VERSION 0.20130412
__kmpc_atomic_fixed2_mul@VERSION 0.20130412
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed2_mul_cpt@VERSION 0.20130412
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !loong64)__kmpc_atomic_fixed2_mul_cpt_fp@VERSION 4.0
__kmpc_atomic_fixed2_mul_float8@VERSION 0.20130412
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf !loong64)__kmpc_atomic_fixed2_mul_fp@VERSION 0.20130412
__kmpc_atomic_fixed2_neqv@VERSION 0.20130412
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed2_neqv_cpt@VERSION 0.20130412
__kmpc_atomic_fixed2_orb@VERSION 0.20130412
@ -497,53 +450,31 @@ libomp.so.5 libomp5-@LLVM_VERSION@ #MINVER#
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_fixed2_shr_rev@VERSION 0.20130412
__kmpc_atomic_fixed2_sub@VERSION 0.20130412
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed2_sub_cpt@VERSION 0.20130412
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed2_sub_cpt_fp@VERSION 4.0
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_fixed2_sub_cpt_rev@VERSION 0.20130412
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed2_sub_cpt_rev_fp@VERSION 4.0
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_fixed2_sub_fp@VERSION 0.20130412
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_fixed2_sub_rev@VERSION 0.20130412
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed2_sub_rev_fp@VERSION 4.0
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_fixed2_swp@VERSION 0.20130412
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed2_wr@VERSION 0.20130412
__kmpc_atomic_fixed2_xor@VERSION 0.20130412
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed2_xor_cpt@VERSION 0.20130412
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !loong64)__kmpc_atomic_fixed2u_add_cpt_fp@VERSION 4.0
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !armel !armhf !loong64)__kmpc_atomic_fixed2u_add_fp@VERSION 4.0
__kmpc_atomic_fixed2u_div@VERSION 0.20130412
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed2u_div_cpt@VERSION 0.20130412
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed2u_div_cpt_fp@VERSION 4.0
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_fixed2u_div_cpt_rev@VERSION 0.20130412
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed2u_div_cpt_rev_fp@VERSION 4.0
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_fixed2u_div_fp@VERSION 0.20130412
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_fixed2u_div_rev@VERSION 0.20130412
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed2u_div_rev_fp@VERSION 4.0
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed2u_mul_cpt_fp@VERSION 4.0
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !armel !armhf)__kmpc_atomic_fixed2u_mul_fp@VERSION 4.0
__kmpc_atomic_fixed2u_shr@VERSION 0.20130412
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed2u_shr_cpt@VERSION 0.20130412
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_fixed2u_shr_cpt_rev@VERSION 0.20130412
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_fixed2u_shr_rev@VERSION 0.20130412
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed2u_sub_cpt_fp@VERSION 4.0
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed2u_sub_cpt_rev_fp@VERSION 4.0
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !armel !armhf)__kmpc_atomic_fixed2u_sub_fp@VERSION 4.0
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !armel !armhf !arm64)__kmpc_atomic_fixed2u_sub_rev_fp@VERSION 5.0
__kmpc_atomic_fixed4_add@VERSION 0.20130412
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed4_add_cpt@VERSION 0.20130412
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !loong64)__kmpc_atomic_fixed4_add_cpt_fp@VERSION 4.0
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf !loong64)__kmpc_atomic_fixed4_add_fp@VERSION 0.20130412
__kmpc_atomic_fixed4_andb@VERSION 0.20130412
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed4_andb_cpt@VERSION 0.20130412
__kmpc_atomic_fixed4_andl@VERSION 0.20130412
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed4_andl_cpt@VERSION 0.20130412
__kmpc_atomic_fixed4_div@VERSION 0.20130412
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed4_div_cpt@VERSION 0.20130412
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed4_div_cpt_fp@VERSION 4.0
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_fixed4_div_cpt_rev@VERSION 0.20130412
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed4_div_cpt_rev_fp@VERSION 4.0
__kmpc_atomic_fixed4_div_float8@VERSION 0.20130412
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_fixed4_div_fp@VERSION 0.20130412
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_fixed4_div_rev@VERSION 0.20130412
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed4_div_rev_fp@VERSION 4.0
__kmpc_atomic_fixed4_eqv@VERSION 0.20130412
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed4_eqv_cpt@VERSION 0.20130412
__kmpc_atomic_fixed4_max@VERSION 0.20130412
@ -552,9 +483,7 @@ libomp.so.5 libomp5-@LLVM_VERSION@ #MINVER#
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed4_min_cpt@VERSION 0.20130412
__kmpc_atomic_fixed4_mul@VERSION 0.20130412
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed4_mul_cpt@VERSION 0.20130412
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !loong64)__kmpc_atomic_fixed4_mul_cpt_fp@VERSION 4.0
__kmpc_atomic_fixed4_mul_float8@VERSION 0.20130412
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf !loong64)__kmpc_atomic_fixed4_mul_fp@VERSION 0.20130412
__kmpc_atomic_fixed4_neqv@VERSION 0.20130412
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed4_neqv_cpt@VERSION 0.20130412
__kmpc_atomic_fixed4_orb@VERSION 0.20130412
@ -572,53 +501,31 @@ libomp.so.5 libomp5-@LLVM_VERSION@ #MINVER#
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_fixed4_shr_rev@VERSION 0.20130412
__kmpc_atomic_fixed4_sub@VERSION 0.20130412
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed4_sub_cpt@VERSION 0.20130412
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed4_sub_cpt_fp@VERSION 4.0
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_fixed4_sub_cpt_rev@VERSION 0.20130412
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed4_sub_cpt_rev_fp@VERSION 4.0
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_fixed4_sub_fp@VERSION 0.20130412
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_fixed4_sub_rev@VERSION 0.20130412
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed4_sub_rev_fp@VERSION 4.0
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_fixed4_swp@VERSION 0.20130412
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed4_wr@VERSION 0.20130412
__kmpc_atomic_fixed4_xor@VERSION 0.20130412
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed4_xor_cpt@VERSION 0.20130412
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !loong64)__kmpc_atomic_fixed4u_add_cpt_fp@VERSION 4.0
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !armel !armhf !loong64)__kmpc_atomic_fixed4u_add_fp@VERSION 4.0
(arch=!ppc64 !ppc64el)__kmpc_atomic_fixed4u_div@VERSION 0.20130412
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed4u_div_cpt@VERSION 0.20130412
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed4u_div_cpt_fp@VERSION 4.0
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_fixed4u_div_cpt_rev@VERSION 0.20130412
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed4u_div_cpt_rev_fp@VERSION 4.0
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_fixed4u_div_fp@VERSION 0.20130412
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_fixed4u_div_rev@VERSION 0.20130412
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed4u_div_rev_fp@VERSION 4.0
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed4u_mul_cpt_fp@VERSION 4.0
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !armel !armhf)__kmpc_atomic_fixed4u_mul_fp@VERSION 4.0
__kmpc_atomic_fixed4u_shr@VERSION 0.20130412
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed4u_shr_cpt@VERSION 0.20130412
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_fixed4u_shr_cpt_rev@VERSION 0.20130412
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_fixed4u_shr_rev@VERSION 0.20130412
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed4u_sub_cpt_fp@VERSION 4.0
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed4u_sub_cpt_rev_fp@VERSION 4.0
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !armel !armhf)__kmpc_atomic_fixed4u_sub_fp@VERSION 4.0
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !armel !armhf !arm64)__kmpc_atomic_fixed4u_sub_rev_fp@VERSION 5.0
(arch=!ppc64 !ppc64el)__kmpc_atomic_fixed8_add@VERSION 0.20130412
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed8_add_cpt@VERSION 0.20130412
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !loong64)__kmpc_atomic_fixed8_add_cpt_fp@VERSION 4.0
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf !loong64)__kmpc_atomic_fixed8_add_fp@VERSION 0.20130412
__kmpc_atomic_fixed8_andb@VERSION 0.20130412
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed8_andb_cpt@VERSION 0.20130412
__kmpc_atomic_fixed8_andl@VERSION 0.20130412
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed8_andl_cpt@VERSION 0.20130412
__kmpc_atomic_fixed8_div@VERSION 0.20130412
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed8_div_cpt@VERSION 0.20130412
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed8_div_cpt_fp@VERSION 4.0
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_fixed8_div_cpt_rev@VERSION 0.20130412
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed8_div_cpt_rev_fp@VERSION 4.0
__kmpc_atomic_fixed8_div_float8@VERSION 0.20130412
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_fixed8_div_fp@VERSION 0.20130412
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_fixed8_div_rev@VERSION 0.20130412
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed8_div_rev_fp@VERSION 4.0
__kmpc_atomic_fixed8_eqv@VERSION 0.20130412
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed8_eqv_cpt@VERSION 0.20130412
__kmpc_atomic_fixed8_max@VERSION 0.20130412
@ -627,9 +534,7 @@ libomp.so.5 libomp5-@LLVM_VERSION@ #MINVER#
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed8_min_cpt@VERSION 0.20130412
__kmpc_atomic_fixed8_mul@VERSION 0.20130412
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed8_mul_cpt@VERSION 0.20130412
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !loong64)__kmpc_atomic_fixed8_mul_cpt_fp@VERSION 4.0
__kmpc_atomic_fixed8_mul_float8@VERSION 0.20130412
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf !loong64)__kmpc_atomic_fixed8_mul_fp@VERSION 0.20130412
__kmpc_atomic_fixed8_neqv@VERSION 0.20130412
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed8_neqv_cpt@VERSION 0.20130412
__kmpc_atomic_fixed8_orb@VERSION 0.20130412
@ -647,150 +552,79 @@ libomp.so.5 libomp5-@LLVM_VERSION@ #MINVER#
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_fixed8_shr_rev@VERSION 0.20130412
__kmpc_atomic_fixed8_sub@VERSION 0.20130412
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed8_sub_cpt@VERSION 0.20130412
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed8_sub_cpt_fp@VERSION 4.0
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_fixed8_sub_cpt_rev@VERSION 0.20130412
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed8_sub_cpt_rev_fp@VERSION 4.0
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_fixed8_sub_fp@VERSION 0.20130412
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_fixed8_sub_rev@VERSION 0.20130412
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed8_sub_rev_fp@VERSION 4.0
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_fixed8_swp@VERSION 0.20130412
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed8_wr@VERSION 0.20130412
__kmpc_atomic_fixed8_xor@VERSION 0.20130412
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed8_xor_cpt@VERSION 0.20130412
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !loong64)__kmpc_atomic_fixed8u_add_cpt_fp@VERSION 4.0
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !armel !armhf !loong64)__kmpc_atomic_fixed8u_add_fp@VERSION 4.0
__kmpc_atomic_fixed8u_div@VERSION 0.20130412
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed8u_div_cpt@VERSION 0.20130412
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed8u_div_cpt_fp@VERSION 4.0
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_fixed8u_div_cpt_rev@VERSION 0.20130412
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed8u_div_cpt_rev_fp@VERSION 4.0
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_fixed8u_div_fp@VERSION 0.20130412
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_fixed8u_div_rev@VERSION 0.20130412
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed8u_div_rev_fp@VERSION 4.0
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed8u_mul_cpt_fp@VERSION 4.0
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !armel !armhf)__kmpc_atomic_fixed8u_mul_fp@VERSION 4.0
__kmpc_atomic_fixed8u_shr@VERSION 0.20130412
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_fixed8u_shr_cpt@VERSION 0.20130412
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_fixed8u_shr_cpt_rev@VERSION 0.20130412
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_fixed8u_shr_rev@VERSION 0.20130412
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed8u_sub_cpt_fp@VERSION 4.0
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_fixed8u_sub_cpt_rev_fp@VERSION 4.0
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !armel !armhf)__kmpc_atomic_fixed8u_sub_fp@VERSION 4.0
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !armel !armhf !arm64)__kmpc_atomic_fixed8u_sub_rev_fp@VERSION 5.0
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_float10_add@VERSION 0.20130412
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_float10_add_cpt@VERSION 0.20130412
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float10_add_cpt_fp@VERSION 4.0
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_float10_add_fp@VERSION 0.20130412
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_float10_div@VERSION 0.20130412
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_float10_div_cpt@VERSION 0.20130412
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float10_div_cpt_fp@VERSION 4.0
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_float10_div_cpt_rev@VERSION 0.20130412
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float10_div_cpt_rev_fp@VERSION 4.0
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_float10_div_fp@VERSION 0.20130412
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_float10_div_rev@VERSION 0.20130412
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float10_div_rev_fp@VERSION 4.0
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_float10_max@VERSION 14
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_float10_max_cpt@VERSION 14
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_float10_min@VERSION 14
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_float10_min_cpt@VERSION 14
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_float10_mul@VERSION 0.20130412
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_float10_mul_cpt@VERSION 0.20130412
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !loong64)__kmpc_atomic_float10_mul_cpt_fp@VERSION 4.0
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf !loong64)__kmpc_atomic_float10_mul_fp@VERSION 0.20130412
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_float10_rd@VERSION 0.20130412
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_float10_sub@VERSION 0.20130412
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_float10_sub_cpt@VERSION 0.20130412
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float10_sub_cpt_fp@VERSION 4.0
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_float10_sub_cpt_rev@VERSION 0.20130412
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float10_sub_cpt_rev_fp@VERSION 4.0
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_float10_sub_fp@VERSION 0.20130412
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_float10_sub_rev@VERSION 0.20130412
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float10_sub_rev_fp@VERSION 4.0
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_float10_swp@VERSION 0.20130412
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_float10_wr@VERSION 0.20130412
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf !loong64)__kmpc_atomic_float16_add@VERSION 0.20130412
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !loong64)__kmpc_atomic_float16_add_cpt@VERSION 0.20130412
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf !loong64)__kmpc_atomic_float16_div@VERSION 0.20130412
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !loong64)__kmpc_atomic_float16_div_cpt@VERSION 0.20130412
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !loong64)__kmpc_atomic_float16_div_cpt_rev@VERSION 0.20130412
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !loong64)__kmpc_atomic_float16_div_rev@VERSION 0.20130412
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf !loong64)__kmpc_atomic_float16_max@VERSION 0.20130412
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !loong64)__kmpc_atomic_float16_max_cpt@VERSION 0.20130412
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf !loong64)__kmpc_atomic_float16_min@VERSION 0.20130412
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !loong64)__kmpc_atomic_float16_min_cpt@VERSION 0.20130412
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf !loong64)__kmpc_atomic_float16_mul@VERSION 0.20130412
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !loong64)__kmpc_atomic_float16_mul_cpt@VERSION 0.20130412
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !loong64)__kmpc_atomic_float16_rd@VERSION 0.20130412
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf !loong64)__kmpc_atomic_float16_sub@VERSION 0.20130412
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !loong64)__kmpc_atomic_float16_sub_cpt@VERSION 0.20130412
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !loong64)__kmpc_atomic_float16_sub_cpt_rev@VERSION 0.20130412
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !loong64)__kmpc_atomic_float16_sub_rev@VERSION 0.20130412
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !loong64)__kmpc_atomic_float16_swp@VERSION 0.20130412
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !loong64)__kmpc_atomic_float16_wr@VERSION 0.20130412
__kmpc_atomic_float4_add@VERSION 0.20130412
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_float4_add_cpt@VERSION 0.20130412
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !loong64)__kmpc_atomic_float4_add_cpt_fp@VERSION 4.0
(arch=!ppc64 !ppc64el)__kmpc_atomic_float4_add_float8@VERSION 0.20130412
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf !loong64)__kmpc_atomic_float4_add_fp@VERSION 0.20130412
__kmpc_atomic_float4_div@VERSION 0.20130412
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_float4_div_cpt@VERSION 0.20130412
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float4_div_cpt_fp@VERSION 4.0
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_float4_div_cpt_rev@VERSION 0.20130412
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float4_div_cpt_rev_fp@VERSION 4.0
__kmpc_atomic_float4_div_float8@VERSION 0.20130412
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_float4_div_fp@VERSION 0.20130412
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_float4_div_rev@VERSION 0.20130412
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float4_div_rev_fp@VERSION 4.0
__kmpc_atomic_float4_max@VERSION 0.20130412
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_float4_max_cpt@VERSION 0.20130412
__kmpc_atomic_float4_min@VERSION 0.20130412
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_float4_min_cpt@VERSION 0.20130412
__kmpc_atomic_float4_mul@VERSION 0.20130412
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_float4_mul_cpt@VERSION 0.20130412
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !loong64)__kmpc_atomic_float4_mul_cpt_fp@VERSION 4.0
__kmpc_atomic_float4_mul_float8@VERSION 0.20130412
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf !loong64)__kmpc_atomic_float4_mul_fp@VERSION 0.20130412
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_float4_rd@VERSION 0.20130412
__kmpc_atomic_float4_sub@VERSION 0.20130412
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_float4_sub_cpt@VERSION 0.20130412
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float4_sub_cpt_fp@VERSION 4.0
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_float4_sub_cpt_rev@VERSION 0.20130412
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float4_sub_cpt_rev_fp@VERSION 4.0
__kmpc_atomic_float4_sub_float8@VERSION 0.20130412
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_float4_sub_fp@VERSION 0.20130412
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_float4_sub_rev@VERSION 0.20130412
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float4_sub_rev_fp@VERSION 4.0
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_float4_swp@VERSION 0.20130412
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_float4_wr@VERSION 0.20130412
__kmpc_atomic_float8_add@VERSION 0.20130412
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_float8_add_cpt@VERSION 0.20130412
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !loong64)__kmpc_atomic_float8_add_cpt_fp@VERSION 4.0
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf !loong64)__kmpc_atomic_float8_add_fp@VERSION 0.20130412
__kmpc_atomic_float8_div@VERSION 0.20130412
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_float8_div_cpt@VERSION 0.20130412
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float8_div_cpt_fp@VERSION 4.0
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_float8_div_cpt_rev@VERSION 0.20130412
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float8_div_cpt_rev_fp@VERSION 4.0
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_float8_div_fp@VERSION 0.20130412
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_float8_div_rev@VERSION 0.20130412
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float8_div_rev_fp@VERSION 4.0
__kmpc_atomic_float8_max@VERSION 0.20130412
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_float8_max_cpt@VERSION 0.20130412
__kmpc_atomic_float8_min@VERSION 0.20130412
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_float8_min_cpt@VERSION 0.20130412
__kmpc_atomic_float8_mul@VERSION 0.20130412
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_float8_mul_cpt@VERSION 0.20130412
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !loong64)__kmpc_atomic_float8_mul_cpt_fp@VERSION 4.0
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf !loong64)__kmpc_atomic_float8_mul_fp@VERSION 0.20130412
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_float8_rd@VERSION 0.20130412
__kmpc_atomic_float8_sub@VERSION 0.20130412
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_float8_sub_cpt@VERSION 0.20130412
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float8_sub_cpt_fp@VERSION 4.0
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_float8_sub_cpt_rev@VERSION 0.20130412
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float8_sub_cpt_rev_fp@VERSION 4.0
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !armel !armhf)__kmpc_atomic_float8_sub_fp@VERSION 0.20130412
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_float8_sub_rev@VERSION 0.20130412
#MISSING: 7# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf)__kmpc_atomic_float8_sub_rev_fp@VERSION 4.0
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64 !loong64)__kmpc_atomic_float8_swp@VERSION 0.20130412
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_float8_wr@VERSION 0.20130412
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !riscv64)__kmpc_atomic_start@VERSION 0.20130412
@ -919,8 +753,11 @@ libomp.so.5 libomp5-@LLVM_VERSION@ #MINVER#
__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
@ -1028,7 +865,6 @@ libomp.so.5 libomp5-@LLVM_VERSION@ #MINVER#
kmpc_set_stacksize@VERSION 0.20130412
kmpc_set_stacksize_s@VERSION 0.20130412
kmpc_unset_affinity_mask_proc@VERSION 0.20130412
#MISSING: 14# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !armel !armhf !loong64)libomp_start_tool@VERSION 14
omp_aligned_alloc@VERSION 14
omp_aligned_calloc@VERSION 14
omp_alloc@VERSION 8
@ -1306,7 +1142,6 @@ libomp.so.5 libomp5-@LLVM_VERSION@ #MINVER#
omp_set_schedule_@VERSION 0.20130412
omp_set_teams_thread_limit@VERSION 13
omp_set_teams_thread_limit_@VERSION 13
#MISSING: 8# (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !arm64 !armel !armhf !loong64)omp_state_info@VERSION 6.0
omp_test_lock@OMP_1.0 0.20131209
omp_test_lock@OMP_3.0 0.20131209
omp_test_lock@VERSION 0.20130412
@ -1345,182 +1180,190 @@ libomp.so.5 libomp5-@LLVM_VERSION@ #MINVER#
ompc_set_schedule@VERSION 0.20130412
ompt_libomp_connect@VERSION 17
(arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !armel !armhf)ompt_start_tool@VERSION 6.0
libomptarget.rtl.amdgpu.so.@LLVM_VERSION@ libomp5-@LLVM_VERSION@t64 #MINVER#
VERS1.0@VERS1.0 17
__tgt_rtl_create_event@VERS1.0 17
__tgt_rtl_data_alloc@VERS1.0 17
__tgt_rtl_data_delete@VERS1.0 17
__tgt_rtl_data_exchange@VERS1.0 17
__tgt_rtl_data_exchange_async@VERS1.0 17
__tgt_rtl_data_lock@VERS1.0 17
__tgt_rtl_data_notify_mapped@VERS1.0 17
__tgt_rtl_data_notify_unmapped@VERS1.0 17
__tgt_rtl_data_retrieve@VERS1.0 17
__tgt_rtl_data_retrieve_async@VERS1.0 17
__tgt_rtl_data_submit@VERS1.0 17
__tgt_rtl_data_submit_async@VERS1.0 17
__tgt_rtl_data_unlock@VERS1.0 17
__tgt_rtl_deinit_device@VERS1.0 17
__tgt_rtl_deinit_plugin@VERS1.0 17
__tgt_rtl_destroy_event@VERS1.0 17
__tgt_rtl_init_async_info@VERS1.0 17
__tgt_rtl_init_device@VERS1.0 17
__tgt_rtl_init_device_info@VERS1.0 17
__tgt_rtl_init_plugin@VERS1.0 17
__tgt_rtl_init_requires@VERS1.0 17
__tgt_rtl_is_data_exchangable@VERS1.0 17
__tgt_rtl_is_valid_binary@VERS1.0 17
__tgt_rtl_is_valid_binary_info@VERS1.0 17
__tgt_rtl_launch_kernel@VERS1.0 17
__tgt_rtl_load_binary@VERS1.0 17
__tgt_rtl_number_of_devices@VERS1.0 17
__tgt_rtl_print_device_info@VERS1.0 17
__tgt_rtl_query_async@VERS1.0 17
__tgt_rtl_record_event@VERS1.0 17
__tgt_rtl_set_info_flag@VERS1.0 17
__tgt_rtl_supports_empty_images@VERS1.0 17
__tgt_rtl_sync_event@VERS1.0 17
__tgt_rtl_synchronize@VERS1.0 17
__tgt_rtl_wait_event@VERS1.0 17
libomptarget.rtl.cuda.so.@LLVM_VERSION@ libomp5-@LLVM_VERSION@t64 #MINVER#
VERS1.0@VERS1.0 17
__tgt_rtl_create_event@VERS1.0 17
__tgt_rtl_data_alloc@VERS1.0 17
__tgt_rtl_data_delete@VERS1.0 17
__tgt_rtl_data_exchange@VERS1.0 17
__tgt_rtl_data_exchange_async@VERS1.0 17
__tgt_rtl_data_lock@VERS1.0 17
__tgt_rtl_data_notify_mapped@VERS1.0 17
__tgt_rtl_data_notify_unmapped@VERS1.0 17
__tgt_rtl_data_retrieve@VERS1.0 17
__tgt_rtl_data_retrieve_async@VERS1.0 17
__tgt_rtl_data_submit@VERS1.0 17
__tgt_rtl_data_submit_async@VERS1.0 17
__tgt_rtl_data_unlock@VERS1.0 17
__tgt_rtl_deinit_device@VERS1.0 17
__tgt_rtl_deinit_plugin@VERS1.0 17
__tgt_rtl_destroy_event@VERS1.0 17
__tgt_rtl_init_async_info@VERS1.0 17
__tgt_rtl_init_device@VERS1.0 17
__tgt_rtl_init_device_info@VERS1.0 17
__tgt_rtl_init_plugin@VERS1.0 17
__tgt_rtl_init_requires@VERS1.0 17
__tgt_rtl_is_data_exchangable@VERS1.0 17
__tgt_rtl_is_valid_binary@VERS1.0 17
__tgt_rtl_is_valid_binary_info@VERS1.0 17
__tgt_rtl_launch_kernel@VERS1.0 17
__tgt_rtl_load_binary@VERS1.0 17
__tgt_rtl_number_of_devices@VERS1.0 17
__tgt_rtl_print_device_info@VERS1.0 17
__tgt_rtl_query_async@VERS1.0 17
__tgt_rtl_record_event@VERS1.0 17
__tgt_rtl_set_info_flag@VERS1.0 17
__tgt_rtl_supports_empty_images@VERS1.0 17
__tgt_rtl_sync_event@VERS1.0 17
__tgt_rtl_synchronize@VERS1.0 17
__tgt_rtl_wait_event@VERS1.0 17
libomptarget.rtl.x86_64.so.@LLVM_VERSION@ libomp5-@LLVM_VERSION@t64 #MINVER#
VERS1.0@VERS1.0 17
__tgt_rtl_create_event@VERS1.0 1:17.0.1-1
__tgt_rtl_data_alloc@VERS1.0 17
__tgt_rtl_data_delete@VERS1.0 17
__tgt_rtl_data_exchange@VERS1.0 17
__tgt_rtl_data_exchange_async@VERS1.0 17
__tgt_rtl_data_lock@VERS1.0 17
__tgt_rtl_data_notify_mapped@VERS1.0 17
__tgt_rtl_data_notify_unmapped@VERS1.0 17
__tgt_rtl_data_retrieve@VERS1.0 17
__tgt_rtl_data_retrieve_async@VERS1.0 17
__tgt_rtl_data_submit@VERS1.0 17
__tgt_rtl_data_submit_async@VERS1.0 17
__tgt_rtl_data_unlock@VERS1.0 17
__tgt_rtl_deinit_device@VERS1.0 17
__tgt_rtl_deinit_plugin@VERS1.0 17
__tgt_rtl_destroy_event@VERS1.0 17
__tgt_rtl_init_async_info@VERS1.0 17
__tgt_rtl_init_device@VERS1.0 17
__tgt_rtl_init_device_info@VERS1.0 17
__tgt_rtl_init_plugin@VERS1.0 17
__tgt_rtl_init_requires@VERS1.0 17
__tgt_rtl_is_data_exchangable@VERS1.0 17
__tgt_rtl_is_valid_binary@VERS1.0 17
__tgt_rtl_is_valid_binary_info@VERS1.0 17
__tgt_rtl_launch_kernel@VERS1.0 17
__tgt_rtl_load_binary@VERS1.0 17
__tgt_rtl_number_of_devices@VERS1.0 17
__tgt_rtl_print_device_info@VERS1.0 17
__tgt_rtl_query_async@VERS1.0 17
__tgt_rtl_record_event@VERS1.0 17
__tgt_rtl_set_info_flag@VERS1.0 17
__tgt_rtl_supports_empty_images@VERS1.0 17
__tgt_rtl_sync_event@VERS1.0 17
__tgt_rtl_synchronize@VERS1.0 17
__tgt_rtl_wait_event@VERS1.0 17
libomptarget.so.@LLVM_VERSION@ libomp5-@LLVM_VERSION@t64 #MINVER#
VERS1.0@VERS1.0 17
__kmpc_push_target_tripcount@VERS1.0 17
__kmpc_push_target_tripcount_mapper@VERS1.0 17
__tgt_init_all_rtls@VERS1.0 17
__tgt_interop_destroy@VERS1.0 17
__tgt_interop_init@VERS1.0 17
__tgt_interop_use@VERS1.0 17
__tgt_mapper_num_components@VERS1.0 17
__tgt_print_device_info@VERS1.0 17
__tgt_push_mapper_component@VERS1.0 17
__tgt_register_lib@VERS1.0 17
__tgt_register_requires@VERS1.0 17
__tgt_set_info_flag@VERS1.0 17
__tgt_target@VERS1.0 17
__tgt_target_data_begin@VERS1.0 17
__tgt_target_data_begin_mapper@VERS1.0 17
__tgt_target_data_begin_nowait@VERS1.0 17
__tgt_target_data_begin_nowait_mapper@VERS1.0 17
__tgt_target_data_end@VERS1.0 17
__tgt_target_data_end_mapper@VERS1.0 17
__tgt_target_data_end_nowait@VERS1.0 17
__tgt_target_data_end_nowait_mapper@VERS1.0 17
__tgt_target_data_update@VERS1.0 17
__tgt_target_data_update_mapper@VERS1.0 17
__tgt_target_data_update_nowait@VERS1.0 17
__tgt_target_data_update_nowait_mapper@VERS1.0 17
__tgt_target_kernel@VERS1.0 17
__tgt_target_kernel_nowait@VERS1.0 17
__tgt_target_kernel_replay@VERS1.0 17
__tgt_target_mapper@VERS1.0 17
__tgt_target_nowait@VERS1.0 17
__tgt_target_nowait_mapper@VERS1.0 17
__tgt_target_nowait_query@VERS1.0 17
__tgt_target_teams@VERS1.0 17
__tgt_target_teams_mapper@VERS1.0 17
__tgt_target_teams_nowait@VERS1.0 17
__tgt_target_teams_nowait_mapper@VERS1.0 17
__tgt_unregister_lib@VERS1.0 17
llvm_omp_target_alloc_device@VERS1.0 17
llvm_omp_target_alloc_host@VERS1.0 17
llvm_omp_target_alloc_shared@VERS1.0 17
llvm_omp_target_dynamic_shared_alloc@VERS1.0 17
llvm_omp_target_free_device@VERS1.0 17
llvm_omp_target_free_host@VERS1.0 17
llvm_omp_target_free_shared@VERS1.0 17
llvm_omp_target_lock_mem@VERS1.0 17
llvm_omp_target_unlock_mem@VERS1.0 17
omp_get_device_num@VERS1.0 17
omp_get_initial_device@VERS1.0 17
omp_get_interop_int@VERS1.0 17
omp_get_interop_name@VERS1.0 17
omp_get_interop_ptr@VERS1.0 17
omp_get_interop_str@VERS1.0 17
omp_get_interop_type_desc@VERS1.0 17
omp_get_mapped_ptr@VERS1.0 17
omp_get_num_devices@VERS1.0 17
omp_target_alloc@VERS1.0 17
omp_target_associate_ptr@VERS1.0 17
omp_target_disassociate_ptr@VERS1.0 17
omp_target_free@VERS1.0 17
omp_target_is_present@VERS1.0 17
omp_target_memcpy@VERS1.0 17
omp_target_memcpy_async@VERS1.0 17
omp_target_memcpy_rect@VERS1.0 17
omp_target_memcpy_rect_async@VERS1.0 17
ompt_libomptarget_connect@VERS1.0 17
libomptarget.rtl.amdgpu.so.@LLVM_VERSION@.1 libomp5-@LLVM_VERSION@ #MINVER#
VERS1.0@VERS1.0 18
__tgt_rtl_create_event@VERS1.0 18
__tgt_rtl_data_alloc@VERS1.0 18
__tgt_rtl_data_delete@VERS1.0 18
__tgt_rtl_data_exchange@VERS1.0 18
__tgt_rtl_data_exchange_async@VERS1.0 18
__tgt_rtl_data_lock@VERS1.0 18
__tgt_rtl_data_notify_mapped@VERS1.0 18
__tgt_rtl_data_notify_unmapped@VERS1.0 18
__tgt_rtl_data_retrieve@VERS1.0 18
__tgt_rtl_data_retrieve_async@VERS1.0 18
__tgt_rtl_data_submit@VERS1.0 18
__tgt_rtl_data_submit_async@VERS1.0 18
__tgt_rtl_data_unlock@VERS1.0 18
__tgt_rtl_destroy_event@VERS1.0 18
__tgt_rtl_get_function@VERS1.0 18
__tgt_rtl_get_global@VERS1.0 18
__tgt_rtl_init_async_info@VERS1.0 18
__tgt_rtl_init_device@VERS1.0 18
__tgt_rtl_init_device_info@VERS1.0 18
__tgt_rtl_init_plugin@VERS1.0 18
__tgt_rtl_init_requires@VERS1.0 18
__tgt_rtl_initialize_record_replay@VERS1.0 18
__tgt_rtl_is_data_exchangable@VERS1.0 18
__tgt_rtl_is_valid_binary@VERS1.0 18
__tgt_rtl_launch_kernel@VERS1.0 18
__tgt_rtl_load_binary@VERS1.0 18
__tgt_rtl_number_of_devices@VERS1.0 18
__tgt_rtl_print_device_info@VERS1.0 18
__tgt_rtl_query_async@VERS1.0 18
__tgt_rtl_record_event@VERS1.0 18
__tgt_rtl_set_device_offset@VERS1.0 18
__tgt_rtl_set_info_flag@VERS1.0 18
__tgt_rtl_supports_empty_images@VERS1.0 18
__tgt_rtl_sync_event@VERS1.0 18
__tgt_rtl_synchronize@VERS1.0 18
__tgt_rtl_use_auto_zero_copy@VERS1.0 18
__tgt_rtl_wait_event@VERS1.0 18
libomptarget.rtl.cuda.so.@LLVM_VERSION@.1 libomp5-@LLVM_VERSION@ #MINVER#
VERS1.0@VERS1.0 18
__tgt_rtl_create_event@VERS1.0 18
__tgt_rtl_data_alloc@VERS1.0 18
__tgt_rtl_data_delete@VERS1.0 18
__tgt_rtl_data_exchange@VERS1.0 18
__tgt_rtl_data_exchange_async@VERS1.0 18
__tgt_rtl_data_lock@VERS1.0 18
__tgt_rtl_data_notify_mapped@VERS1.0 18
__tgt_rtl_data_notify_unmapped@VERS1.0 18
__tgt_rtl_data_retrieve@VERS1.0 18
__tgt_rtl_data_retrieve_async@VERS1.0 18
__tgt_rtl_data_submit@VERS1.0 18
__tgt_rtl_data_submit_async@VERS1.0 18
__tgt_rtl_data_unlock@VERS1.0 18
__tgt_rtl_destroy_event@VERS1.0 18
__tgt_rtl_get_function@VERS1.0 18
__tgt_rtl_get_global@VERS1.0 18
__tgt_rtl_init_async_info@VERS1.0 18
__tgt_rtl_init_device@VERS1.0 18
__tgt_rtl_init_device_info@VERS1.0 18
__tgt_rtl_init_plugin@VERS1.0 18
__tgt_rtl_init_requires@VERS1.0 18
__tgt_rtl_initialize_record_replay@VERS1.0 18
__tgt_rtl_is_data_exchangable@VERS1.0 18
__tgt_rtl_is_valid_binary@VERS1.0 18
__tgt_rtl_launch_kernel@VERS1.0 18
__tgt_rtl_load_binary@VERS1.0 18
__tgt_rtl_number_of_devices@VERS1.0 18
__tgt_rtl_print_device_info@VERS1.0 18
__tgt_rtl_query_async@VERS1.0 18
__tgt_rtl_record_event@VERS1.0 18
__tgt_rtl_set_device_offset@VERS1.0 18
__tgt_rtl_set_info_flag@VERS1.0 18
__tgt_rtl_supports_empty_images@VERS1.0 18
__tgt_rtl_sync_event@VERS1.0 18
__tgt_rtl_synchronize@VERS1.0 18
__tgt_rtl_use_auto_zero_copy@VERS1.0 18
__tgt_rtl_wait_event@VERS1.0 18
libomptarget.rtl.x86_64.so.@LLVM_VERSION@.1 libomp5-@LLVM_VERSION@ #MINVER#
VERS1.0@VERS1.0 18
__tgt_rtl_create_event@VERS1.0 18
__tgt_rtl_data_alloc@VERS1.0 18
__tgt_rtl_data_delete@VERS1.0 18
__tgt_rtl_data_exchange@VERS1.0 18
__tgt_rtl_data_exchange_async@VERS1.0 18
__tgt_rtl_data_lock@VERS1.0 18
__tgt_rtl_data_notify_mapped@VERS1.0 18
__tgt_rtl_data_notify_unmapped@VERS1.0 18
__tgt_rtl_data_retrieve@VERS1.0 18
__tgt_rtl_data_retrieve_async@VERS1.0 18
__tgt_rtl_data_submit@VERS1.0 18
__tgt_rtl_data_submit_async@VERS1.0 18
__tgt_rtl_data_unlock@VERS1.0 18
__tgt_rtl_destroy_event@VERS1.0 18
__tgt_rtl_get_function@VERS1.0 18
__tgt_rtl_get_global@VERS1.0 18
__tgt_rtl_init_async_info@VERS1.0 18
__tgt_rtl_init_device@VERS1.0 18
__tgt_rtl_init_device_info@VERS1.0 18
__tgt_rtl_init_plugin@VERS1.0 18
__tgt_rtl_init_requires@VERS1.0 18
__tgt_rtl_initialize_record_replay@VERS1.0 18
__tgt_rtl_is_data_exchangable@VERS1.0 18
__tgt_rtl_is_valid_binary@VERS1.0 18
__tgt_rtl_launch_kernel@VERS1.0 18
__tgt_rtl_load_binary@VERS1.0 18
__tgt_rtl_number_of_devices@VERS1.0 18
__tgt_rtl_print_device_info@VERS1.0 18
__tgt_rtl_query_async@VERS1.0 18
__tgt_rtl_record_event@VERS1.0 18
__tgt_rtl_set_device_offset@VERS1.0 18
__tgt_rtl_set_info_flag@VERS1.0 18
__tgt_rtl_supports_empty_images@VERS1.0 18
__tgt_rtl_sync_event@VERS1.0 18
__tgt_rtl_synchronize@VERS1.0 18
__tgt_rtl_use_auto_zero_copy@VERS1.0 18
__tgt_rtl_wait_event@VERS1.0 18
libomptarget.so.@LLVM_VERSION@.1 libomp5-@LLVM_VERSION@ #MINVER#
VERS1.0@VERS1.0 18
__kmpc_push_target_tripcount@VERS1.0 18
__kmpc_push_target_tripcount_mapper@VERS1.0 18
__tgt_activate_record_replay@VERS1.0 18
__tgt_init_all_rtls@VERS1.0 18
__tgt_interop_destroy@VERS1.0 18
__tgt_interop_init@VERS1.0 18
__tgt_interop_use@VERS1.0 18
__tgt_mapper_num_components@VERS1.0 18
__tgt_print_device_info@VERS1.0 18
__tgt_push_mapper_component@VERS1.0 18
__tgt_register_lib@VERS1.0 18
__tgt_register_requires@VERS1.0 18
__tgt_set_info_flag@VERS1.0 18
__tgt_target@VERS1.0 18
__tgt_target_data_begin@VERS1.0 18
__tgt_target_data_begin_mapper@VERS1.0 18
__tgt_target_data_begin_nowait@VERS1.0 18
__tgt_target_data_begin_nowait_mapper@VERS1.0 18
__tgt_target_data_end@VERS1.0 18
__tgt_target_data_end_mapper@VERS1.0 18
__tgt_target_data_end_nowait@VERS1.0 18
__tgt_target_data_end_nowait_mapper@VERS1.0 18
__tgt_target_data_update@VERS1.0 18
__tgt_target_data_update_mapper@VERS1.0 18
__tgt_target_data_update_nowait@VERS1.0 18
__tgt_target_data_update_nowait_mapper@VERS1.0 18
__tgt_target_kernel@VERS1.0 18
__tgt_target_kernel_nowait@VERS1.0 18
__tgt_target_kernel_replay@VERS1.0 18
__tgt_target_mapper@VERS1.0 18
__tgt_target_nowait@VERS1.0 18
__tgt_target_nowait_mapper@VERS1.0 18
__tgt_target_nowait_query@VERS1.0 18
__tgt_target_teams@VERS1.0 18
__tgt_target_teams_mapper@VERS1.0 18
__tgt_target_teams_nowait@VERS1.0 18
__tgt_target_teams_nowait_mapper@VERS1.0 18
__tgt_unregister_lib@VERS1.0 18
llvm_omp_target_alloc_device@VERS1.0 18
llvm_omp_target_alloc_host@VERS1.0 18
llvm_omp_target_alloc_shared@VERS1.0 18
llvm_omp_target_dynamic_shared_alloc@VERS1.0 18
llvm_omp_target_free_device@VERS1.0 18
llvm_omp_target_free_host@VERS1.0 18
llvm_omp_target_free_shared@VERS1.0 18
llvm_omp_target_lock_mem@VERS1.0 18
llvm_omp_target_unlock_mem@VERS1.0 18
omp_get_device_num@VERS1.0 18
omp_get_initial_device@VERS1.0 18
omp_get_interop_int@VERS1.0 18
omp_get_interop_name@VERS1.0 18
omp_get_interop_ptr@VERS1.0 18
omp_get_interop_str@VERS1.0 18
omp_get_interop_type_desc@VERS1.0 18
omp_get_mapped_ptr@VERS1.0 18
omp_get_num_devices@VERS1.0 18
omp_target_alloc@VERS1.0 18
omp_target_associate_ptr@VERS1.0 18
omp_target_disassociate_ptr@VERS1.0 18
omp_target_free@VERS1.0 18
omp_target_is_present@VERS1.0 18
omp_target_memcpy@VERS1.0 18
omp_target_memcpy_async@VERS1.0 18
omp_target_memcpy_rect@VERS1.0 18
omp_target_memcpy_rect_async@VERS1.0 18
omp_target_memset@VERS1.0 18
omp_target_memset_async@VERS1.0 18
ompt_libomptarget_connect@VERS1.0 18

View File

@ -1,2 +1,5 @@
usr/lib/llvm-@LLVM_VERSION@/lib/libunwind.so /usr/lib/@DEB_HOST_MULTIARCH@/libunwind.so
usr/lib/llvm-@LLVM_VERSION@/lib/libunwind.a /usr/lib/@DEB_HOST_MULTIARCH@/libunwind.a
# when LLVM_ENABLE_PER_TARGET_RUNTIME_DIR=ON:
#usr/lib/llvm-@LLVM_VERSION@/lib/@DEB_HOST_MULTIARCH_LLVM@/libunwind.so /usr/lib/@DEB_HOST_MULTIARCH@/libunwind.so
#usr/lib/llvm-@LLVM_VERSION@/lib/@DEB_HOST_MULTIARCH_LLVM@/libunwind.a /usr/lib/@DEB_HOST_MULTIARCH@/libunwind.a

View File

@ -1,2 +1,4 @@
usr/lib/llvm-@LLVM_VERSION@/lib/libunwind.so.1.0 /usr/lib/@DEB_HOST_MULTIARCH@/libunwind.so.1.0
# when LLVM_ENABLE_PER_TARGET_RUNTIME_DIR=ON:
#usr/lib/llvm-@LLVM_VERSION@/lib/@DEB_HOST_MULTIARCH_LLVM@/libunwind.so.1.0 /usr/lib/@DEB_HOST_MULTIARCH@/libunwind.so.1.0
usr/lib/@DEB_HOST_MULTIARCH@/libunwind.so.1.0 /usr/lib/@DEB_HOST_MULTIARCH@/libunwind.so.1

View File

@ -5,5 +5,5 @@ 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-vscode-@LLVM_VERSION@
usr/bin/lldb-dap-@LLVM_VERSION@
usr/bin/lldb-instr-@LLVM_VERSION@

View File

@ -2,8 +2,8 @@
usr/lib/llvm-@LLVM_VERSION@/lib/libLLVM*.a
#usr/lib/llvm-@LLVM_VERSION@/lib/libllvm*.a
usr/lib/llvm-@LLVM_VERSION@/lib/libLLVM.so
usr/lib/llvm-@LLVM_VERSION@/lib/libLLVM-@LLVM_VERSION@*.so
usr/lib/llvm-@LLVM_VERSION@/lib/libLLVM-@LLVM_VERSION@*.so.1
usr/lib/llvm-@LLVM_VERSION@/lib/libLTO.so
usr/lib/llvm-@LLVM_VERSION@/lib/libRemarks.*
usr/lib/llvm-@LLVM_VERSION@/include/llvm/ usr/include/llvm-@LLVM_VERSION@/

View File

@ -1,8 +1,4 @@
usr/lib/@DEB_HOST_MULTIARCH@/libLLVM-@LLVM_VERSION@.so.1 usr/lib/llvm-@LLVM_VERSION@/lib/libLLVM-@LLVM_VERSION@.so
usr/lib/@DEB_HOST_MULTIARCH@/libLLVM-@LLVM_VERSION@.so.1 usr/lib/llvm-@LLVM_VERSION@/lib/libLLVM-@LLVM_VERSION@.so.1
usr/lib/@DEB_HOST_MULTIARCH@/libLLVM-@LLVM_VERSION@.so.1 usr/lib/llvm-@LLVM_VERSION@/lib/libLLVM-@LLVM_VERSION_FULL@.so.1
usr/lib/@DEB_HOST_MULTIARCH@/libLLVM-@LLVM_VERSION@.so.1 usr/lib/llvm-@LLVM_VERSION@/lib/libLLVM-@LLVM_VERSION_FULL@.so
usr/lib/@DEB_HOST_MULTIARCH@/libLLVM-@LLVM_VERSION@.so.1 usr/lib/@DEB_HOST_MULTIARCH@/libLLVM-@LLVM_VERSION_FULL@.so.1
usr/lib/@DEB_HOST_MULTIARCH@/libLLVM-@LLVM_VERSION@.so.1 /usr/lib/@DEB_HOST_MULTIARCH@/libLLVM-@LLVM_VERSION_FULL@.so
usr/include/llvm-c-@LLVM_VERSION@/llvm-c usr/lib/llvm-@LLVM_VERSION@/include/llvm-c
usr/include/llvm-@LLVM_VERSION@/llvm usr/lib/llvm-@LLVM_VERSION@/include/llvm

View File

@ -1,4 +1,5 @@
#!/usr/bin/dh-exec
usr/lib/llvm-@LLVM_VERSION@/lib/libLTO.so.@LLVM_VERSION@
[!powerpc !powerpcspe] usr/lib/llvm-@LLVM_VERSION@/lib/LLVM*.so
usr/lib/llvm-@LLVM_VERSION@/lib/libLTO.so.@LLVM_VERSION@.1
[!powerpc !powerpcspe] usr/lib/llvm-@LLVM_VERSION@/lib/LLVMPolly.so
[!powerpc !powerpcspe !riscv64 !mips64el !armel !loong64 !sparc64] usr/lib/llvm-@LLVM_VERSION@/lib/LLVMgold.so

View File

@ -1,3 +1,3 @@
#!/usr/bin/dh-exec
[!powerpc !powerpcspe] usr/lib/llvm-@LLVM_VERSION@/lib/LLVMgold.so usr/lib/bfd-plugins/LLVMgold-@LLVM_VERSION@.so
[!powerpc !powerpcspe !riscv64] usr/lib/llvm-@LLVM_VERSION@/lib/LLVMgold.so usr/lib/bfd-plugins/LLVMgold-@LLVM_VERSION@.so

View File

@ -49,7 +49,6 @@ 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-tapi-diff
usr/lib/llvm-@LLVM_VERSION@/bin/llvm-tblgen
usr/lib/llvm-@LLVM_VERSION@/bin/llvm-undname
usr/lib/llvm-@LLVM_VERSION@/bin/llvm-xray
@ -79,9 +78,9 @@ 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-remark-size-diff
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/bin/llvm-PerfectShuffle-@LLVM_VERSION@
usr/bin/llvm-addr2line-@LLVM_VERSION@
@ -144,7 +143,7 @@ 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-tapi-diff-@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@
@ -160,5 +159,4 @@ usr/bin/sanstats-*
usr/bin/dsymutil-*
usr/bin/llvm-debuginfod-find-*
usr/bin/llvm-debuginfod-@LLVM_VERSION@
usr/bin/llvm-remark-size-diff-*
usr/bin/llvm-debuginfo-analyzer-@LLVM_VERSION@

View File

@ -25,18 +25,25 @@ 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
# Check the output of llvm-strings for the command line, which is in the LLVM bitcode because
# we pass -frecord-gcc-switches.
# Check for a line that has "-flto" after (or without) "-fno-lto".
llvm-strings ${file_name} | while read line ; do
flto=$(echo $line | grep -o -b -e -flto | tail -n 1 | cut -d : -f 1)
fnolto=$(echo $line | grep -o -b -e -fno-lto | tail -n 1 | cut -d : -f 1)
if test -n "$flto" && { test -z "$fnolto" || test "$flto" -gt "$fnolto"; } ; then
echo "Compiling LLVM bitcode file ${file_name}."
${P_TO_LLVM}/debian/tmp/usr/bin/clang-${VERSION} -fno-lto -opaque-pointers -Wno-unused-command-line-argument \
clang ${CLANG_FLAGS} -fno-lto -Wno-unused-command-line-argument \
-x ir ${file_name} -c -o ${file_name}
break
fi
done
elif [[ "${file_type}" == *"current ar archive"* ]]; then
echo "Unpacking ar archive ${file_name} to check for LLVM bitcode components."
# create archive stage for objects
@ -47,7 +54,7 @@ check_convert_bitcode () {
for archived_file in $(find -not -type d); do
check_convert_bitcode ${archived_file} ${CLANG_FLAGS}
echo "Repacking ${archived_file} into ${archive}."
${P_TO_LLVM}/debian/tmp/usr/bin/llvm-ar-${VERSION} r ${archive} ${archived_file}
ar r ${archive} ${archived_file}
done
popd
fi
@ -55,5 +62,7 @@ check_convert_bitcode () {
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
# Deduplicate by device:inode to avoid processing hardlinks in parallel.
find "$P_TO_LLVM/debian/" -type f -name "*.[ao]" -printf "%D:%i %p\n" | \
awk '!seen[$1]++' | cut -d" " -f2- | \
xargs -d"\n" -r -n1 -P$NCPUS bash -c "check_convert_bitcode \$@ $CLANG_FLAGS" ARG0

View File

@ -1,5 +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

View File

@ -3,11 +3,11 @@
tools/llvm-shlib/CMakeLists.txt | 1 +
2 files changed, 2 insertions(+), 1 deletion(-)
Index: llvm-toolchain-17_17.0.6~++20231127102111+f6c231c15ec8/clang/tools/libclang/CMakeLists.txt
Index: llvm-toolchain-18_18.1.2/clang/tools/libclang/CMakeLists.txt
===================================================================
--- llvm-toolchain-17_17.0.6~++20231127102111+f6c231c15ec8.orig/clang/tools/libclang/CMakeLists.txt
+++ llvm-toolchain-17_17.0.6~++20231127102111+f6c231c15ec8/clang/tools/libclang/CMakeLists.txt
@@ -134,7 +134,7 @@ if (UNIX AND ${CMAKE_SYSTEM_NAME} MATCHE
--- llvm-toolchain-18_18.1.2.orig/clang/tools/libclang/CMakeLists.txt
+++ llvm-toolchain-18_18.1.2/clang/tools/libclang/CMakeLists.txt
@@ -135,7 +135,7 @@ if (UNIX AND ${CMAKE_SYSTEM_NAME} MATCHE
remove_definitions("-D_XOPEN_SOURCE=700")
endif()
@ -16,16 +16,16 @@ Index: llvm-toolchain-17_17.0.6~++20231127102111+f6c231c15ec8/clang/tools/libcla
OUTPUT_NAME ${output_name}
${SOURCES}
Index: llvm-toolchain-17_17.0.6~++20231127102111+f6c231c15ec8/llvm/tools/llvm-shlib/CMakeLists.txt
Index: llvm-toolchain-18_18.1.2/llvm/tools/llvm-shlib/CMakeLists.txt
===================================================================
--- llvm-toolchain-17_17.0.6~++20231127102111+f6c231c15ec8.orig/llvm/tools/llvm-shlib/CMakeLists.txt
+++ llvm-toolchain-17_17.0.6~++20231127102111+f6c231c15ec8/llvm/tools/llvm-shlib/CMakeLists.txt
@@ -32,6 +32,8 @@ if(LLVM_BUILD_LLVM_DYLIB)
--- llvm-toolchain-18_18.1.2.orig/llvm/tools/llvm-shlib/CMakeLists.txt
+++ llvm-toolchain-18_18.1.2/llvm/tools/llvm-shlib/CMakeLists.txt
@@ -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()
add_llvm_library(LLVM SHARED DISABLE_LLVM_LINK_LLVM_DYLIB SONAME ${INSTALL_WITH_TOOLCHAIN} ${SOURCES})
+ set_property(TARGET LLVM PROPERTY VERSION "1") # Append .1 to SONAME
+
list(REMOVE_DUPLICATES LIB_NAMES)
if((MINGW) OR (HAIKU)
OR ("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux")
if("${CMAKE_SYSTEM_NAME}" STREQUAL "Darwin")
set(LIB_NAMES -Wl,-all_load ${LIB_NAMES})

View File

@ -13,10 +13,10 @@ Subject: Use Debian-provided MathJax everywhere.
polly/docs/doxygen.cfg.in | 2 +-
8 files changed, 14 insertions(+), 5 deletions(-)
Index: llvm-toolchain-snapshot_17~++20230523093327+96a003b9bf79/clang-tools-extra/docs/conf.py
Index: llvm-toolchain-18_18.1.5~++20240423100144+a981a4f7653c/clang-tools-extra/docs/conf.py
===================================================================
--- llvm-toolchain-snapshot_17~++20230523093327+96a003b9bf79.orig/clang-tools-extra/docs/conf.py
+++ llvm-toolchain-snapshot_17~++20230523093327+96a003b9bf79/clang-tools-extra/docs/conf.py
--- llvm-toolchain-18_18.1.5~++20240423100144+a981a4f7653c.orig/clang-tools-extra/docs/conf.py
+++ llvm-toolchain-18_18.1.5~++20240423100144+a981a4f7653c/clang-tools-extra/docs/conf.py
@@ -119,6 +119,9 @@ html_theme = "haiku"
# so a file named "default.css" will overwrite the builtin "default.css".
html_static_path = ["_static"]
@ -27,10 +27,10 @@ Index: llvm-toolchain-snapshot_17~++20230523093327+96a003b9bf79/clang-tools-extr
# 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_17~++20230523093327+96a003b9bf79/clang-tools-extra/docs/doxygen.cfg.in
Index: llvm-toolchain-18_18.1.5~++20240423100144+a981a4f7653c/clang-tools-extra/docs/doxygen.cfg.in
===================================================================
--- llvm-toolchain-snapshot_17~++20230523093327+96a003b9bf79.orig/clang-tools-extra/docs/doxygen.cfg.in
+++ llvm-toolchain-snapshot_17~++20230523093327+96a003b9bf79/clang-tools-extra/docs/doxygen.cfg.in
--- llvm-toolchain-18_18.1.5~++20240423100144+a981a4f7653c.orig/clang-tools-extra/docs/doxygen.cfg.in
+++ llvm-toolchain-18_18.1.5~++20240423100144+a981a4f7653c/clang-tools-extra/docs/doxygen.cfg.in
@@ -1443,7 +1443,7 @@ MATHJAX_FORMAT = HTML-CSS
# The default value is: http://cdn.mathjax.org/mathjax/latest.
# This tag requires that the tag USE_MATHJAX is set to YES.
@ -40,10 +40,10 @@ Index: llvm-toolchain-snapshot_17~++20230523093327+96a003b9bf79/clang-tools-extr
# 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_17~++20230523093327+96a003b9bf79/clang/docs/analyzer/conf.py
Index: llvm-toolchain-18_18.1.5~++20240423100144+a981a4f7653c/clang/docs/analyzer/conf.py
===================================================================
--- llvm-toolchain-snapshot_17~++20230523093327+96a003b9bf79.orig/clang/docs/analyzer/conf.py
+++ llvm-toolchain-snapshot_17~++20230523093327+96a003b9bf79/clang/docs/analyzer/conf.py
--- llvm-toolchain-18_18.1.5~++20240423100144+a981a4f7653c.orig/clang/docs/analyzer/conf.py
+++ llvm-toolchain-18_18.1.5~++20240423100144+a981a4f7653c/clang/docs/analyzer/conf.py
@@ -120,6 +120,9 @@ html_theme = "haiku"
# so a file named "default.css" will overwrite the builtin "default.css".
html_static_path = ['_static']
@ -54,11 +54,11 @@ Index: llvm-toolchain-snapshot_17~++20230523093327+96a003b9bf79/clang/docs/analy
# 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_17~++20230523093327+96a003b9bf79/clang/docs/conf.py
Index: llvm-toolchain-18_18.1.5~++20240423100144+a981a4f7653c/clang/docs/conf.py
===================================================================
--- llvm-toolchain-snapshot_17~++20230523093327+96a003b9bf79.orig/clang/docs/conf.py
+++ llvm-toolchain-snapshot_17~++20230523093327+96a003b9bf79/clang/docs/conf.py
@@ -135,6 +135,9 @@ html_theme = "haiku"
--- llvm-toolchain-18_18.1.5~++20240423100144+a981a4f7653c.orig/clang/docs/conf.py
+++ llvm-toolchain-18_18.1.5~++20240423100144+a981a4f7653c/clang/docs/conf.py
@@ -120,6 +120,9 @@ html_theme = "haiku"
# so a file named "default.css" will overwrite the builtin "default.css".
html_static_path = ['_static']
@ -68,10 +68,10 @@ Index: llvm-toolchain-snapshot_17~++20230523093327+96a003b9bf79/clang/docs/conf.
# 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_17~++20230523093327+96a003b9bf79/clang/docs/doxygen.cfg.in
Index: llvm-toolchain-18_18.1.5~++20240423100144+a981a4f7653c/clang/docs/doxygen.cfg.in
===================================================================
--- llvm-toolchain-snapshot_17~++20230523093327+96a003b9bf79.orig/clang/docs/doxygen.cfg.in
+++ llvm-toolchain-snapshot_17~++20230523093327+96a003b9bf79/clang/docs/doxygen.cfg.in
--- llvm-toolchain-18_18.1.5~++20240423100144+a981a4f7653c.orig/clang/docs/doxygen.cfg.in
+++ llvm-toolchain-18_18.1.5~++20240423100144+a981a4f7653c/clang/docs/doxygen.cfg.in
@@ -1432,7 +1432,7 @@ MATHJAX_FORMAT = HTML-CSS
# The default value is: http://cdn.mathjax.org/mathjax/latest.
# This tag requires that the tag USE_MATHJAX is set to YES.
@ -81,10 +81,10 @@ Index: llvm-toolchain-snapshot_17~++20230523093327+96a003b9bf79/clang/docs/doxyg
# 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_17~++20230523093327+96a003b9bf79/llvm/docs/doxygen.cfg.in
Index: llvm-toolchain-18_18.1.5~++20240423100144+a981a4f7653c/llvm/docs/doxygen.cfg.in
===================================================================
--- llvm-toolchain-snapshot_17~++20230523093327+96a003b9bf79.orig/llvm/docs/doxygen.cfg.in
+++ llvm-toolchain-snapshot_17~++20230523093327+96a003b9bf79/llvm/docs/doxygen.cfg.in
--- llvm-toolchain-18_18.1.5~++20240423100144+a981a4f7653c.orig/llvm/docs/doxygen.cfg.in
+++ llvm-toolchain-18_18.1.5~++20240423100144+a981a4f7653c/llvm/docs/doxygen.cfg.in
@@ -1433,7 +1433,7 @@ MATHJAX_FORMAT = HTML-CSS
# The default value is: http://cdn.mathjax.org/mathjax/latest.
# This tag requires that the tag USE_MATHJAX is set to YES.
@ -94,10 +94,10 @@ Index: llvm-toolchain-snapshot_17~++20230523093327+96a003b9bf79/llvm/docs/doxyge
# 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_17~++20230523093327+96a003b9bf79/polly/docs/doxygen.cfg.in
Index: llvm-toolchain-18_18.1.5~++20240423100144+a981a4f7653c/polly/docs/doxygen.cfg.in
===================================================================
--- llvm-toolchain-snapshot_17~++20230523093327+96a003b9bf79.orig/polly/docs/doxygen.cfg.in
+++ llvm-toolchain-snapshot_17~++20230523093327+96a003b9bf79/polly/docs/doxygen.cfg.in
--- llvm-toolchain-18_18.1.5~++20240423100144+a981a4f7653c.orig/polly/docs/doxygen.cfg.in
+++ llvm-toolchain-18_18.1.5~++20240423100144+a981a4f7653c/polly/docs/doxygen.cfg.in
@@ -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.

View File

@ -7,10 +7,10 @@
clang/test/Sema/warn-strlcpycat-size.c | 55 --------------
6 files changed, 25 insertions(+), 78 deletions(-)
Index: llvm-toolchain-snapshot_17~++20230718090722+aa9a10ac1dde/clang/include/clang/Basic/Builtins.def
Index: llvm-toolchain-snapshot_18~++20230828063023+b4b42bd6522f/clang/include/clang/Basic/Builtins.def
===================================================================
--- llvm-toolchain-snapshot_17~++20230718090722+aa9a10ac1dde.orig/clang/include/clang/Basic/Builtins.def
+++ llvm-toolchain-snapshot_17~++20230718090722+aa9a10ac1dde/clang/include/clang/Basic/Builtins.def
--- llvm-toolchain-snapshot_18~++20230828063023+b4b42bd6522f.orig/clang/include/clang/Basic/Builtins.def
+++ llvm-toolchain-snapshot_18~++20230828063023+b4b42bd6522f/clang/include/clang/Basic/Builtins.def
@@ -645,8 +645,8 @@ BUILTIN(__builtin___memset_chk, "v*v*izz
BUILTIN(__builtin___stpcpy_chk, "c*c*cC*z", "nF")
BUILTIN(__builtin___strcat_chk, "c*c*cC*z", "nF")
@ -22,7 +22,7 @@ Index: llvm-toolchain-snapshot_17~++20230718090722+aa9a10ac1dde/clang/include/cl
BUILTIN(__builtin___strncat_chk, "c*c*cC*zz", "nF")
BUILTIN(__builtin___strncpy_chk, "c*c*cC*zz", "nF")
BUILTIN(__builtin___stpncpy_chk, "c*c*cC*zz", "nF")
@@ -1179,8 +1179,8 @@ LIBBUILTIN(getcontext, "iK*", "fjT",
@@ -1182,8 +1182,8 @@ LIBBUILTIN(getcontext, "iK*", "fjT",
LIBBUILTIN(_longjmp, "vJi", "frT", SETJMP_H, ALL_GNU_LANGUAGES)
LIBBUILTIN(siglongjmp, "vSJi", "frT", SETJMP_H, ALL_GNU_LANGUAGES)
// non-standard but very common
@ -33,11 +33,11 @@ Index: llvm-toolchain-snapshot_17~++20230718090722+aa9a10ac1dde/clang/include/cl
// id objc_msgSend(id, SEL, ...)
LIBBUILTIN(objc_msgSend, "GGH.", "f", OBJC_MESSAGE_H, OBJC_LANG)
// long double objc_msgSend_fpret(id self, SEL op, ...)
Index: llvm-toolchain-snapshot_17~++20230718090722+aa9a10ac1dde/clang/lib/AST/Decl.cpp
Index: llvm-toolchain-snapshot_18~++20230828063023+b4b42bd6522f/clang/lib/AST/Decl.cpp
===================================================================
--- llvm-toolchain-snapshot_17~++20230718090722+aa9a10ac1dde.orig/clang/lib/AST/Decl.cpp
+++ llvm-toolchain-snapshot_17~++20230718090722+aa9a10ac1dde/clang/lib/AST/Decl.cpp
@@ -4274,13 +4274,13 @@ unsigned FunctionDecl::getMemoryFunction
--- llvm-toolchain-snapshot_18~++20230828063023+b4b42bd6522f.orig/clang/lib/AST/Decl.cpp
+++ llvm-toolchain-snapshot_18~++20230828063023+b4b42bd6522f/clang/lib/AST/Decl.cpp
@@ -4310,13 +4310,13 @@ unsigned FunctionDecl::getMemoryFunction
case Builtin::BImemmove:
return Builtin::BImemmove;
@ -57,11 +57,11 @@ Index: llvm-toolchain-snapshot_17~++20230718090722+aa9a10ac1dde/clang/lib/AST/De
case Builtin::BI__builtin_memcmp:
case Builtin::BImemcmp:
Index: llvm-toolchain-snapshot_17~++20230718090722+aa9a10ac1dde/clang/lib/Sema/SemaChecking.cpp
Index: llvm-toolchain-snapshot_18~++20230828063023+b4b42bd6522f/clang/lib/Sema/SemaChecking.cpp
===================================================================
--- llvm-toolchain-snapshot_17~++20230718090722+aa9a10ac1dde.orig/clang/lib/Sema/SemaChecking.cpp
+++ llvm-toolchain-snapshot_17~++20230718090722+aa9a10ac1dde/clang/lib/Sema/SemaChecking.cpp
@@ -1265,8 +1265,8 @@ void Sema::checkFortifiedBuiltinMemoryFu
--- llvm-toolchain-snapshot_18~++20230828063023+b4b42bd6522f.orig/clang/lib/Sema/SemaChecking.cpp
+++ llvm-toolchain-snapshot_18~++20230828063023+b4b42bd6522f/clang/lib/Sema/SemaChecking.cpp
@@ -1263,8 +1263,8 @@ void Sema::checkFortifiedBuiltinMemoryFu
case Builtin::BI__builtin___memcpy_chk:
case Builtin::BI__builtin___memmove_chk:
case Builtin::BI__builtin___memset_chk:
@ -72,7 +72,7 @@ Index: llvm-toolchain-snapshot_17~++20230718090722+aa9a10ac1dde/clang/lib/Sema/S
case Builtin::BI__builtin___strncat_chk:
case Builtin::BI__builtin___strncpy_chk:
case Builtin::BI__builtin___stpncpy_chk:
@@ -6744,10 +6744,10 @@ bool Sema::CheckFunctionCall(FunctionDec
@@ -6964,10 +6964,10 @@ bool Sema::CheckFunctionCall(FunctionDec
switch (CMId) {
case 0:
return false;
@ -85,10 +85,10 @@ Index: llvm-toolchain-snapshot_17~++20230718090722+aa9a10ac1dde/clang/lib/Sema/S
case Builtin::BIstrncat:
CheckStrncatArguments(TheCall, FnInfo);
break;
Index: llvm-toolchain-snapshot_17~++20230718090722+aa9a10ac1dde/clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp
Index: llvm-toolchain-snapshot_18~++20230828063023+b4b42bd6522f/clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp
===================================================================
--- llvm-toolchain-snapshot_17~++20230718090722+aa9a10ac1dde.orig/clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp
+++ llvm-toolchain-snapshot_17~++20230718090722+aa9a10ac1dde/clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp
--- llvm-toolchain-snapshot_18~++20230828063023+b4b42bd6522f.orig/clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp
+++ llvm-toolchain-snapshot_18~++20230828063023+b4b42bd6522f/clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp
@@ -717,10 +717,10 @@ void GenericTaintChecker::initTaintRules
{{CDF_MaybeBuiltin, {BI.getName(Builtin::BIstrncat)}},
@ -102,11 +102,11 @@ Index: llvm-toolchain-snapshot_17~++20230718090722+aa9a10ac1dde/clang/lib/Static
{{CDF_MaybeBuiltin, {{"snprintf"}}},
TR::Prop({{1}, 3}, {{0, ReturnValueIndex}})},
{{CDF_MaybeBuiltin, {{"sprintf"}}},
Index: llvm-toolchain-snapshot_17~++20230718090722+aa9a10ac1dde/clang/test/Sema/builtins.c
Index: llvm-toolchain-snapshot_18~++20230828063023+b4b42bd6522f/clang/test/Sema/builtins.c
===================================================================
--- llvm-toolchain-snapshot_17~++20230718090722+aa9a10ac1dde.orig/clang/test/Sema/builtins.c
+++ llvm-toolchain-snapshot_17~++20230718090722+aa9a10ac1dde/clang/test/Sema/builtins.c
@@ -197,12 +197,10 @@ void test18(void) {
--- llvm-toolchain-snapshot_18~++20230828063023+b4b42bd6522f.orig/clang/test/Sema/builtins.c
+++ llvm-toolchain-snapshot_18~++20230828063023+b4b42bd6522f/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));
@ -119,26 +119,28 @@ Index: llvm-toolchain-snapshot_17~++20230718090722+aa9a10ac1dde/clang/test/Sema/
}
void no_ms_builtins(void) {
@@ -216,6 +214,7 @@ void unavailable(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);
+/*
// rdar://18259539
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);
@@ -238,6 +237,7 @@ void Test19(void)
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}}
}
+*/
// rdar://11076881
char * Test20(char *p, const char *in, unsigned n)
Index: llvm-toolchain-snapshot_17~++20230718090722+aa9a10ac1dde/clang/test/Sema/warn-strlcpycat-size.c
{
Index: llvm-toolchain-snapshot_18~++20230828063023+b4b42bd6522f/clang/test/Sema/warn-strlcpycat-size.c
===================================================================
--- llvm-toolchain-snapshot_17~++20230718090722+aa9a10ac1dde.orig/clang/test/Sema/warn-strlcpycat-size.c
+++ llvm-toolchain-snapshot_17~++20230718090722+aa9a10ac1dde/clang/test/Sema/warn-strlcpycat-size.c
--- llvm-toolchain-snapshot_18~++20230828063023+b4b42bd6522f.orig/clang/test/Sema/warn-strlcpycat-size.c
+++ llvm-toolchain-snapshot_18~++20230828063023+b4b42bd6522f/clang/test/Sema/warn-strlcpycat-size.c
@@ -1,55 +0,0 @@
-// RUN: %clang_cc1 -Wstrlcpy-strlcat-size -verify -fsyntax-only %s
-

View File

@ -3,9 +3,11 @@ Restore that for now, we're not GenToo ...
https://reviews.llvm.org/D148945
https://reviews.llvm.org/D122444
--- a/clang/lib/Driver/ToolChains/Linux.cpp
+++ b/clang/lib/Driver/ToolChains/Linux.cpp
@@ -333,6 +333,13 @@ Linux::Linux(const Driver &D, const llvm
Index: llvm-toolchain-18_18.1.2/clang/lib/Driver/ToolChains/Linux.cpp
===================================================================
--- llvm-toolchain-18_18.1.2.orig/clang/lib/Driver/ToolChains/Linux.cpp
+++ llvm-toolchain-18_18.1.2/clang/lib/Driver/ToolChains/Linux.cpp
@@ -337,6 +337,13 @@ Linux::Linux(const Driver &D, const llvm
Generic_GCC::AddMultiarchPaths(D, SysRoot, OSLibDir, Paths);

View File

@ -1,468 +0,0 @@
From 7236a15338bafc4bb4c6e61d4b151e0b9cc85448 Mon Sep 17 00:00:00 2001
From: chenli <chenli@loongson.cn>
Date: Mon, 18 Mar 2024 15:16:34 +0800
Subject: [PATCH] Revert "[LoongArch] Support InlineAsm for LSX and LASX"
This reverts commit d25c79dc70008b835312e5cc7ef48b199fda3165.
D154931[1] needs to be reverted on LLVM17. As Loongson SIMD Extension(LSX) and
Loongson Advanced SIMD Extension(LASX) are not fully supported on LLVM17,
InlineAsm for LSX and LASX should not be supported as well. Otherwise it leads
to the following issue[2]:
'''
LLVM ERROR: Cannot select: 0x7ffea41a3650: ch = store<(store (s128) into %ir.mask
store52)> 0x7ffea41a35e0, 0x7ffea4196a30, FrameIndex:i64<6>, undef:i64
'''
LSX and LASX are fully supported on LLVM18 and are not supported on LLVM16,
thus only LLVM17 has the problem.
[1] https://reviews.llvm.org/D154931
[2] https://buildd.debian.org/status/fetch.php?pkg=qtdeclarative-opensource-src&arch=loong64&ver=5.15.10%2Bdfsg-2%2Bb1&stamp=1710571569&raw=0
Change-Id: I2bd74a71fe5f0bcadeb04ecf1d63d9f97765e8b5
---
clang/lib/Basic/Targets/LoongArch.cpp | 12 +---
.../lasx/inline-asm-gcc-regs-error.c | 10 ----
.../LoongArch/lasx/inline-asm-gcc-regs.c | 36 ------------
.../lasx/inline-asm-operand-modifier.c | 15 -----
.../LoongArch/lsx/inline-asm-gcc-regs-error.c | 10 ----
.../LoongArch/lsx/inline-asm-gcc-regs.c | 36 ------------
.../lsx/inline-asm-operand-modifier.c | 15 -----
.../Target/LoongArch/LoongArchAsmPrinter.cpp | 14 -----
.../LoongArch/LoongArchISelLowering.cpp | 17 +-----
.../lasx/inline-asm-operand-modifier.ll | 14 -----
.../LoongArch/lasx/inline-asm-reg-names.ll | 58 -------------------
.../lsx/inline-asm-operand-modifier.ll | 14 -----
.../LoongArch/lsx/inline-asm-reg-names.ll | 58 -------------------
13 files changed, 2 insertions(+), 307 deletions(-)
delete mode 100644 clang/test/CodeGen/LoongArch/lasx/inline-asm-gcc-regs-error.c
delete mode 100644 clang/test/CodeGen/LoongArch/lasx/inline-asm-gcc-regs.c
delete mode 100644 clang/test/CodeGen/LoongArch/lasx/inline-asm-operand-modifier.c
delete mode 100644 clang/test/CodeGen/LoongArch/lsx/inline-asm-gcc-regs-error.c
delete mode 100644 clang/test/CodeGen/LoongArch/lsx/inline-asm-gcc-regs.c
delete mode 100644 clang/test/CodeGen/LoongArch/lsx/inline-asm-operand-modifier.c
delete mode 100644 llvm/test/CodeGen/LoongArch/lasx/inline-asm-operand-modifier.ll
delete mode 100644 llvm/test/CodeGen/LoongArch/lasx/inline-asm-reg-names.ll
delete mode 100644 llvm/test/CodeGen/LoongArch/lsx/inline-asm-operand-modifier.ll
delete mode 100644 llvm/test/CodeGen/LoongArch/lsx/inline-asm-reg-names.ll
diff --git a/clang/lib/Basic/Targets/LoongArch.cpp b/clang/lib/Basic/Targets/LoongArch.cpp
index 4448a2ae10a1..96ef29620eb6 100644
--- a/clang/lib/Basic/Targets/LoongArch.cpp
+++ b/clang/lib/Basic/Targets/LoongArch.cpp
@@ -33,17 +33,7 @@ ArrayRef<const char *> LoongArchTargetInfo::getGCCRegNames() const {
"$f19", "$f20", "$f21", "$f22", "$f23", "$f24", "$f25", "$f26", "$f27",
"$f28", "$f29", "$f30", "$f31",
// Condition flag registers.
- "$fcc0", "$fcc1", "$fcc2", "$fcc3", "$fcc4", "$fcc5", "$fcc6", "$fcc7",
- // 128-bit vector registers.
- "$vr0", "$vr1", "$vr2", "$vr3", "$vr4", "$vr5", "$vr6", "$vr7", "$vr8",
- "$vr9", "$vr10", "$vr11", "$vr12", "$vr13", "$vr14", "$vr15", "$vr16",
- "$vr17", "$vr18", "$vr19", "$vr20", "$vr21", "$vr22", "$vr23", "$vr24",
- "$vr25", "$vr26", "$vr27", "$vr28", "$vr29", "$vr30", "$vr31",
- // 256-bit vector registers.
- "$xr0", "$xr1", "$xr2", "$xr3", "$xr4", "$xr5", "$xr6", "$xr7", "$xr8",
- "$xr9", "$xr10", "$xr11", "$xr12", "$xr13", "$xr14", "$xr15", "$xr16",
- "$xr17", "$xr18", "$xr19", "$xr20", "$xr21", "$xr22", "$xr23", "$xr24",
- "$xr25", "$xr26", "$xr27", "$xr28", "$xr29", "$xr30", "$xr31"};
+ "$fcc0", "$fcc1", "$fcc2", "$fcc3", "$fcc4", "$fcc5", "$fcc6", "$fcc7"};
return llvm::ArrayRef(GCCRegNames);
}
diff --git a/clang/test/CodeGen/LoongArch/lasx/inline-asm-gcc-regs-error.c b/clang/test/CodeGen/LoongArch/lasx/inline-asm-gcc-regs-error.c
deleted file mode 100644
index 1fd602574b8e..000000000000
--- a/clang/test/CodeGen/LoongArch/lasx/inline-asm-gcc-regs-error.c
+++ /dev/null
@@ -1,10 +0,0 @@
-// RUN: not %clang_cc1 -triple loongarch64 -emit-llvm -O2 %s 2>&1 -o - | FileCheck %s
-
-typedef signed char v32i8 __attribute__((vector_size(32), aligned(32)));
-
-void test() {
-// CHECK: :[[#@LINE+1]]:28: error: unknown register name 'xr0' in asm
- register v32i8 p0 asm ("xr0");
-// CHECK: :[[#@LINE+1]]:29: error: unknown register name '$xr32' in asm
- register v32i8 p32 asm ("$xr32");
-}
diff --git a/clang/test/CodeGen/LoongArch/lasx/inline-asm-gcc-regs.c b/clang/test/CodeGen/LoongArch/lasx/inline-asm-gcc-regs.c
deleted file mode 100644
index ed1a9660a06c..000000000000
--- a/clang/test/CodeGen/LoongArch/lasx/inline-asm-gcc-regs.c
+++ /dev/null
@@ -1,36 +0,0 @@
-// NOTE: Assertions have been autogenerated by utils/update_cc_test_checks.py UTC_ARGS: --filter "^define |tail call"
-// RUN: %clang_cc1 -triple loongarch64 -emit-llvm -O2 %s -o - | FileCheck %s
-
-typedef signed char v32i8 __attribute__((vector_size(32), aligned(32)));
-
-// CHECK-LABEL: @test_xr0(
-// CHECK: tail call void asm sideeffect "", "{$xr0}"(<32 x i8> undef) #[[ATTR1:[0-9]+]], !srcloc !2
-//
-void test_xr0() {
- register v32i8 a asm ("$xr0");
- asm ("" :: "f"(a));
-}
-
-// CHECK-LABEL: @test_xr7(
-// CHECK: tail call void asm sideeffect "", "{$xr7}"(<32 x i8> undef) #[[ATTR1]], !srcloc !3
-//
-void test_xr7() {
- register v32i8 a asm ("$xr7");
- asm ("" :: "f"(a));
-}
-
-// CHECK-LABEL: @test_xr15(
-// CHECK: tail call void asm sideeffect "", "{$xr15}"(<32 x i8> undef) #[[ATTR1]], !srcloc !4
-//
-void test_xr15() {
- register v32i8 a asm ("$xr15");
- asm ("" :: "f"(a));
-}
-
-// CHECK-LABEL: @test_xr31(
-// CHECK: tail call void asm sideeffect "", "{$xr31}"(<32 x i8> undef) #[[ATTR1]], !srcloc !5
-//
-void test_xr31() {
- register v32i8 a asm ("$xr31");
- asm ("" :: "f"(a));
-}
diff --git a/clang/test/CodeGen/LoongArch/lasx/inline-asm-operand-modifier.c b/clang/test/CodeGen/LoongArch/lasx/inline-asm-operand-modifier.c
deleted file mode 100644
index a5cc8798fd66..000000000000
--- a/clang/test/CodeGen/LoongArch/lasx/inline-asm-operand-modifier.c
+++ /dev/null
@@ -1,15 +0,0 @@
-// NOTE: Assertions have been autogenerated by utils/update_cc_test_checks.py UTC_ARGS: --version 2
-// RUN: %clang_cc1 -triple loongarch64 -emit-llvm -O2 %s -o - | FileCheck %s
-
-typedef long long v4i64 __attribute__ ((vector_size(32), aligned(32)));
-
-// CHECK-LABEL: define dso_local void @test_u
-// CHECK-SAME: () local_unnamed_addr #[[ATTR0:[0-9]+]] {
-// CHECK-NEXT: entry:
-// CHECK-NEXT: [[TMP0:%.*]] = tail call <4 x i64> asm sideeffect "xvldi ${0:u}, 1", "=f"() #[[ATTR1:[0-9]+]], !srcloc !2
-// CHECK-NEXT: ret void
-//
-void test_u() {
- v4i64 v4i64_r;
- asm volatile ("xvldi %u0, 1" : "=f" (v4i64_r));
-}
diff --git a/clang/test/CodeGen/LoongArch/lsx/inline-asm-gcc-regs-error.c b/clang/test/CodeGen/LoongArch/lsx/inline-asm-gcc-regs-error.c
deleted file mode 100644
index 54132307e93f..000000000000
--- a/clang/test/CodeGen/LoongArch/lsx/inline-asm-gcc-regs-error.c
+++ /dev/null
@@ -1,10 +0,0 @@
-// RUN: not %clang_cc1 -triple loongarch64 -emit-llvm -O2 %s 2>&1 -o - | FileCheck %s
-
-typedef signed char v16i8 __attribute__((vector_size(16), aligned(16)));
-
-void test() {
-// CHECK: :[[#@LINE+1]]:28: error: unknown register name 'vr0' in asm
- register v16i8 p0 asm ("vr0");
-// CHECK: :[[#@LINE+1]]:29: error: unknown register name '$vr32' in asm
- register v16i8 p32 asm ("$vr32");
-}
diff --git a/clang/test/CodeGen/LoongArch/lsx/inline-asm-gcc-regs.c b/clang/test/CodeGen/LoongArch/lsx/inline-asm-gcc-regs.c
deleted file mode 100644
index b05b1c8c15fa..000000000000
--- a/clang/test/CodeGen/LoongArch/lsx/inline-asm-gcc-regs.c
+++ /dev/null
@@ -1,36 +0,0 @@
-// NOTE: Assertions have been autogenerated by utils/update_cc_test_checks.py UTC_ARGS: --filter "^define |tail call"
-// RUN: %clang_cc1 -triple loongarch64 -emit-llvm -O2 %s -o - | FileCheck %s
-
-typedef signed char v16i8 __attribute__((vector_size(16), aligned(16)));
-
-// CHECK-LABEL: @test_vr0(
-// CHECK: tail call void asm sideeffect "", "{$vr0}"(<16 x i8> undef) #[[ATTR1:[0-9]+]], !srcloc !2
-//
-void test_vr0() {
- register v16i8 a asm ("$vr0");
- asm ("" :: "f"(a));
-}
-
-// CHECK-LABEL: @test_vr7(
-// CHECK: tail call void asm sideeffect "", "{$vr7}"(<16 x i8> undef) #[[ATTR1]], !srcloc !3
-//
-void test_vr7() {
- register v16i8 a asm ("$vr7");
- asm ("" :: "f"(a));
-}
-
-// CHECK-LABEL: @test_vr15(
-// CHECK: tail call void asm sideeffect "", "{$vr15}"(<16 x i8> undef) #[[ATTR1]], !srcloc !4
-//
-void test_vr15() {
- register v16i8 a asm ("$vr15");
- asm ("" :: "f"(a));
-}
-
-// CHECK-LABEL: @test_vr31(
-// CHECK: tail call void asm sideeffect "", "{$vr31}"(<16 x i8> undef) #[[ATTR1]], !srcloc !5
-//
-void test_vr31() {
- register v16i8 a asm ("$vr31");
- asm ("" :: "f"(a));
-}
diff --git a/clang/test/CodeGen/LoongArch/lsx/inline-asm-operand-modifier.c b/clang/test/CodeGen/LoongArch/lsx/inline-asm-operand-modifier.c
deleted file mode 100644
index 5e0fae984134..000000000000
--- a/clang/test/CodeGen/LoongArch/lsx/inline-asm-operand-modifier.c
+++ /dev/null
@@ -1,15 +0,0 @@
-// NOTE: Assertions have been autogenerated by utils/update_cc_test_checks.py UTC_ARGS: --version 2
-// RUN: %clang_cc1 -triple loongarch64 -emit-llvm -O2 %s -o - | FileCheck %s
-
-typedef long long v2i64 __attribute__ ((vector_size(16), aligned(16)));
-
-// CHECK-LABEL: define dso_local void @test_w
-// CHECK-SAME: () local_unnamed_addr #[[ATTR0:[0-9]+]] {
-// CHECK-NEXT: entry:
-// CHECK-NEXT: [[TMP0:%.*]] = tail call <2 x i64> asm sideeffect "vldi ${0:w}, 1", "=f"() #[[ATTR1:[0-9]+]], !srcloc !2
-// CHECK-NEXT: ret void
-//
-void test_w() {
- v2i64 v2i64_r;
- asm volatile ("vldi %w0, 1" : "=f" (v2i64_r));
-}
diff --git a/llvm/lib/Target/LoongArch/LoongArchAsmPrinter.cpp b/llvm/lib/Target/LoongArch/LoongArchAsmPrinter.cpp
index 27979a830b10..5cf0673df69a 100644
--- a/llvm/lib/Target/LoongArch/LoongArchAsmPrinter.cpp
+++ b/llvm/lib/Target/LoongArch/LoongArchAsmPrinter.cpp
@@ -75,20 +75,6 @@ bool LoongArchAsmPrinter::PrintAsmOperand(const MachineInstr *MI, unsigned OpNo,
return false;
}
break;
- case 'w': // Print LSX registers.
- if (MO.getReg().id() >= LoongArch::VR0 &&
- MO.getReg().id() <= LoongArch::VR31)
- break;
- // The modifier is 'w' but the operand is not an LSX register; Report an
- // unknown operand error.
- return true;
- case 'u': // Print LASX registers.
- if (MO.getReg().id() >= LoongArch::XR0 &&
- MO.getReg().id() <= LoongArch::XR31)
- break;
- // The modifier is 'u' but the operand is not an LASX register; Report an
- // unknown operand error.
- return true;
// TODO: handle other extra codes if any.
}
}
diff --git a/llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp b/llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
index db5961fc501a..488e1c7f3a76 100644
--- a/llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
+++ b/llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
@@ -53,14 +53,6 @@ LoongArchTargetLowering::LoongArchTargetLowering(const TargetMachine &TM,
addRegisterClass(MVT::f32, &LoongArch::FPR32RegClass);
if (Subtarget.hasBasicD())
addRegisterClass(MVT::f64, &LoongArch::FPR64RegClass);
- if (Subtarget.hasExtLSX())
- for (auto VT : {MVT::v4f32, MVT::v2f64, MVT::v16i8, MVT::v8i16, MVT::v4i32,
- MVT::v2i64})
- addRegisterClass(VT, &LoongArch::LSX128RegClass);
- if (Subtarget.hasExtLASX())
- for (auto VT : {MVT::v8f32, MVT::v4f64, MVT::v32i8, MVT::v16i16, MVT::v8i32,
- MVT::v4i64})
- addRegisterClass(VT, &LoongArch::LASX256RegClass);
setLoadExtAction({ISD::EXTLOAD, ISD::SEXTLOAD, ISD::ZEXTLOAD}, GRLenVT,
MVT::i1, Promote);
@@ -3056,12 +3048,6 @@ LoongArchTargetLowering::getRegForInlineAsmConstraint(
return std::make_pair(0U, &LoongArch::FPR32RegClass);
if (Subtarget.hasBasicD() && VT == MVT::f64)
return std::make_pair(0U, &LoongArch::FPR64RegClass);
- if (Subtarget.hasExtLSX() &&
- TRI->isTypeLegalForClass(LoongArch::LSX128RegClass, VT))
- return std::make_pair(0U, &LoongArch::LSX128RegClass);
- if (Subtarget.hasExtLASX() &&
- TRI->isTypeLegalForClass(LoongArch::LASX256RegClass, VT))
- return std::make_pair(0U, &LoongArch::LASX256RegClass);
break;
default:
break;
@@ -3079,8 +3065,7 @@ LoongArchTargetLowering::getRegForInlineAsmConstraint(
// decode the usage of register name aliases into their official names. And
// AFAIK, the not yet upstreamed `rustc` for LoongArch will always use
// official register names.
- if (Constraint.startswith("{$r") || Constraint.startswith("{$f") ||
- Constraint.startswith("{$vr") || Constraint.startswith("{$xr")) {
+ if (Constraint.startswith("{$r") || Constraint.startswith("{$f")) {
bool IsFP = Constraint[2] == 'f';
std::pair<StringRef, StringRef> Temp = Constraint.split('$');
std::pair<unsigned, const TargetRegisterClass *> R;
diff --git a/llvm/test/CodeGen/LoongArch/lasx/inline-asm-operand-modifier.ll b/llvm/test/CodeGen/LoongArch/lasx/inline-asm-operand-modifier.ll
deleted file mode 100644
index 201e34c8b5ae..000000000000
--- a/llvm/test/CodeGen/LoongArch/lasx/inline-asm-operand-modifier.ll
+++ /dev/null
@@ -1,14 +0,0 @@
-; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 2
-; RUN: llc --mtriple=loongarch64 --mattr=+lasx < %s | FileCheck %s
-
-define void @test_u() nounwind {
-; CHECK-LABEL: test_u:
-; CHECK: # %bb.0: # %entry
-; CHECK-NEXT: #APP
-; CHECK-NEXT: xvldi $xr0, 1
-; CHECK-NEXT: #NO_APP
-; CHECK-NEXT: ret
-entry:
- %0 = tail call <4 x i64> asm sideeffect "xvldi ${0:u}, 1", "=f"()
- ret void
-}
diff --git a/llvm/test/CodeGen/LoongArch/lasx/inline-asm-reg-names.ll b/llvm/test/CodeGen/LoongArch/lasx/inline-asm-reg-names.ll
deleted file mode 100644
index dd400ecfcf91..000000000000
--- a/llvm/test/CodeGen/LoongArch/lasx/inline-asm-reg-names.ll
+++ /dev/null
@@ -1,58 +0,0 @@
-; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 2
-; RUN: llc --mtriple=loongarch64 --mattr=+lasx < %s | FileCheck %s
-
-define void @register_xr1() nounwind {
-; CHECK-LABEL: register_xr1:
-; CHECK: # %bb.0: # %entry
-; CHECK-NEXT: #APP
-; CHECK-NEXT: xvldi $xr1, 1
-; CHECK-NEXT: #NO_APP
-; CHECK-NEXT: ret
-entry:
- %0 = tail call <4 x i64> asm sideeffect "xvldi ${0:u}, 1", "={$xr1}"()
- ret void
-}
-
-define void @register_xr7() nounwind {
-; CHECK-LABEL: register_xr7:
-; CHECK: # %bb.0: # %entry
-; CHECK-NEXT: #APP
-; CHECK-NEXT: xvldi $xr7, 1
-; CHECK-NEXT: #NO_APP
-; CHECK-NEXT: ret
-entry:
- %0 = tail call <4 x i64> asm sideeffect "xvldi ${0:u}, 1", "={$xr7}"()
- ret void
-}
-
-define void @register_xr23() nounwind {
-; CHECK-LABEL: register_xr23:
-; CHECK: # %bb.0: # %entry
-; CHECK-NEXT: #APP
-; CHECK-NEXT: xvldi $xr23, 1
-; CHECK-NEXT: #NO_APP
-; CHECK-NEXT: ret
-entry:
- %0 = tail call <4 x i64> asm sideeffect "xvldi ${0:u}, 1", "={$xr23}"()
- ret void
-}
-
-;; The lower 64-bit of the vector register '$xr31' is overlapped with
-;; the floating-point register '$f31' ('$fs7'). And '$f31' ('$fs7')
-;; is a callee-saved register which is preserved across calls.
-;; That's why the fst.d and fld.d instructions are emitted.
-define void @register_xr31() nounwind {
-; CHECK-LABEL: register_xr31:
-; CHECK: # %bb.0: # %entry
-; CHECK-NEXT: addi.d $sp, $sp, -16
-; CHECK-NEXT: fst.d $fs7, $sp, 8 # 8-byte Folded Spill
-; CHECK-NEXT: #APP
-; CHECK-NEXT: xvldi $xr31, 1
-; CHECK-NEXT: #NO_APP
-; CHECK-NEXT: fld.d $fs7, $sp, 8 # 8-byte Folded Reload
-; CHECK-NEXT: addi.d $sp, $sp, 16
-; CHECK-NEXT: ret
-entry:
- %0 = tail call <4 x i64> asm sideeffect "xvldi ${0:u}, 1", "={$xr31}"()
- ret void
-}
diff --git a/llvm/test/CodeGen/LoongArch/lsx/inline-asm-operand-modifier.ll b/llvm/test/CodeGen/LoongArch/lsx/inline-asm-operand-modifier.ll
deleted file mode 100644
index c46e624ddaa8..000000000000
--- a/llvm/test/CodeGen/LoongArch/lsx/inline-asm-operand-modifier.ll
+++ /dev/null
@@ -1,14 +0,0 @@
-; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 2
-; RUN: llc --mtriple=loongarch64 --mattr=+lsx < %s | FileCheck %s
-
-define void @test_w() nounwind {
-; CHECK-LABEL: test_w:
-; CHECK: # %bb.0: # %entry
-; CHECK-NEXT: #APP
-; CHECK-NEXT: vldi $vr0, 1
-; CHECK-NEXT: #NO_APP
-; CHECK-NEXT: ret
-entry:
- %0 = tail call <2 x i64> asm sideeffect "vldi ${0:w}, 1", "=f"()
- ret void
-}
diff --git a/llvm/test/CodeGen/LoongArch/lsx/inline-asm-reg-names.ll b/llvm/test/CodeGen/LoongArch/lsx/inline-asm-reg-names.ll
deleted file mode 100644
index ceea3621be2f..000000000000
--- a/llvm/test/CodeGen/LoongArch/lsx/inline-asm-reg-names.ll
+++ /dev/null
@@ -1,58 +0,0 @@
-; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 2
-; RUN: llc --mtriple=loongarch64 --mattr=+lsx < %s | FileCheck %s
-
-define void @register_vr1() nounwind {
-; CHECK-LABEL: register_vr1:
-; CHECK: # %bb.0: # %entry
-; CHECK-NEXT: #APP
-; CHECK-NEXT: vldi $vr1, 1
-; CHECK-NEXT: #NO_APP
-; CHECK-NEXT: ret
-entry:
- %0 = tail call <2 x i64> asm sideeffect "vldi ${0:w}, 1", "={$vr1}"()
- ret void
-}
-
-define void @register_vr7() nounwind {
-; CHECK-LABEL: register_vr7:
-; CHECK: # %bb.0: # %entry
-; CHECK-NEXT: #APP
-; CHECK-NEXT: vldi $vr7, 1
-; CHECK-NEXT: #NO_APP
-; CHECK-NEXT: ret
-entry:
- %0 = tail call <2 x i64> asm sideeffect "vldi ${0:w}, 1", "={$vr7}"()
- ret void
-}
-
-define void @register_vr23() nounwind {
-; CHECK-LABEL: register_vr23:
-; CHECK: # %bb.0: # %entry
-; CHECK-NEXT: #APP
-; CHECK-NEXT: vldi $vr23, 1
-; CHECK-NEXT: #NO_APP
-; CHECK-NEXT: ret
-entry:
- %0 = tail call <2 x i64> asm sideeffect "vldi ${0:w}, 1", "={$vr23}"()
- ret void
-}
-
-;; The lower half of the vector register '$vr31' is overlapped with
-;; the floating-point register '$f31'. And '$f31' is a callee-saved
-;; register which is preserved across calls. That's why the
-;; fst.d and fld.d instructions are emitted.
-define void @register_vr31() nounwind {
-; CHECK-LABEL: register_vr31:
-; CHECK: # %bb.0: # %entry
-; CHECK-NEXT: addi.d $sp, $sp, -16
-; CHECK-NEXT: fst.d $fs7, $sp, 8 # 8-byte Folded Spill
-; CHECK-NEXT: #APP
-; CHECK-NEXT: vldi $vr31, 1
-; CHECK-NEXT: #NO_APP
-; CHECK-NEXT: fld.d $fs7, $sp, 8 # 8-byte Folded Reload
-; CHECK-NEXT: addi.d $sp, $sp, 16
-; CHECK-NEXT: ret
-entry:
- %0 = tail call <2 x i64> asm sideeffect "vldi ${0:w}, 1", "={$vr31}"()
- ret void
-}
--
2.20.1

View File

@ -1,355 +0,0 @@
Description: Fix SIMD compatibility headers on ppc64el
Origin/Author: https://reviews.llvm.org/D158066
Bug-Debian: https://bugs.debian.org/1049362
diff --git a/clang/include/clang/Basic/BuiltinsPPC.def b/clang/include/clang/Basic/BuiltinsPPC.def
--- a/clang/include/clang/Basic/BuiltinsPPC.def
+++ b/clang/include/clang/Basic/BuiltinsPPC.def
@@ -151,8 +151,10 @@
TARGET_BUILTIN(__builtin_ppc_extract_sig, "ULLid", "", "power9-vector")
BUILTIN(__builtin_ppc_mtfsb0, "vUIi", "")
BUILTIN(__builtin_ppc_mtfsb1, "vUIi", "")
+BUILTIN(__builtin_ppc_mffs, "d", "")
BUILTIN(__builtin_ppc_mtfsf, "vUIiUi", "")
BUILTIN(__builtin_ppc_mtfsfi, "vUIiUIi", "")
+BUILTIN(__builtin_ppc_set_fpscr_rn, "di", "")
TARGET_BUILTIN(__builtin_ppc_insert_exp, "ddULLi", "", "power9-vector")
BUILTIN(__builtin_ppc_fmsub, "dddd", "")
BUILTIN(__builtin_ppc_fmsubs, "ffff", "")
diff --git a/clang/lib/Basic/Targets/PPC.cpp b/clang/lib/Basic/Targets/PPC.cpp
--- a/clang/lib/Basic/Targets/PPC.cpp
+++ b/clang/lib/Basic/Targets/PPC.cpp
@@ -262,6 +262,10 @@
Builder.defineMacro("__builtin_minfe", "__builtin_ppc_minfe");
Builder.defineMacro("__builtin_minfl", "__builtin_ppc_minfl");
Builder.defineMacro("__builtin_minfs", "__builtin_ppc_minfs");
+ Builder.defineMacro("__builtin_mffs", "__builtin_ppc_mffs");
+ Builder.defineMacro("__builtin_mffsl", "__builtin_ppc_mffsl");
+ Builder.defineMacro("__builtin_mtfsf", "__builtin_ppc_mtfsf");
+ Builder.defineMacro("__builtin_set_fpscr_rn", "__builtin_ppc_set_fpscr_rn");
}
/// PPCTargetInfo::getTargetDefines - Return a set of the PowerPC-specific
diff --git a/clang/lib/CodeGen/CGBuiltin.cpp b/clang/lib/CodeGen/CGBuiltin.cpp
--- a/clang/lib/CodeGen/CGBuiltin.cpp
+++ b/clang/lib/CodeGen/CGBuiltin.cpp
@@ -17062,6 +17062,11 @@
Value *Op1 = EmitScalarExpr(E->getArg(1));
return Builder.CreateFDiv(Op0, Op1, "swdiv");
}
+ case PPC::BI__builtin_ppc_set_fpscr_rn:
+ return Builder.CreateCall(CGM.getIntrinsic(Intrinsic::ppc_setrnd),
+ {EmitScalarExpr(E->getArg(0))});
+ case PPC::BI__builtin_ppc_mffs:
+ return Builder.CreateCall(CGM.getIntrinsic(Intrinsic::ppc_readflm));
}
}
diff --git a/clang/lib/Headers/ppc_wrappers/smmintrin.h b/clang/lib/Headers/ppc_wrappers/smmintrin.h
--- a/clang/lib/Headers/ppc_wrappers/smmintrin.h
+++ b/clang/lib/Headers/ppc_wrappers/smmintrin.h
@@ -14,7 +14,7 @@
#ifndef NO_WARN_X86_INTRINSICS
/* This header is distributed to simplify porting x86_64 code that
- makes explicit use of Intel intrinsics to powerp64/powerpc64le.
+ makes explicit use of Intel intrinsics to powerpc64/powerpc64le.
It is the user's responsibility to determine if the results are
acceptable and make additional changes as necessary.
@@ -68,10 +68,10 @@
__asm__("mffsce %0" : "=f"(__fpscr_save.__fr));
__enables_save.__fpscr = __fpscr_save.__fpscr & 0xf8;
#else
- __fpscr_save.__fr = __builtin_mffs();
+ __fpscr_save.__fr = __builtin_ppc_mffs();
__enables_save.__fpscr = __fpscr_save.__fpscr & 0xf8;
__fpscr_save.__fpscr &= ~0xf8;
- __builtin_mtfsf(0b00000011, __fpscr_save.__fr);
+ __builtin_ppc_mtfsf(0b00000011, __fpscr_save.__fr);
#endif
/* Insert an artificial "read/write" reference to the variable
read below, to ensure the compiler does not schedule
@@ -83,10 +83,15 @@
switch (__rounding) {
case _MM_FROUND_TO_NEAREST_INT:
- __fpscr_save.__fr = __builtin_mffsl();
+#ifdef _ARCH_PWR9
+ __fpscr_save.__fr = __builtin_ppc_mffsl();
+#else
+ __fpscr_save.__fr = __builtin_ppc_mffs();
+ __fpscr_save.__fpscr &= 0x70007f0ffL;
+#endif
__attribute__((fallthrough));
case _MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC:
- __builtin_set_fpscr_rn(0b00);
+ __builtin_ppc_set_fpscr_rn(0b00);
/* Insert an artificial "read/write" reference to the variable
read below, to ensure the compiler does not schedule
a read/use of the variable before the FPSCR is modified, above.
@@ -102,7 +107,7 @@
This can be removed if and when GCC PR102783 is fixed.
*/
__asm__("" : : "wa"(__r));
- __builtin_set_fpscr_rn(__fpscr_save.__fpscr);
+ __builtin_ppc_set_fpscr_rn(__fpscr_save.__fpscr);
break;
case _MM_FROUND_TO_NEG_INF:
case _MM_FROUND_TO_NEG_INF | _MM_FROUND_NO_EXC:
@@ -128,9 +133,14 @@
*/
__asm__("" : : "wa"(__r));
/* Restore enabled exceptions. */
- __fpscr_save.__fr = __builtin_mffsl();
+#ifdef _ARCH_PWR9
+ __fpscr_save.__fr = __builtin_ppc_mffsl();
+#else
+ __fpscr_save.__fr = __builtin_ppc_mffs();
+ __fpscr_save.__fpscr &= 0x70007f0ffL;
+#endif
__fpscr_save.__fpscr |= __enables_save.__fpscr;
- __builtin_mtfsf(0b00000011, __fpscr_save.__fr);
+ __builtin_ppc_mtfsf(0b00000011, __fpscr_save.__fr);
}
return (__m128d)__r;
}
@@ -159,10 +169,10 @@
__asm__("mffsce %0" : "=f"(__fpscr_save.__fr));
__enables_save.__fpscr = __fpscr_save.__fpscr & 0xf8;
#else
- __fpscr_save.__fr = __builtin_mffs();
+ __fpscr_save.__fr = __builtin_ppc_mffs();
__enables_save.__fpscr = __fpscr_save.__fpscr & 0xf8;
__fpscr_save.__fpscr &= ~0xf8;
- __builtin_mtfsf(0b00000011, __fpscr_save.__fr);
+ __builtin_ppc_mtfsf(0b00000011, __fpscr_save.__fr);
#endif
/* Insert an artificial "read/write" reference to the variable
read below, to ensure the compiler does not schedule
@@ -174,10 +184,15 @@
switch (__rounding) {
case _MM_FROUND_TO_NEAREST_INT:
- __fpscr_save.__fr = __builtin_mffsl();
+#ifdef _ARCH_PWR9
+ __fpscr_save.__fr = __builtin_ppc_mffsl();
+#else
+ __fpscr_save.__fr = __builtin_ppc_mffs();
+ __fpscr_save.__fpscr &= 0x70007f0ffL;
+#endif
__attribute__((fallthrough));
case _MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC:
- __builtin_set_fpscr_rn(0b00);
+ __builtin_ppc_set_fpscr_rn(0b00);
/* Insert an artificial "read/write" reference to the variable
read below, to ensure the compiler does not schedule
a read/use of the variable before the FPSCR is modified, above.
@@ -193,7 +208,7 @@
This can be removed if and when GCC PR102783 is fixed.
*/
__asm__("" : : "wa"(__r));
- __builtin_set_fpscr_rn(__fpscr_save.__fpscr);
+ __builtin_ppc_set_fpscr_rn(__fpscr_save.__fpscr);
break;
case _MM_FROUND_TO_NEG_INF:
case _MM_FROUND_TO_NEG_INF | _MM_FROUND_NO_EXC:
@@ -219,9 +234,14 @@
*/
__asm__("" : : "wa"(__r));
/* Restore enabled exceptions. */
- __fpscr_save.__fr = __builtin_mffsl();
+#ifdef _ARCH_PWR9
+ __fpscr_save.__fr = __builtin_ppc_mffsl();
+#else
+ __fpscr_save.__fr = __builtin_ppc_mffs();
+ __fpscr_save.__fpscr &= 0x70007f0ffL;
+#endif
__fpscr_save.__fpscr |= __enables_save.__fpscr;
- __builtin_mtfsf(0b00000011, __fpscr_save.__fr);
+ __builtin_ppc_mtfsf(0b00000011, __fpscr_save.__fr);
}
return (__m128)__r;
}
diff --git a/clang/test/CodeGen/PowerPC/builtins-ppc.c b/clang/test/CodeGen/PowerPC/builtins-ppc.c
--- a/clang/test/CodeGen/PowerPC/builtins-ppc.c
+++ b/clang/test/CodeGen/PowerPC/builtins-ppc.c
@@ -1,5 +1,8 @@
// REQUIRES: powerpc-registered-target
-// RUN: %clang_cc1 -triple powerpc-unknown-unknown -emit-llvm %s -o - | FileCheck %s
+// RUN: %clang_cc1 -triple powerpc-unknown-unknown -emit-llvm %s -o - \
+// RUN: | FileCheck %s
+// RUN: %clang_cc1 -triple powerpc-unknown-unknown -emit-llvm %s -o - \
+// RUN: -target-cpu pwr9 | FileCheck %s --check-prefixes=P9,CHECK
void test_eh_return_data_regno()
{
@@ -26,6 +29,9 @@
// CHECK: call double @llvm.ppc.setrnd(i32 %2)
res = __builtin_setrnd(x);
+
+ // CHECK: call double @llvm.ppc.setrnd(i32 %4)
+ res = __builtin_ppc_set_fpscr_rn(x);
}
void test_builtin_ppc_flm() {
@@ -33,7 +39,10 @@
// CHECK: call double @llvm.ppc.readflm()
res = __builtin_readflm();
- // CHECK: call double @llvm.ppc.setflm(double %1)
+ // CHECK: call double @llvm.ppc.readflm()
+ res = __builtin_ppc_mffs();
+
+ // CHECK: call double @llvm.ppc.setflm(double %2)
res = __builtin_setflm(res);
}
diff --git a/clang/test/CodeGen/PowerPC/ppc-emmintrin.c b/clang/test/CodeGen/PowerPC/ppc-emmintrin.c
--- a/clang/test/CodeGen/PowerPC/ppc-emmintrin.c
+++ b/clang/test/CodeGen/PowerPC/ppc-emmintrin.c
@@ -8,6 +8,11 @@
// RUN: %clang -S -emit-llvm -target powerpc64le-unknown-linux-gnu -mcpu=pwr10 -ffreestanding -DNO_WARN_X86_INTRINSICS %s \
// RUN: -ffp-contract=off -fno-discard-value-names -mllvm -disable-llvm-optzns -o - | llvm-cxxfilt -n | FileCheck %s --check-prefixes=CHECK-P10
+// RUN: %clang -x c++ -S -emit-llvm -target powerpc64le-unknown-linux-gnu -mcpu=pwr8 -ffreestanding -DNO_WARN_X86_INTRINSICS %s \
+// RUN: -ffp-contract=off -fno-discard-value-names -mllvm -disable-llvm-optzns -fsyntax-only
+// RUN: %clang -x c++ -S -emit-llvm -target powerpc64le-unknown-linux-gnu -mcpu=pwr10 -ffreestanding -DNO_WARN_X86_INTRINSICS %s \
+// RUN: -ffp-contract=off -fno-discard-value-names -mllvm -disable-llvm-optzns -fsyntax-only
+
// RUN: %clang -S -emit-llvm -target powerpc64-ibm-aix -mcpu=pwr8 -ffreestanding -DNO_WARN_X86_INTRINSICS %s \
// RUN: -ffp-contract=off -fno-discard-value-names -mllvm -disable-llvm-optzns -o - | llvm-cxxfilt -n | FileCheck %s --check-prefixes=CHECK,CHECK-BE
// RUN: %clang -S -emit-llvm -target powerpc64-ibm-aix -mcpu=pwr10 -ffreestanding -DNO_WARN_X86_INTRINSICS %s \
diff --git a/clang/test/CodeGen/PowerPC/ppc-mmintrin.c b/clang/test/CodeGen/PowerPC/ppc-mmintrin.c
--- a/clang/test/CodeGen/PowerPC/ppc-mmintrin.c
+++ b/clang/test/CodeGen/PowerPC/ppc-mmintrin.c
@@ -9,6 +9,11 @@
// RUN: %clang -S -emit-llvm -target powerpc64le-unknown-linux-gnu -mcpu=pwr9 -DNO_WARN_X86_INTRINSICS %s \
// RUN: -fno-discard-value-names -mllvm -disable-llvm-optzns -o - | llvm-cxxfilt -n| FileCheck %s --check-prefixes=CHECK-P9,CHECK,CHECK-LE
+// RUN: %clang -x c++ -S -emit-llvm -target powerpc64le-unknown-linux-gnu -mcpu=pwr8 -DNO_WARN_X86_INTRINSICS %s \
+// RUN: -fno-discard-value-names -mllvm -disable-llvm-optzns -fsyntax-only
+// RUN: %clang -x c++ -S -emit-llvm -target powerpc64le-unknown-linux-gnu -mcpu=pwr9 -DNO_WARN_X86_INTRINSICS %s \
+// RUN: -fno-discard-value-names -mllvm -disable-llvm-optzns -fsyntax-only
+
// RUN: %clang -S -emit-llvm -target powerpc64-unknown-freebsd13.0 -mcpu=pwr8 -DNO_WARN_X86_INTRINSICS %s \
// RUN: -fno-discard-value-names -mllvm -disable-llvm-optzns -o - | llvm-cxxfilt -n | FileCheck %s --check-prefixes=CHECK-P8,CHECK,CHECK-BE
// RUN: %clang -S -emit-llvm -target powerpc64le-unknown-freebsd13.0 -mcpu=pwr8 -DNO_WARN_X86_INTRINSICS %s \
diff --git a/clang/test/CodeGen/PowerPC/ppc-pmmintrin.c b/clang/test/CodeGen/PowerPC/ppc-pmmintrin.c
--- a/clang/test/CodeGen/PowerPC/ppc-pmmintrin.c
+++ b/clang/test/CodeGen/PowerPC/ppc-pmmintrin.c
@@ -13,6 +13,9 @@
// RUN: %clang -S -emit-llvm -target powerpc64-ibm-aix -mcpu=pwr8 -DNO_MM_MALLOC -ffreestanding -DNO_WARN_X86_INTRINSICS %s \
// RUN: -fno-discard-value-names -mllvm -disable-llvm-optzns -o - | llvm-cxxfilt -n | FileCheck %s
+// RUN: %clang -x c++ -S -emit-llvm -target powerpc64le-gnu-linux -mcpu=pwr8 -DNO_MM_MALLOC -ffreestanding -DNO_WARN_X86_INTRINSICS %s \
+// RUN: -fno-discard-value-names -mllvm -disable-llvm-optzns -fsyntax-only
+
#include <pmmintrin.h>
__m128d resd, md1, md2;
diff --git a/clang/test/CodeGen/PowerPC/ppc-smmintrin.c b/clang/test/CodeGen/PowerPC/ppc-smmintrin.c
--- a/clang/test/CodeGen/PowerPC/ppc-smmintrin.c
+++ b/clang/test/CodeGen/PowerPC/ppc-smmintrin.c
@@ -15,6 +15,11 @@
// RUN: %clang -S -emit-llvm -target powerpc64-unknown-linux-gnu -mcpu=pwr10 -ffreestanding -DNO_WARN_X86_INTRINSICS %s \
// RUN: -fno-discard-value-names -mllvm -disable-llvm-optzns -o - | llvm-cxxfilt -n | FileCheck %s --check-prefix=P10
+// RUN: %clang -x c++ -S -emit-llvm -target powerpc64le-unknown-linux-gnu -mcpu=pwr8 -ffreestanding -DNO_WARN_X86_INTRINSICS %s \
+// RUN: -fno-discard-value-names -mllvm -disable-llvm-optzns -fsyntax-only
+// RUN: %clang -x c++ -S -emit-llvm -target powerpc64le-unknown-linux-gnu -mcpu=pwr10 -ffreestanding -DNO_WARN_X86_INTRINSICS %s \
+// RUN: -fno-discard-value-names -mllvm -disable-llvm-optzns -fsyntax-only
+
// RUN: %clang -S -emit-llvm -target powerpc64le-unknown-freebsd13.0 -mcpu=pwr8 -ffreestanding -DNO_WARN_X86_INTRINSICS %s \
// RUN: -fno-discard-value-names -mllvm -disable-llvm-optzns -o - | llvm-cxxfilt -n | FileCheck %s
// RUN: %clang -S -emit-llvm -target powerpc64-unknown-freebsd13.0 -mcpu=pwr8 -ffreestanding -DNO_WARN_X86_INTRINSICS %s \
@@ -239,44 +244,48 @@
// CHECK-LABEL: @test_round
// CHECK-LABEL: define available_externally <4 x float> @_mm_round_ps(<4 x float> noundef %{{[0-9a-zA-Z_.]+}}, i32 noundef signext %{{[0-9a-zA-Z_.]+}})
-// CHECK: call signext i32 @__builtin_mffs()
-// CHECK: call signext i32 @__builtin_mtfsf(i32 noundef signext 3, double noundef %{{[0-9a-zA-Z_.]+}})
+// CHECK: call double @llvm.ppc.readflm()
+// CHECK: call void @llvm.ppc.mtfsf(i32 3, double %{{[0-9a-zA-Z_.]+}})
// CHECK: %{{[0-9a-zA-Z_.]+}} = call <4 x float> asm "", "=^wa,0"
-// CHECK: call signext i32 @__builtin_mffsl()
-// CHECK: call signext i32 @__builtin_set_fpscr_rn(i32 noundef signext 0)
+// CHECK: call double @llvm.ppc.readflm()
+// P10: call double @llvm.ppc.mffsl()
+// CHECK: call double @llvm.ppc.setrnd(i32 0)
// CHECK: %{{[0-9a-zA-Z_.]+}} = call <4 x float> asm "", "=^wa,0"
// CHECK: call <4 x float> @vec_rint(float vector[4])
// CHECK: call void asm sideeffect "", "^wa"
-// CHECK: call signext i32 @__builtin_set_fpscr_rn(i64 noundef %{{[0-9a-zA-Z_.]+}})
+// CHECK: call double @llvm.ppc.setrnd(i32 %{{[0-9a-zA-Z_.]+}})
// CHECK: call <4 x float> @vec_floor(float vector[4])
// CHECK: call <4 x float> @vec_ceil(float vector[4])
// CHECK: call <4 x float> @vec_trunc(float vector[4])
// CHECK: call <4 x float> @vec_rint(float vector[4])
// CHECK: call void asm sideeffect "", "^wa"
-// CHECK: call signext i32 @__builtin_mffsl()
-// CHECK: call signext i32 @__builtin_mtfsf(i32 noundef signext 3, double noundef %{{[0-9a-zA-Z_.]+}})
+// CHECK: call double @llvm.ppc.readflm()
+// P10: call double @llvm.ppc.mffsl()
+// CHECK: call void @llvm.ppc.mtfsf(i32 3, double %{{[0-9a-zA-Z_.]+}})
// CHECK-LABEL: define available_externally <4 x float> @_mm_round_ss(<4 x float> noundef %{{[0-9a-zA-Z_.]+}}, <4 x float> noundef %{{[0-9a-zA-Z_.]+}}, i32 noundef signext %{{[0-9a-zA-Z_.]+}})
// CHECK: call <4 x float> @_mm_round_ps(<4 x float> noundef %{{[0-9a-zA-Z_.]+}}, i32 noundef signext %{{[0-9a-zA-Z_.]+}})
// CHECK: extractelement <4 x float> %{{[0-9a-zA-Z_.]+}}, i32 0
// CHECK-LABEL: define available_externally <2 x double> @_mm_round_pd(<2 x double> noundef %{{[0-9a-zA-Z_.]+}}, i32 noundef signext %{{[0-9a-zA-Z_.]+}})
-// CHECK: call signext i32 @__builtin_mffs()
-// CHECK: call signext i32 @__builtin_mtfsf(i32 noundef signext 3, double noundef %{{[0-9a-zA-Z_.]+}})
+// CHECK: call double @llvm.ppc.readflm()
+// CHECK: call void @llvm.ppc.mtfsf(i32 3, double %{{[0-9a-zA-Z_.]+}})
// CHECK: %{{[0-9a-zA-Z_.]+}} = call <2 x double> asm "", "=^wa,0"
-// CHECK: call signext i32 @__builtin_mffsl()
-// CHECK: call signext i32 @__builtin_set_fpscr_rn(i32 noundef signext 0)
+// CHECK: call double @llvm.ppc.readflm()
+// P10: call double @llvm.ppc.mffsl()
+// CHECK: call double @llvm.ppc.setrnd(i32 0)
// CHECK: %{{[0-9a-zA-Z_.]+}} = call <2 x double> asm "", "=^wa,0"
// CHECK: call <2 x double> @vec_rint(double vector[2])
// CHECK: call void asm sideeffect "", "^wa"
-// CHECK: call signext i32 @__builtin_set_fpscr_rn(i64 noundef %{{[0-9a-zA-Z_.]+}})
+// CHECK: call double @llvm.ppc.setrnd(i32 %{{[0-9a-zA-Z_.]+}})
// CHECK: call <2 x double> @vec_floor(double vector[2])
// CHECK: call <2 x double> @vec_ceil(double vector[2])
// CHECK: call <2 x double> @vec_trunc(double vector[2])
// CHECK: call <2 x double> @vec_rint(double vector[2])
// CHECK: call void asm sideeffect "", "^wa"
-// CHECK: call signext i32 @__builtin_mffsl()
-// CHECK: call signext i32 @__builtin_mtfsf(i32 noundef signext 3, double noundef %{{[0-9a-zA-Z_.]+}})
+// CHECK: call double @llvm.ppc.readflm()
+// P10: call double @llvm.ppc.mffsl()
+// CHECK: call void @llvm.ppc.mtfsf(i32 3, double %{{[0-9a-zA-Z_.]+}})
// CHECK-LABEL: define available_externally <2 x double> @_mm_round_sd(<2 x double> noundef %{{[0-9a-zA-Z_.]+}}, <2 x double> noundef %{{[0-9a-zA-Z_.]+}}, i32 noundef signext %{{[0-9a-zA-Z_.]+}})
// CHECK: call <2 x double> @_mm_round_pd(<2 x double> noundef %{{[0-9a-zA-Z_.]+}}, i32 noundef signext %{{[0-9a-zA-Z_.]+}})
diff --git a/clang/test/CodeGen/PowerPC/ppc-tmmintrin.c b/clang/test/CodeGen/PowerPC/ppc-tmmintrin.c
--- a/clang/test/CodeGen/PowerPC/ppc-tmmintrin.c
+++ b/clang/test/CodeGen/PowerPC/ppc-tmmintrin.c
@@ -13,6 +13,9 @@
// RUN: %clang -S -emit-llvm -target powerpc64-ibm-aix -mcpu=pwr8 -ffreestanding -DNO_WARN_X86_INTRINSICS %s \
// RUN: -fno-discard-value-names -mllvm -disable-llvm-optzns -o - | llvm-cxxfilt -n | FileCheck %s --check-prefixes=CHECK,CHECK-BE
+// RUN: %clang -x c++ -S -emit-llvm -target powerpc64le-gnu-linux -mcpu=pwr8 -ffreestanding -DNO_WARN_X86_INTRINSICS %s \
+// RUN: -fno-discard-value-names -mllvm -disable-llvm-optzns -fsyntax-only
+
#include <tmmintrin.h>
__m64 res, m1, m2;
diff --git a/clang/test/CodeGen/PowerPC/ppc-x86gprintrin.c b/clang/test/CodeGen/PowerPC/ppc-x86gprintrin.c
--- a/clang/test/CodeGen/PowerPC/ppc-x86gprintrin.c
+++ b/clang/test/CodeGen/PowerPC/ppc-x86gprintrin.c
@@ -12,6 +12,9 @@
// RUN: %clang -S -emit-llvm -target powerpc64-ibm-aix -mcpu=pwr7 -ffreestanding -DNO_WARN_X86_INTRINSICS %s \
// RUN: -fno-discard-value-names -mllvm -disable-llvm-optzns -o - | llvm-cxxfilt -n | FileCheck %s
+// RUN: %clang -x c++ -S -emit-llvm -target powerpc64le-unknown-linux-gnu -mcpu=pwr7 -ffreestanding -DNO_WARN_X86_INTRINSICS %s \
+// RUN: -fno-discard-value-names -mllvm -disable-llvm-optzns -fsyntax-only
+
#include <x86gprintrin.h>
unsigned short us;

View File

@ -1,6 +1,8 @@
--- a/llvm/lib/TargetParser/ARMTargetParser.cpp
+++ b/llvm/lib/TargetParser/ARMTargetParser.cpp
@@ -590,9 +590,9 @@ StringRef ARM::getARMCPUForArch(const ll
Index: llvm-toolchain-18_18.1.2/llvm/lib/TargetParser/ARMTargetParser.cpp
===================================================================
--- llvm-toolchain-18_18.1.2.orig/llvm/lib/TargetParser/ARMTargetParser.cpp
+++ llvm-toolchain-18_18.1.2/llvm/lib/TargetParser/ARMTargetParser.cpp
@@ -636,9 +636,9 @@ StringRef ARM::getARMCPUForArch(const ll
case llvm::Triple::EABIHF:
case llvm::Triple::GNUEABIHF:
case llvm::Triple::MuslEABIHF:

View File

@ -10,7 +10,7 @@ Index: llvm-toolchain-snapshot_17~++20211117120952+5b4bfd8c2417/clang/tools/scan
$Clang = $ENV{'CLANG_CXX'};
- if (!defined $Clang || ! -x $Clang) { $Clang = 'clang++'; }
+ if (!defined $Clang || ! -x $Clang) { $Clang = 'clang++-17'; }
+ if (!defined $Clang || ! -x $Clang) { $Clang = 'clang++-18'; }
$IsCXX = 1
}
@ -19,7 +19,7 @@ Index: llvm-toolchain-snapshot_17~++20211117120952+5b4bfd8c2417/clang/tools/scan
$Clang = $ENV{'CLANG'};
- if (!defined $Clang || ! -x $Clang) { $Clang = 'clang'; }
+ if (!defined $Clang || ! -x $Clang) { $Clang = 'clang-17'; }
+ if (!defined $Clang || ! -x $Clang) { $Clang = 'clang-18'; }
$IsCXX = 0
}

View File

@ -13,7 +13,7 @@ Index: llvm-toolchain-snapshot_17~++20230523093327+96a003b9bf79/clang/tools/clan
parser.add_argument(
"-binary",
- default="clang-format",
+ default="clang-format-17",
+ default="clang-format-18",
help="location of binary to use for clang-format",
)
args = parser.parse_args()
@ -26,7 +26,7 @@ Index: llvm-toolchain-snapshot_17~++20230523093327+96a003b9bf79/clang/tools/clan
(defcustom clang-format-executable
- (or (executable-find "clang-format")
+ (or (executable-find "clang-format-17")
+ (or (executable-find "clang-format-18")
"clang-format")
"Location of the clang-format executable.
@ -39,7 +39,7 @@ Index: llvm-toolchain-snapshot_17~++20230523093327+96a003b9bf79/clang/tools/clan
# 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-17"
+binary = "clang-format-18"
if vim.eval('exists("g:clang_format_path")') == "1":
binary = vim.eval("g:clang_format_path")

View File

@ -0,0 +1,22 @@
Description: Record GCC-style command-line switches by default
This makes Clang default behaviour more like GCC where if debug
symbol generation is enabled, the command-line switches data
will be stored inside the debug symbols.
Author: Zixing Liu <zixing.liu@canonical.com>
Forwarded: https://github.com/llvm/llvm-project/issues/94690
Last-Update: 2024-06-04
---
This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
Index: llvm-toolchain-18-18.1.6/clang/lib/Driver/ToolChains/Clang.cpp
===================================================================
--- llvm-toolchain-18-18.1.6.orig/clang/lib/Driver/ToolChains/Clang.cpp
+++ llvm-toolchain-18-18.1.6/clang/lib/Driver/ToolChains/Clang.cpp
@@ -7390,7 +7390,7 @@ void Clang::ConstructJob(Compilation &C,
// By default, -gno-record-gcc-switches is set on and no recording.
auto GRecordSwitches =
Args.hasFlag(options::OPT_grecord_command_line,
- options::OPT_gno_record_command_line, false);
+ options::OPT_gno_record_command_line, true);
auto FRecordSwitches =
Args.hasFlag(options::OPT_frecord_command_line,
options::OPT_fno_record_command_line, false);

View File

@ -1,19 +1,19 @@
Index: llvm-toolchain-snapshot_17~++20230523093327+96a003b9bf79/clang-tools-extra/clang-tidy/tool/run-clang-tidy.py
Index: llvm-toolchain-snapshot_18~++20231101090856+e144ae54dcb9/clang-tools-extra/clang-tidy/tool/run-clang-tidy.py
===================================================================
--- llvm-toolchain-snapshot_17~++20230523093327+96a003b9bf79.orig/clang-tools-extra/clang-tidy/tool/run-clang-tidy.py
+++ llvm-toolchain-snapshot_17~++20230523093327+96a003b9bf79/clang-tools-extra/clang-tidy/tool/run-clang-tidy.py
@@ -256,10 +256,13 @@ def main():
help="allow alpha checkers from " "clang-analyzer.",
--- llvm-toolchain-snapshot_18~++20231101090856+e144ae54dcb9.orig/clang-tools-extra/clang-tidy/tool/run-clang-tidy.py
+++ llvm-toolchain-snapshot_18~++20231101090856+e144ae54dcb9/clang-tools-extra/clang-tidy/tool/run-clang-tidy.py
@@ -260,10 +260,13 @@ def main():
help="allow alpha checkers from clang-analyzer.",
)
parser.add_argument(
- "-clang-tidy-binary", metavar="PATH", help="path to clang-tidy binary"
+ "-clang-tidy-binary", metavar="PATH",
+ default='clang-tidy-17',
+ default='clang-tidy-18',
+ help="path to clang-tidy binary"
)
parser.add_argument(
"-clang-apply-replacements-binary",
+ default='clang-apply-replacements-17',
+ default='clang-apply-replacements-18',
metavar="PATH",
help="path to clang-apply-replacements binary",
)

View File

@ -0,0 +1,16 @@
--- a/lld/ELF/Driver.cpp
+++ b/lld/ELF/Driver.cpp
@@ -1335,6 +1335,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);

View File

@ -6,7 +6,7 @@ Index: llvm-toolchain-snapshot_17~++20200326172000+4673699a470/clang/tools/scan-
kMaxPortsToTry = 100
###
+BASE_DIR = '/usr/share/clang/scan-view-17'
+BASE_DIR = '/usr/share/clang/scan-view-18'
def url_is_up(url):

View File

@ -1,8 +1,8 @@
Index: llvm-toolchain-snapshot_17~++20230523093327+96a003b9bf79/compiler-rt/lib/builtins/CMakeLists.txt
Index: llvm-toolchain-18_18.1.2/compiler-rt/lib/builtins/CMakeLists.txt
===================================================================
--- llvm-toolchain-snapshot_17~++20230523093327+96a003b9bf79.orig/compiler-rt/lib/builtins/CMakeLists.txt
+++ llvm-toolchain-snapshot_17~++20230523093327+96a003b9bf79/compiler-rt/lib/builtins/CMakeLists.txt
@@ -765,6 +765,12 @@ else ()
--- llvm-toolchain-18_18.1.2.orig/compiler-rt/lib/builtins/CMakeLists.txt
+++ llvm-toolchain-18_18.1.2/compiler-rt/lib/builtins/CMakeLists.txt
@@ -772,6 +772,12 @@ else ()
append_list_if(COMPILER_RT_ENABLE_CET -fcf-protection=full BUILTIN_CFLAGS)
endif()
@ -13,5 +13,5 @@ Index: llvm-toolchain-snapshot_17~++20230523093327+96a003b9bf79/compiler-rt/lib/
+ 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)
# These flags would normally be added to CMAKE_C_FLAGS by the llvm

View File

@ -1,8 +1,8 @@
Index: llvm-toolchain-snapshot_17~++20230309125305+68367141dd91/clang/lib/Basic/FileManager.cpp
Index: llvm-toolchain-snapshot_18~++20230928085653+a7f962c00745/clang/lib/Basic/FileManager.cpp
===================================================================
--- llvm-toolchain-snapshot_17~++20230309125305+68367141dd91.orig/clang/lib/Basic/FileManager.cpp
+++ llvm-toolchain-snapshot_17~++20230309125305+68367141dd91/clang/lib/Basic/FileManager.cpp
@@ -610,6 +610,12 @@ FileManager::getNoncachedStatValue(Strin
--- llvm-toolchain-snapshot_18~++20230928085653+a7f962c00745.orig/clang/lib/Basic/FileManager.cpp
+++ llvm-toolchain-snapshot_18~++20230928085653+a7f962c00745/clang/lib/Basic/FileManager.cpp
@@ -611,6 +611,12 @@ FileManager::getNoncachedStatValue(Strin
return std::error_code();
}
@ -13,12 +13,12 @@ Index: llvm-toolchain-snapshot_17~++20230309125305+68367141dd91/clang/lib/Basic/
+
+
void FileManager::GetUniqueIDMapping(
SmallVectorImpl<const FileEntry *> &UIDToFiles) const {
SmallVectorImpl<OptionalFileEntryRef> &UIDToFiles) const {
UIDToFiles.clear();
Index: llvm-toolchain-snapshot_17~++20230309125305+68367141dd91/lldb/include/lldb/lldb-defines.h
Index: llvm-toolchain-snapshot_18~++20230928085653+a7f962c00745/lldb/include/lldb/lldb-defines.h
===================================================================
--- llvm-toolchain-snapshot_17~++20230309125305+68367141dd91.orig/lldb/include/lldb/lldb-defines.h
+++ llvm-toolchain-snapshot_17~++20230309125305+68367141dd91/lldb/include/lldb/lldb-defines.h
--- llvm-toolchain-snapshot_18~++20230928085653+a7f962c00745.orig/lldb/include/lldb/lldb-defines.h
+++ llvm-toolchain-snapshot_18~++20230928085653+a7f962c00745/lldb/include/lldb/lldb-defines.h
@@ -15,6 +15,11 @@
#define INT32_MAX 2147483647
#endif

View File

@ -1,6 +1,8 @@
--- a/clang/tools/libclang/CMakeLists.txt
+++ b/clang/tools/libclang/CMakeLists.txt
@@ -196,7 +196,7 @@
Index: llvm-toolchain-18_18.1.2/clang/tools/libclang/CMakeLists.txt
===================================================================
--- llvm-toolchain-18_18.1.2.orig/clang/tools/libclang/CMakeLists.txt
+++ llvm-toolchain-18_18.1.2/clang/tools/libclang/CMakeLists.txt
@@ -208,7 +208,7 @@ if(ENABLE_SHARED)
OBJECT_DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/libclang.map)
set_target_properties(libclang PROPERTIES

View File

@ -1,15 +1,19 @@
Index: llvm-toolchain-snapshot_17~++20230222041723+465ee9bfb26d/libcxx/include/__atomic/aliases.h
Index: llvm-toolchain-snapshot_18~++20231122103518+575c9bf940e5/libcxx/include/__atomic/aliases.h
===================================================================
--- llvm-toolchain-snapshot_17~++20230222041723+465ee9bfb26d.orig/libcxx/include/__atomic/aliases.h
+++ llvm-toolchain-snapshot_17~++20230222041723+465ee9bfb26d/libcxx/include/__atomic/aliases.h
@@ -107,9 +107,12 @@ using __libcpp_unsigned_lock_free = __co
--- llvm-toolchain-snapshot_18~++20231122103518+575c9bf940e5.orig/libcxx/include/__atomic/aliases.h
+++ llvm-toolchain-snapshot_18~++20231122103518+575c9bf940e5/libcxx/include/__atomic/aliases.h
@@ -96,6 +96,7 @@ using __largest_lock_free_type = char;
# endif
#if !defined(_LIBCPP_NO_LOCK_FREE_TYPES)
# ifndef _LIBCPP_NO_LOCK_FREE_TYPES
+#ifndef NO_LOCK_FREE
using atomic_signed_lock_free = atomic<__libcpp_signed_lock_free>;
using atomic_unsigned_lock_free = atomic<__libcpp_unsigned_lock_free>;
#endif
using __contention_t_or_largest =
__conditional_t<__libcpp_is_always_lock_free<__cxx_contention_t>::__value,
__cxx_contention_t,
@@ -105,6 +106,8 @@ using atomic_signed_lock_free = atomic
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

View File

@ -1,9 +1,9 @@
if libatomic is found only link it if libgcc is the rtlib
Index: llvm-toolchain-snapshot_17~++20230517015648+0b6264738f3d/libcxx/CMakeLists.txt
Index: llvm-toolchain-snapshot_18~++20231213094656+c02d07fdf007/libcxx/CMakeLists.txt
===================================================================
--- llvm-toolchain-snapshot_17~++20230517015648+0b6264738f3d.orig/libcxx/CMakeLists.txt
+++ llvm-toolchain-snapshot_17~++20230517015648+0b6264738f3d/libcxx/CMakeLists.txt
@@ -707,12 +707,14 @@ function(cxx_link_system_libraries targe
--- llvm-toolchain-snapshot_18~++20231213094656+c02d07fdf007.orig/libcxx/CMakeLists.txt
+++ llvm-toolchain-snapshot_18~++20231213094656+c02d07fdf007/libcxx/CMakeLists.txt
@@ -685,13 +685,16 @@ function(cxx_link_system_libraries targe
endif()
elseif (LIBCXX_HAS_GCC_LIB)
target_link_libraries(${target} PRIVATE gcc)
@ -12,8 +12,9 @@ Index: llvm-toolchain-snapshot_17~++20230517015648+0b6264738f3d/libcxx/CMakeList
+ 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)

View File

@ -1,7 +1,7 @@
Index: llvm-toolchain-snapshot_17~++20230328075740+568be31c9e50/libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_for.pass.cpp
Index: llvm-toolchain-snapshot_18~++20231102103655+18839aec4ed1/libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_for.pass.cpp
===================================================================
--- llvm-toolchain-snapshot_17~++20230328075740+568be31c9e50.orig/libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_for.pass.cpp
+++ llvm-toolchain-snapshot_17~++20230328075740+568be31c9e50/libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_for.pass.cpp
--- llvm-toolchain-snapshot_18~++20231102103655+18839aec4ed1.orig/libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_for.pass.cpp
+++ llvm-toolchain-snapshot_18~++20231102103655+18839aec4ed1/libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_for.pass.cpp
@@ -8,6 +8,7 @@
//
// UNSUPPORTED: no-threads
@ -10,16 +10,16 @@ Index: llvm-toolchain-snapshot_17~++20230328075740+568be31c9e50/libcxx/test/std/
// <condition_variable>
Index: llvm-toolchain-snapshot_17~++20230328075740+568be31c9e50/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.locking/lock.pass.cpp
Index: llvm-toolchain-snapshot_18~++20231102103655+18839aec4ed1/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.locking/lock.pass.cpp
===================================================================
--- llvm-toolchain-snapshot_17~++20230328075740+568be31c9e50.orig/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.locking/lock.pass.cpp
+++ llvm-toolchain-snapshot_17~++20230328075740+568be31c9e50/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.locking/lock.pass.cpp
@@ -10,7 +10,7 @@
--- llvm-toolchain-snapshot_18~++20231102103655+18839aec4ed1.orig/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.locking/lock.pass.cpp
+++ llvm-toolchain-snapshot_18~++20231102103655+18839aec4ed1/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.locking/lock.pass.cpp
@@ -10,6 +10,8 @@
// UNSUPPORTED: c++03, c++11
// ALLOW_RETRIES: 2
-// XFAIL: availability-shared_mutex-missing
+// XFAIL: *
+
// <shared_mutex>
// template <class Mutex> class shared_lock;

View File

@ -1,7 +1,7 @@
Index: llvm-toolchain-snapshot_17~++20230330020402+b0c892296b83/libcxx/test/std/numerics/rand/rand.util/rand.util.canonical/generate_canonical.pass.cpp
Index: llvm-toolchain-snapshot_18~++20231218053220+7b1e4239b396/libcxx/test/std/numerics/rand/rand.util/rand.util.canonical/generate_canonical.pass.cpp
===================================================================
--- llvm-toolchain-snapshot_17~++20230330020402+b0c892296b83.orig/libcxx/test/std/numerics/rand/rand.util/rand.util.canonical/generate_canonical.pass.cpp
+++ llvm-toolchain-snapshot_17~++20230330020402+b0c892296b83/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);
@ -11,10 +11,10 @@ Index: llvm-toolchain-snapshot_17~++20230330020402+b0c892296b83/libcxx/test/std/
#include <random>
#include <cassert>
Index: llvm-toolchain-snapshot_17~++20230330020402+b0c892296b83/libcxx/test/std/re/re.traits/isctype.pass.cpp
Index: llvm-toolchain-snapshot_18~++20231218053220+7b1e4239b396/libcxx/test/std/re/re.traits/isctype.pass.cpp
===================================================================
--- llvm-toolchain-snapshot_17~++20230330020402+b0c892296b83.orig/libcxx/test/std/re/re.traits/isctype.pass.cpp
+++ llvm-toolchain-snapshot_17~++20230330020402+b0c892296b83/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;
@ -23,23 +23,23 @@ Index: llvm-toolchain-snapshot_17~++20230330020402+b0c892296b83/libcxx/test/std/
#include <regex>
#include <cassert>
Index: llvm-toolchain-snapshot_17~++20230330020402+b0c892296b83/libcxxabi/test/catch_multi_level_pointer.pass.cpp
Index: llvm-toolchain-snapshot_18~++20231218053220+7b1e4239b396/libcxxabi/test/catch_multi_level_pointer.pass.cpp
===================================================================
--- llvm-toolchain-snapshot_17~++20230330020402+b0c892296b83.orig/libcxxabi/test/catch_multi_level_pointer.pass.cpp
+++ llvm-toolchain-snapshot_17~++20230330020402+b0c892296b83/libcxxabi/test/catch_multi_level_pointer.pass.cpp
@@ -11,6 +11,8 @@
// 1b00fc5d8133 made it in the dylib in macOS 10.11
// XFAIL: stdlib=apple-libc++ && target={{.+}}-apple-macosx10.{{9|10}}
--- 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_17~++20230330020402+b0c892296b83/libcxx/test/std/utilities/allocator.adaptor/allocator.adaptor.members/construct.pass.cpp
Index: llvm-toolchain-snapshot_18~++20231218053220+7b1e4239b396/libcxx/test/std/utilities/allocator.adaptor/allocator.adaptor.members/construct.pass.cpp
===================================================================
--- llvm-toolchain-snapshot_17~++20230330020402+b0c892296b83.orig/libcxx/test/std/utilities/allocator.adaptor/allocator.adaptor.members/construct.pass.cpp
+++ llvm-toolchain-snapshot_17~++20230330020402+b0c892296b83/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);

View File

@ -0,0 +1,24 @@
--- a/clang/lib/Driver/ToolChains/Linux.cpp
+++ b/clang/lib/Driver/ToolChains/Linux.cpp
@@ -287,6 +287,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

View File

@ -1,13 +0,0 @@
Index: llvm-toolchain-snapshot_14~++20211114120952+5b4bfd8c2415/lldb/bindings/python/python.swig
===================================================================
--- llvm-toolchain-snapshot_14~++20211114120952+5b4bfd8c2415.orig/lldb/bindings/python/python.swig
+++ llvm-toolchain-snapshot_14~++20211114120952+5b4bfd8c2415/lldb/bindings/python/python.swig
@@ -54,7 +54,7 @@ except ImportError:
%enddef
// These versions will not generate working python modules, so error out early.
#if SWIG_VERSION >= 0x030009 && SWIG_VERSION < 0x030011
-#error Swig versions 3.0.9 and 3.0.10 are incompatible with lldb.
+#warning Swig versions 3.0.9 and 3.0.10 are incompatible with lldb.
#endif
// The name of the module to be created.

View File

@ -1,19 +1,19 @@
Author: Gianfranco Costamagna <locutusofborg@debian.org>
Last-Update: 2023-01-19
Index: llvm-toolchain-snapshot_17~++20230517015648+0b6264738f3d/lldb/bindings/python/get-python-config.py
Index: llvm-toolchain-snapshot_18~++20230912011735+4793c2c3de79/lldb/bindings/python/get-python-config.py
===================================================================
--- llvm-toolchain-snapshot_17~++20230517015648+0b6264738f3d.orig/lldb/bindings/python/get-python-config.py
+++ llvm-toolchain-snapshot_17~++20230517015648+0b6264738f3d/lldb/bindings/python/get-python-config.py
@@ -15,6 +15,7 @@ def relpath_nodots(path, base):
return rel
--- llvm-toolchain-snapshot_18~++20230912011735+4793c2c3de79.orig/lldb/bindings/python/get-python-config.py
+++ llvm-toolchain-snapshot_18~++20230912011735+4793c2c3de79/lldb/bindings/python/get-python-config.py
@@ -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()
@@ -31,7 +32,19 @@ def main():
@@ -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:
@ -34,10 +34,10 @@ Index: llvm-toolchain-snapshot_17~++20230517015648+0b6264738f3d/lldb/bindings/py
except ValueError:
# Try to fall back to something reasonable if sysconfig's platlib
# is outside of sys.prefix
Index: llvm-toolchain-snapshot_17~++20230517015648+0b6264738f3d/lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
Index: llvm-toolchain-snapshot_18~++20230912011735+4793c2c3de79/lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
===================================================================
--- llvm-toolchain-snapshot_17~++20230517015648+0b6264738f3d.orig/lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
+++ llvm-toolchain-snapshot_17~++20230517015648+0b6264738f3d/lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
--- llvm-toolchain-snapshot_18~++20230912011735+4793c2c3de79.orig/lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
+++ llvm-toolchain-snapshot_18~++20230912011735+4793c2c3de79/lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
@@ -240,6 +240,7 @@ void ScriptInterpreterPython::ComputePyt
// the real python interpreter uses. (e.g. lib for most, lib64 on RHEL
// x86_64, or bin on Windows).

View File

@ -0,0 +1,50 @@
From: Emanuele Rocca <emanuele.rocca@arm.com>
Date: Fri, 19 Jul 2024 09:25:38 +0200
Subject: [PATCH] [Clang] make SVE types known to device targets too (#99446)
For the purpose of preprocessing and declarations in header files,
ensure clang accepts SVE types for both device and host targets.
Co-authored-by: Sander De Smalen <sander.desmalen@arm.com>
---
clang/lib/AST/ASTContext.cpp | 3 ++-
clang/lib/Sema/Sema.cpp | 4 +++-
clang/test/PCH/aarch64-sve-types.c | 2 ++
3 files changed, 7 insertions(+), 2 deletions(-)
--- a/clang/lib/AST/ASTContext.cpp
+++ b/clang/lib/AST/ASTContext.cpp
@@ -1353,7 +1353,8 @@
#include "clang/Basic/OpenCLExtensionTypes.def"
}
- if (Target.hasAArch64SVETypes()) {
+ if (Target.hasAArch64SVETypes() ||
+ (AuxTarget && AuxTarget->hasAArch64SVETypes())) {
#define SVE_TYPE(Name, Id, SingletonId) \
InitBuiltinType(SingletonId, BuiltinType::Id);
#include "clang/Basic/AArch64SVEACLETypes.def"
--- a/clang/lib/Sema/Sema.cpp
+++ b/clang/lib/Sema/Sema.cpp
@@ -424,7 +424,9 @@
#include "clang/Basic/OpenCLExtensionTypes.def"
}
- if (Context.getTargetInfo().hasAArch64SVETypes()) {
+ if (Context.getTargetInfo().hasAArch64SVETypes() ||
+ (Context.getAuxTargetInfo() &&
+ Context.getAuxTargetInfo()->hasAArch64SVETypes())) {
#define SVE_TYPE(Name, Id, SingletonId) \
addImplicitTypedef(Name, Context.SingletonId);
#include "clang/Basic/AArch64SVEACLETypes.def"
--- a/clang/test/PCH/aarch64-sve-types.c
+++ b/clang/test/PCH/aarch64-sve-types.c
@@ -1,6 +1,8 @@
// RUN: %clang_cc1 -triple aarch64-linux-gnu -emit-pch -o %t %s
// RUN: %clang_cc1 -triple aarch64-linux-gnu -include-pch %t \
// RUN: -fsyntax-only -verify %s
+// RUN: %clang_cc1 -triple amdgcn-amd-amdhsa -aux-triple aarch64-linux-gnu \
+// RUN: -x hip-cpp-output -emit-pch -o %t %s
// expected-no-diagnostics

View File

@ -1,53 +0,0 @@
see https://reviews.llvm.org/D158491, still unreviewed upstream
--- a/compiler-rt/lib/interception/interception.h
+++ b/compiler-rt/lib/interception/interception.h
@@ -199,8 +199,9 @@
".type " SANITIZER_STRINGIFY(TRAMPOLINE(func)) ", %function\n" \
SANITIZER_STRINGIFY(TRAMPOLINE(func)) ":\n" \
SANITIZER_STRINGIFY(CFI_STARTPROC) "\n" \
- SANITIZER_STRINGIFY(ASM_TAIL_CALL) " __interceptor_" \
- SANITIZER_STRINGIFY(ASM_PREEMPTIBLE_SYM(func)) "\n" \
+ C_ASM_TAIL_CALL(SANITIZER_STRINGIFY(TRAMPOLINE(func)), \
+ "__interceptor_" \
+ SANITIZER_STRINGIFY(ASM_PREEMPTIBLE_SYM(func))) "\n" \
SANITIZER_STRINGIFY(CFI_ENDPROC) "\n" \
".size " SANITIZER_STRINGIFY(TRAMPOLINE(func)) ", " \
".-" SANITIZER_STRINGIFY(TRAMPOLINE(func)) "\n" \
--- a/compiler-rt/lib/sanitizer_common/sanitizer_asm.h
+++ b/compiler-rt/lib/sanitizer_common/sanitizer_asm.h
@@ -44,6 +44,8 @@
#if defined(__x86_64__) || defined(__i386__) || defined(__sparc__)
# define ASM_TAIL_CALL jmp
+#elif defined(__mips__) && __mips_isa_rev >= 6
+# define ASM_TAIL_CALL bc
#elif defined(__arm__) || defined(__aarch64__) || defined(__mips__) || \
defined(__powerpc__) || defined(__loongarch_lp64)
# define ASM_TAIL_CALL b
@@ -53,6 +55,25 @@
# define ASM_TAIL_CALL tail
#endif
+#if defined(__mips64) && __mips_isa_rev < 6
+# define C_ASM_TAIL_CALL(tfunc, ifunc) \
+ "lui $t8, %hi(%neg(%gp_rel(" tfunc ")))\n" \
+ "daddu $t8, $t8, $t9\n" \
+ "daddu $t8, $t8, %lo(%neg(%gp_rel(" tfunc ")))\n" \
+ "ld $t9, %got_disp(" ifunc ")($t8)\n" \
+ "jr $t9\n"
+#elif defined(__mips__) && __mips_isa_rev < 6
+# define C_ASM_TAIL_CALL(tfunc, ifunc) \
+ ".set noreorder\n" \
+ ".cpload $t9\n" \
+ ".set reorder\n" \
+ "lw $t9, %got(" ifunc ")($gp)\n" \
+ "jr $t9\n"
+#elif defined(ASM_TAIL_CALL)
+# define C_ASM_TAIL_CALL(tfunc, ifunc) \
+ SANITIZER_STRINGIFY(ASM_TAIL_CALL) " " ifunc
+#endif
+
#if defined(__ELF__) && defined(__x86_64__) || defined(__i386__) || \
defined(__riscv)
# define ASM_PREEMPTIBLE_SYM(sym) sym@plt

View File

@ -2,11 +2,11 @@ include required runtimes as dependencies to openmp targets to make sure
they are built first when included as part of a runtimes build since openmp
can depend on them
<<<<<<< Updated upstream
Index: llvm-toolchain-snapshot_17~++20230707101520+336d7281ad61/llvm/runtimes/CMakeLists.txt
Index: llvm-toolchain-snapshot_18~++20240109113757+a7262d2d9bee/llvm/runtimes/CMakeLists.txt
===================================================================
--- llvm-toolchain-snapshot_17~++20230707101520+336d7281ad61.orig/llvm/runtimes/CMakeLists.txt
+++ llvm-toolchain-snapshot_17~++20230707101520+336d7281ad61/llvm/runtimes/CMakeLists.txt
@@ -236,6 +236,7 @@ function(runtime_default_target)
--- llvm-toolchain-snapshot_18~++20240109113757+a7262d2d9bee.orig/llvm/runtimes/CMakeLists.txt
+++ llvm-toolchain-snapshot_18~++20240109113757+a7262d2d9bee/llvm/runtimes/CMakeLists.txt
@@ -247,6 +247,7 @@ function(runtime_default_target)
-DLLVM_ENABLE_PROJECTS_USED=${LLVM_ENABLE_PROJECTS_USED}
-DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=${LLVM_ENABLE_PER_TARGET_RUNTIME_DIR}
-DLLVM_BUILD_TOOLS=${LLVM_BUILD_TOOLS}
@ -14,7 +14,7 @@ Index: llvm-toolchain-snapshot_17~++20230707101520+336d7281ad61/llvm/runtimes/CM
-DCMAKE_C_COMPILER_WORKS=ON
-DCMAKE_CXX_COMPILER_WORKS=ON
-DCMAKE_ASM_COMPILER_WORKS=ON
@@ -496,7 +497,7 @@ if(runtimes)
@@ -513,7 +514,7 @@ if(runtimes)
# build directory cannot find the C++ headers in certain configurations.
# I need to build a mechanism for runtime projects to provide CMake code
# that executes at LLVM configuration time to handle this case.
@ -23,11 +23,11 @@ Index: llvm-toolchain-snapshot_17~++20230707101520+336d7281ad61/llvm/runtimes/CM
# We need to add the runtimes as a dependency because compiler-rt can be
# built as part of runtimes and we need the profile runtime for PGO
add_dependencies(clang-bootstrap-deps runtimes)
Index: llvm-toolchain-snapshot_17~++20230707101520+336d7281ad61/openmp/CMakeLists.txt
Index: llvm-toolchain-snapshot_18~++20240109113757+a7262d2d9bee/openmp/CMakeLists.txt
===================================================================
--- llvm-toolchain-snapshot_17~++20230707101520+336d7281ad61.orig/openmp/CMakeLists.txt
+++ llvm-toolchain-snapshot_17~++20230707101520+336d7281ad61/openmp/CMakeLists.txt
@@ -94,6 +94,28 @@ else()
--- llvm-toolchain-snapshot_18~++20240109113757+a7262d2d9bee.orig/openmp/CMakeLists.txt
+++ llvm-toolchain-snapshot_18~++20240109113757+a7262d2d9bee/openmp/CMakeLists.txt
@@ -111,6 +111,28 @@ else()
get_clang_resource_dir(LIBOMP_HEADERS_INSTALL_PATH SUBDIR include)
endif()
@ -56,11 +56,11 @@ Index: llvm-toolchain-snapshot_17~++20230707101520+336d7281ad61/openmp/CMakeList
# Build host runtime library, after LIBOMPTARGET variables are set since they are needed
# to enable time profiling support in the OpenMP runtime.
add_subdirectory(runtime)
Index: llvm-toolchain-snapshot_17~++20230707101520+336d7281ad61/openmp/libomptarget/plugins-nextgen/CMakeLists.txt
Index: llvm-toolchain-snapshot_18~++20240109113757+a7262d2d9bee/openmp/libomptarget/plugins-nextgen/CMakeLists.txt
===================================================================
--- llvm-toolchain-snapshot_17~++20230707101520+336d7281ad61.orig/openmp/libomptarget/plugins-nextgen/CMakeLists.txt
+++ llvm-toolchain-snapshot_17~++20230707101520+336d7281ad61/openmp/libomptarget/plugins-nextgen/CMakeLists.txt
@@ -62,6 +62,8 @@ if(CMAKE_SYSTEM_PROCESSOR MATCHES "${tma
--- llvm-toolchain-snapshot_18~++20240109113757+a7262d2d9bee.orig/openmp/libomptarget/plugins-nextgen/CMakeLists.txt
+++ llvm-toolchain-snapshot_18~++20240109113757+a7262d2d9bee/openmp/libomptarget/plugins-nextgen/CMakeLists.txt
@@ -71,6 +71,8 @@ if(CMAKE_SYSTEM_PROCESSOR MATCHES "${tma
"-Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR}/../exports")
endif()
@ -69,11 +69,11 @@ Index: llvm-toolchain-snapshot_17~++20230707101520+336d7281ad61/openmp/libomptar
# Install plugin under the lib destination folder.
install(TARGETS "omptarget.rtl.${tmachine_libname}"
LIBRARY DESTINATION "${OPENMP_INSTALL_LIBDIR}")
Index: llvm-toolchain-snapshot_17~++20230707101520+336d7281ad61/openmp/libomptarget/plugins-nextgen/cuda/CMakeLists.txt
Index: llvm-toolchain-snapshot_18~++20240109113757+a7262d2d9bee/openmp/libomptarget/plugins-nextgen/cuda/CMakeLists.txt
===================================================================
--- llvm-toolchain-snapshot_17~++20230707101520+336d7281ad61.orig/openmp/libomptarget/plugins-nextgen/cuda/CMakeLists.txt
+++ llvm-toolchain-snapshot_17~++20230707101520+336d7281ad61/openmp/libomptarget/plugins-nextgen/cuda/CMakeLists.txt
@@ -84,6 +84,8 @@ else()
--- llvm-toolchain-snapshot_18~++20240109113757+a7262d2d9bee.orig/openmp/libomptarget/plugins-nextgen/cuda/CMakeLists.txt
+++ llvm-toolchain-snapshot_18~++20240109113757+a7262d2d9bee/openmp/libomptarget/plugins-nextgen/cuda/CMakeLists.txt
@@ -80,6 +80,8 @@ else()
" Use 'LIBOMPTARGET_FORCE_NVIDIA_TESTS' to override.")
endif()
@ -82,11 +82,11 @@ Index: llvm-toolchain-snapshot_17~++20230707101520+336d7281ad61/openmp/libomptar
# Install plugin under the lib destination folder.
install(TARGETS omptarget.rtl.cuda LIBRARY DESTINATION "${OPENMP_INSTALL_LIBDIR}")
set_target_properties(omptarget.rtl.cuda PROPERTIES
Index: llvm-toolchain-snapshot_17~++20230707101520+336d7281ad61/openmp/libomptarget/src/CMakeLists.txt
Index: llvm-toolchain-snapshot_18~++20240109113757+a7262d2d9bee/openmp/libomptarget/src/CMakeLists.txt
===================================================================
--- llvm-toolchain-snapshot_17~++20230707101520+336d7281ad61.orig/openmp/libomptarget/src/CMakeLists.txt
+++ llvm-toolchain-snapshot_17~++20230707101520+336d7281ad61/openmp/libomptarget/src/CMakeLists.txt
@@ -36,7 +36,9 @@ add_llvm_library(omptarget
--- llvm-toolchain-snapshot_18~++20240109113757+a7262d2d9bee.orig/openmp/libomptarget/src/CMakeLists.txt
+++ llvm-toolchain-snapshot_18~++20240109113757+a7262d2d9bee/openmp/libomptarget/src/CMakeLists.txt
@@ -41,7 +41,9 @@ add_llvm_library(omptarget
omp
NO_INSTALL_RPATH
@ -97,11 +97,11 @@ Index: llvm-toolchain-snapshot_17~++20230707101520+336d7281ad61/openmp/libomptar
target_include_directories(omptarget PRIVATE ${LIBOMPTARGET_INCLUDE_DIR})
if (LIBOMP_HAVE_VERSION_SCRIPT_FLAG)
Index: llvm-toolchain-snapshot_17~++20230707101520+336d7281ad61/openmp/runtime/CMakeLists.txt
Index: llvm-toolchain-snapshot_18~++20240109113757+a7262d2d9bee/openmp/runtime/CMakeLists.txt
===================================================================
--- llvm-toolchain-snapshot_17~++20230707101520+336d7281ad61.orig/openmp/runtime/CMakeLists.txt
+++ llvm-toolchain-snapshot_17~++20230707101520+336d7281ad61/openmp/runtime/CMakeLists.txt
@@ -292,6 +292,10 @@ if(LIBOMP_STATS)
--- llvm-toolchain-snapshot_18~++20240109113757+a7262d2d9bee.orig/openmp/runtime/CMakeLists.txt
+++ llvm-toolchain-snapshot_18~++20240109113757+a7262d2d9bee/openmp/runtime/CMakeLists.txt
@@ -318,6 +318,10 @@ if(LIBOMP_STATS)
set(LIBOMP_USE_STDCPPLIB TRUE)
endif()
@ -112,11 +112,11 @@ Index: llvm-toolchain-snapshot_17~++20230707101520+336d7281ad61/openmp/runtime/C
# Shared library can be switched to a static library
set(LIBOMP_ENABLE_SHARED TRUE CACHE BOOL
"Shared library instead of static library?")
Index: llvm-toolchain-snapshot_17~++20230707101520+336d7281ad61/openmp/runtime/src/CMakeLists.txt
Index: llvm-toolchain-snapshot_18~++20240109113757+a7262d2d9bee/openmp/runtime/src/CMakeLists.txt
===================================================================
--- llvm-toolchain-snapshot_17~++20230707101520+336d7281ad61.orig/openmp/runtime/src/CMakeLists.txt
+++ llvm-toolchain-snapshot_17~++20230707101520+336d7281ad61/openmp/runtime/src/CMakeLists.txt
@@ -139,6 +139,7 @@ set_source_files_properties(${LIBOMP_ASM
--- llvm-toolchain-snapshot_18~++20240109113757+a7262d2d9bee.orig/openmp/runtime/src/CMakeLists.txt
+++ llvm-toolchain-snapshot_18~++20240109113757+a7262d2d9bee/openmp/runtime/src/CMakeLists.txt
@@ -144,6 +144,7 @@ set_source_files_properties(${LIBOMP_ASM
if(NOT ${LIBOMP_USE_STDCPPLIB})
set(LIBOMP_LINKER_LANGUAGE C)
set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES)
@ -124,7 +124,7 @@ Index: llvm-toolchain-snapshot_17~++20230707101520+336d7281ad61/openmp/runtime/s
else()
set(LIBOMP_LINKER_LANGUAGE CXX)
endif()
@@ -200,6 +201,8 @@ else()
@@ -205,6 +206,8 @@ else()
)
endif()
@ -133,10 +133,10 @@ Index: llvm-toolchain-snapshot_17~++20230707101520+336d7281ad61/openmp/runtime/s
# Get the library's location within the build tree for the unit tester
if(NOT WIN32)
get_target_property(LIBOMP_LIBRARY_DIR omp LIBRARY_OUTPUT_DIRECTORY)
Index: llvm-toolchain-snapshot_17~++20230707101520+336d7281ad61/openmp/tools/archer/CMakeLists.txt
Index: llvm-toolchain-snapshot_18~++20240109113757+a7262d2d9bee/openmp/tools/archer/CMakeLists.txt
===================================================================
--- llvm-toolchain-snapshot_17~++20230707101520+336d7281ad61.orig/openmp/tools/archer/CMakeLists.txt
+++ llvm-toolchain-snapshot_17~++20230707101520+336d7281ad61/openmp/tools/archer/CMakeLists.txt
--- llvm-toolchain-snapshot_18~++20240109113757+a7262d2d9bee.orig/openmp/tools/archer/CMakeLists.txt
+++ llvm-toolchain-snapshot_18~++20240109113757+a7262d2d9bee/openmp/tools/archer/CMakeLists.txt
@@ -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)

View File

@ -11,7 +11,7 @@ Index: llvm-toolchain-snapshot_17~++20230523093327+96a003b9bf79/clang/bindings/p
file = "libclang.dll"
else:
- file = "libclang.so"
+ file = "libclang-17.so"
+ file = "libclang-18.so"
if Config.library_path:
file = Config.library_path + "/" + file

File diff suppressed because it is too large Load Diff

16
debian/patches/rename-libllvm.diff vendored Normal file
View File

@ -0,0 +1,16 @@
Index: llvm-toolchain-18-18.1.8/llvm/tools/llvm-shlib/CMakeLists.txt
===================================================================
--- llvm-toolchain-18-18.1.8.orig/llvm/tools/llvm-shlib/CMakeLists.txt
+++ llvm-toolchain-18-18.1.8/llvm/tools/llvm-shlib/CMakeLists.txt
@@ -36,8 +36,10 @@ if(LLVM_BUILD_LLVM_DYLIB)
if (WIN32)
add_llvm_library(LLVM SHARED DISABLE_LLVM_LINK_LLVM_DYLIB SONAME ${INSTALL_WITH_TOOLCHAIN} ${SOURCES})
else()
- add_llvm_library(LLVM SHARED DISABLE_LLVM_LINK_LLVM_DYLIB OUTPUT_NAME LLVM ${INSTALL_WITH_TOOLCHAIN} ${SOURCES})
+ message(STATUS "lib name = LLVM-${LLVM_VERSION_MAJOR}")
+ add_llvm_library(LLVM SHARED DISABLE_LLVM_LINK_LLVM_DYLIB OUTPUT_NAME LLVM-${LLVM_VERSION_MAJOR} ${INSTALL_WITH_TOOLCHAIN} ${SOURCES})
# Add symlink for backwards compatibility with old library name
+ message(STATUS "foo = $(LLVM-${LLVM_VERSION_MAJOR}${LLVM_VERSION_SUFFIX}")
llvm_install_library_symlink(LLVM-${LLVM_VERSION_MAJOR}${LLVM_VERSION_SUFFIX} $<TARGET_FILE_NAME:LLVM> SHARED FULL_DEST COMPONENT LLVM)
endif()

View File

@ -15,10 +15,10 @@ Date: Tue Feb 1 23:13:01 2022 -0800
Differential Revision: https://reviews.llvm.org/D112181
Index: llvm-toolchain-snapshot_17~++20230526082102+a22ef958cb7e/clang-tools-extra/docs/conf.py
Index: llvm-toolchain-18_18.1.2/clang-tools-extra/docs/conf.py
===================================================================
--- llvm-toolchain-snapshot_17~++20230526082102+a22ef958cb7e.orig/clang-tools-extra/docs/conf.py
+++ llvm-toolchain-snapshot_17~++20230526082102+a22ef958cb7e/clang-tools-extra/docs/conf.py
--- llvm-toolchain-18_18.1.2.orig/clang-tools-extra/docs/conf.py
+++ llvm-toolchain-18_18.1.2/clang-tools-extra/docs/conf.py
@@ -44,6 +44,15 @@ master_doc = "index"
project = "Extra Clang Tools"
copyright = "2007-%d, The Clang Team" % date.today().year
@ -47,11 +47,11 @@ Index: llvm-toolchain-snapshot_17~++20230526082102+a22ef958cb7e/clang-tools-extr
# -- Options for HTML output ---------------------------------------------------
Index: llvm-toolchain-snapshot_17~++20230526082102+a22ef958cb7e/clang/docs/conf.py
Index: llvm-toolchain-18_18.1.2/clang/docs/conf.py
===================================================================
--- llvm-toolchain-snapshot_17~++20230526082102+a22ef958cb7e.orig/clang/docs/conf.py
+++ llvm-toolchain-snapshot_17~++20230526082102+a22ef958cb7e/clang/docs/conf.py
@@ -63,6 +63,15 @@ master_doc = "index"
--- llvm-toolchain-18_18.1.2.orig/clang/docs/conf.py
+++ llvm-toolchain-18_18.1.2/clang/docs/conf.py
@@ -48,6 +48,15 @@ master_doc = "index"
project = "Clang"
copyright = "2007-%d, The Clang Team" % date.today().year
@ -67,7 +67,7 @@ Index: llvm-toolchain-snapshot_17~++20230526082102+a22ef958cb7e/clang/docs/conf.
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
# language = None
@@ -94,11 +103,6 @@ exclude_patterns = ["_build"]
@@ -79,11 +88,6 @@ exclude_patterns = ["_build"]
# The name of the Pygments (syntax highlighting) style to use.
pygments_style = "friendly"
@ -79,10 +79,10 @@ Index: llvm-toolchain-snapshot_17~++20230526082102+a22ef958cb7e/clang/docs/conf.
# -- Options for HTML output ---------------------------------------------------
Index: llvm-toolchain-snapshot_17~++20230526082102+a22ef958cb7e/lld/docs/conf.py
Index: llvm-toolchain-18_18.1.2/lld/docs/conf.py
===================================================================
--- llvm-toolchain-snapshot_17~++20230526082102+a22ef958cb7e.orig/lld/docs/conf.py
+++ llvm-toolchain-snapshot_17~++20230526082102+a22ef958cb7e/lld/docs/conf.py
--- llvm-toolchain-18_18.1.2.orig/lld/docs/conf.py
+++ llvm-toolchain-18_18.1.2/lld/docs/conf.py
@@ -43,6 +43,15 @@ master_doc = "index"
project = "lld"
copyright = "2011-%d, LLVM Project" % date.today().year
@ -99,10 +99,10 @@ Index: llvm-toolchain-snapshot_17~++20230526082102+a22ef958cb7e/lld/docs/conf.py
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
# language = None
Index: llvm-toolchain-snapshot_17~++20230526082102+a22ef958cb7e/llvm/cmake/modules/AddSphinxTarget.cmake
Index: llvm-toolchain-18_18.1.2/llvm/cmake/modules/AddSphinxTarget.cmake
===================================================================
--- llvm-toolchain-snapshot_17~++20230526082102+a22ef958cb7e.orig/llvm/cmake/modules/AddSphinxTarget.cmake
+++ llvm-toolchain-snapshot_17~++20230526082102+a22ef958cb7e/llvm/cmake/modules/AddSphinxTarget.cmake
--- llvm-toolchain-18_18.1.2.orig/llvm/cmake/modules/AddSphinxTarget.cmake
+++ llvm-toolchain-18_18.1.2/llvm/cmake/modules/AddSphinxTarget.cmake
@@ -39,10 +39,6 @@ function (add_sphinx_target builder proj
set(ARG_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}")
endif()
@ -124,11 +124,11 @@ Index: llvm-toolchain-snapshot_17~++20230526082102+a22ef958cb7e/llvm/cmake/modul
${SPHINX_WARNINGS_AS_ERRORS_FLAG} # Treat warnings as errors if requested
"${ARG_SOURCE_DIR}" # Source
"${SPHINX_BUILD_DIR}" # Output
Index: llvm-toolchain-snapshot_17~++20230526082102+a22ef958cb7e/llvm/docs/conf.py
Index: llvm-toolchain-18_18.1.2/llvm/docs/conf.py
===================================================================
--- llvm-toolchain-snapshot_17~++20230526082102+a22ef958cb7e.orig/llvm/docs/conf.py
+++ llvm-toolchain-snapshot_17~++20230526082102+a22ef958cb7e/llvm/docs/conf.py
@@ -62,6 +62,15 @@ master_doc = "index"
--- llvm-toolchain-18_18.1.2.orig/llvm/docs/conf.py
+++ llvm-toolchain-18_18.1.2/llvm/docs/conf.py
@@ -52,6 +52,15 @@ master_doc = "index"
project = "LLVM"
copyright = "2003-%d, LLVM Project" % date.today().year
@ -144,10 +144,10 @@ Index: llvm-toolchain-snapshot_17~++20230526082102+a22ef958cb7e/llvm/docs/conf.p
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
# language = None
Index: llvm-toolchain-snapshot_17~++20230526082102+a22ef958cb7e/polly/docs/conf.py
Index: llvm-toolchain-18_18.1.2/polly/docs/conf.py
===================================================================
--- llvm-toolchain-snapshot_17~++20230526082102+a22ef958cb7e.orig/polly/docs/conf.py
+++ llvm-toolchain-snapshot_17~++20230526082102+a22ef958cb7e/polly/docs/conf.py
--- llvm-toolchain-18_18.1.2.orig/polly/docs/conf.py
+++ llvm-toolchain-18_18.1.2/polly/docs/conf.py
@@ -44,6 +44,15 @@ master_doc = "index"
project = "Polly"
copyright = "2010-%d, The Polly Team" % date.today().year

View File

@ -0,0 +1,104 @@
From 78f39dc70c1feaea5130b90ea3fb7b3ddd62446b Mon Sep 17 00:00:00 2001
From: Jonas Hahnfeld <hahnjo@hahnjo.de>
Date: Mon, 12 Feb 2024 19:45:52 +0100
Subject: [PATCH] [JITLink][RISCV] Use hashmap to find PCREL_HI20 edge (#78849)
As noted in issues #68594 and #73935, `JITLink/RISCV/ELF_ehframe.s`
fails with libstdc++'s expensive checks because `getRISCVPCRelHi20`
calls `std::equal_range` on the edges which may not be ordered by their
offset. Instead let `ELFJITLinker_riscv` build a hashmap of all edges
with type `R_RISCV_PCREL_HI20` that can be looked up in constant time.
Bugs: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1080435
Closes #73935
---
.../lib/ExecutionEngine/JITLink/ELF_riscv.cpp | 68 ++++++++++---------
1 file changed, 35 insertions(+), 33 deletions(-)
--- a/llvm/lib/ExecutionEngine/JITLink/ELF_riscv.cpp
+++ b/llvm/lib/ExecutionEngine/JITLink/ELF_riscv.cpp
@@ -133,38 +133,6 @@
namespace llvm {
namespace jitlink {
-static Expected<const Edge &> getRISCVPCRelHi20(const Edge &E) {
- using namespace riscv;
- assert((E.getKind() == R_RISCV_PCREL_LO12_I ||
- E.getKind() == R_RISCV_PCREL_LO12_S) &&
- "Can only have high relocation for R_RISCV_PCREL_LO12_I or "
- "R_RISCV_PCREL_LO12_S");
-
- const Symbol &Sym = E.getTarget();
- const Block &B = Sym.getBlock();
- orc::ExecutorAddrDiff Offset = Sym.getOffset();
-
- struct Comp {
- bool operator()(const Edge &Lhs, orc::ExecutorAddrDiff Offset) {
- return Lhs.getOffset() < Offset;
- }
- bool operator()(orc::ExecutorAddrDiff Offset, const Edge &Rhs) {
- return Offset < Rhs.getOffset();
- }
- };
-
- auto Bound =
- std::equal_range(B.edges().begin(), B.edges().end(), Offset, Comp{});
-
- for (auto It = Bound.first; It != Bound.second; ++It) {
- if (It->getKind() == R_RISCV_PCREL_HI20)
- return *It;
- }
-
- return make_error<JITLinkError>(
- "No HI20 PCREL relocation type be found for LO12 PCREL relocation type");
-}
-
static uint32_t extractBits(uint32_t Num, unsigned Low, unsigned Size) {
return (Num & (((1ULL << Size) - 1) << Low)) >> Low;
}
@@ -184,9 +152,43 @@
public:
ELFJITLinker_riscv(std::unique_ptr<JITLinkContext> Ctx,
std::unique_ptr<LinkGraph> G, PassConfiguration PassConfig)
- : JITLinker(std::move(Ctx), std::move(G), std::move(PassConfig)) {}
+ : JITLinker(std::move(Ctx), std::move(G), std::move(PassConfig)) {
+ JITLinkerBase::getPassConfig().PostAllocationPasses.push_back(
+ [this](LinkGraph &G) { return gatherRISCVPCRelHi20(G); });
+ }
private:
+ DenseMap<std::pair<const Block *, orc::ExecutorAddrDiff>, const Edge *>
+ RelHi20;
+
+ Error gatherRISCVPCRelHi20(LinkGraph &G) {
+ for (Block *B : G.blocks())
+ for (Edge &E : B->edges())
+ if (E.getKind() == R_RISCV_PCREL_HI20)
+ RelHi20[{B, E.getOffset()}] = &E;
+
+ return Error::success();
+ }
+
+ Expected<const Edge &> getRISCVPCRelHi20(const Edge &E) const {
+ using namespace riscv;
+ assert((E.getKind() == R_RISCV_PCREL_LO12_I ||
+ E.getKind() == R_RISCV_PCREL_LO12_S) &&
+ "Can only have high relocation for R_RISCV_PCREL_LO12_I or "
+ "R_RISCV_PCREL_LO12_S");
+
+ const Symbol &Sym = E.getTarget();
+ const Block &B = Sym.getBlock();
+ orc::ExecutorAddrDiff Offset = Sym.getOffset();
+
+ auto It = RelHi20.find({&B, Offset});
+ if (It != RelHi20.end())
+ return *It->second;
+
+ return make_error<JITLinkError>("No HI20 PCREL relocation type be found "
+ "for LO12 PCREL relocation type");
+ }
+
Error applyFixup(LinkGraph &G, Block &B, const Edge &E) const {
using namespace riscv;
using namespace llvm::support;

33
debian/patches/rv64-fix-mm-leak.diff vendored Normal file
View File

@ -0,0 +1,33 @@
From 3d67cf681a728e4cf0ab9947c0dd07539dda8b74 Mon Sep 17 00:00:00 2001
From: Min-Yih Hsu <min.hsu@sifive.com>
Date: Fri, 16 Feb 2024 16:19:56 -0800
Subject: [PATCH] [JITLink] Always unmap standard segments in
InProcessMemoryManager::deallocate (#81943)
Right now InProcessMemoryManager only releases a standard segment (via
sys::Memory::releaseMappedMemory) in `deallocate` when there is a
DeallocAction associated, leaving residual memory pages in the process
until termination.
Despite being a de facto memory leak, it won't cause a major issue if
users only create a single LLJIT instance per process, which is the most
common use cases. It will, however, drain virtual memory pages if we
create thousands of ephemeral LLJIT instances in the same process.
This patch fixes this issue by releasing every standard segments
regardless of the attached DeallocAction.
---
llvm/lib/ExecutionEngine/JITLink/JITLinkMemoryManager.cpp | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
--- a/llvm/lib/ExecutionEngine/JITLink/JITLinkMemoryManager.cpp
+++ b/llvm/lib/ExecutionEngine/JITLink/JITLinkMemoryManager.cpp
@@ -449,8 +449,7 @@
for (auto &Alloc : Allocs) {
auto *FA = Alloc.release().toPtr<FinalizedAllocInfo *>();
StandardSegmentsList.push_back(std::move(FA->StandardSegments));
- if (!FA->DeallocActions.empty())
- DeallocActionsList.push_back(std::move(FA->DeallocActions));
+ DeallocActionsList.push_back(std::move(FA->DeallocActions));
FA->~FinalizedAllocInfo();
FinalizedAllocInfos.Deallocate(FA);
}

View File

@ -11,7 +11,7 @@ Index: llvm-toolchain-snapshot_17~++20230517015648+0b6264738f3d/clang/tools/scan
$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-17/bin/clang");
+ $Clang = Cwd::realpath("/usr/lib/llvm-18/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

View File

@ -7,7 +7,7 @@ Index: llvm-toolchain-snapshot_17~++20230523093327+96a003b9bf79/clang/tools/scan
metavar="<path>",
dest="clang",
- default="clang",
+ default="clang-17",
+ default="clang-18",
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.""",

16
debian/patches/series vendored
View File

@ -35,7 +35,6 @@ silent-more-tests.diff
silent-MCJIIT-tests.diff
silent-gold-utils.diff
silent-test-failing-codeverage.diff
silent-amd-tet.diff
silent-test-macho.diff
silent-llvm-isel-fuzzer.diff
remove-test-freezing.diff
@ -53,7 +52,6 @@ fix-scan-view-path.diff
# lldb
lldb/lldb-addversion-suffix-to-llvm-server-exec.patch
lldb/lldb-missing-install.diff
lldb/lldb-disable-swig-error.diff
# Fix arch issue
disable-error-xray.diff
@ -136,6 +134,7 @@ protobuf_3.21.patch
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
@ -146,11 +145,16 @@ unwind-force-pthread-dl.diff
force-sse2-compiler-rt.diff
bolt-disable-emit-relocs.patch
link-grpc.diff
D158066-simd-ppc64el.patch
ubuntu-releases.patch
libclang-major-version-only.diff
D148945-revert.diff
arm32-defaults.diff
mips/D154390-pre-R6.diff
libsanitizer-timebits.diff
D154931-revert-loong64.patch
ubuntu-releases.patch
clang-record-gcc-switches-by-default.patch
rename-libllvm.diff
link-with-package-metadata.diff
llvm-toolchain-17-sve-types-aux-target.diff
env-lld-package-metadata.diff
rv64-fix-PCREL_HI20-issue.diff
rv64-fix-mm-leak.diff

View File

@ -1,11 +0,0 @@
Index: llvm-toolchain-snapshot_15~++20220407011631+46f0e2ceb487/llvm/test/MC/AMDGPU/hsa.s
===================================================================
--- llvm-toolchain-snapshot_15~++20220407011631+46f0e2ceb487.orig/llvm/test/MC/AMDGPU/hsa.s
+++ llvm-toolchain-snapshot_15~++20220407011631+46f0e2ceb487/llvm/test/MC/AMDGPU/hsa.s
@@ -1,5 +1,6 @@
// RUN: llvm-mc -triple amdgcn--amdhsa -mcpu=kaveri --amdhsa-code-object-version=2 -show-encoding %s | FileCheck %s --check-prefix=ASM
// RUN: llvm-mc -filetype=obj -triple amdgcn--amdhsa -mcpu=kaveri --amdhsa-code-object-version=2 -show-encoding %s | llvm-readobj --symbols -S --sd - | FileCheck %s --check-prefix=ELF
+// XFAIL: *
// ELF: Section {
// ELF: Name: .text

View File

@ -1,47 +1,3 @@
From 6266b964202336a02f40007928719e060bc81694 Mon Sep 17 00:00:00 2001
From: Graham Inggs <ginggs@debian.org>
Date: Wed, 1 Nov 2023 20:59:53 +0100
Subject: [PATCH] Add support of the next Ubuntu (Ubuntu 24.04 - Noble Numbat)
Co-authored-by: Sylvestre Ledru <sylvestre@debian.org>
---
clang/include/clang/Driver/Distro.h | 3 ++-
clang/lib/Driver/Distro.cpp | 1 +
2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/clang/include/clang/Driver/Distro.h b/clang/include/clang/Driver/Distro.h
index 8291f6575a7114..a8de94163e8b0b 100644
--- a/clang/include/clang/Driver/Distro.h
+++ b/clang/include/clang/Driver/Distro.h
@@ -78,6 +78,7 @@ class Distro {
UbuntuKinetic,
UbuntuLunar,
UbuntuMantic,
+ UbuntuNoble,
UnknownDistro
};
@@ -129,7 +130,7 @@ class Distro {
}
bool IsUbuntu() const {
- return DistroVal >= UbuntuHardy && DistroVal <= UbuntuMantic;
+ return DistroVal >= UbuntuHardy && DistroVal <= UbuntuNoble;
}
bool IsAlpineLinux() const { return DistroVal == AlpineLinux; }
diff --git a/clang/lib/Driver/Distro.cpp b/clang/lib/Driver/Distro.cpp
index 005c31bd38893c..36f828f8cae26d 100644
--- a/clang/lib/Driver/Distro.cpp
+++ b/clang/lib/Driver/Distro.cpp
@@ -94,6 +94,7 @@ static Distro::DistroType DetectLsbRelease(llvm::vfs::FileSystem &VFS) {
.Case("kinetic", Distro::UbuntuKinetic)
.Case("lunar", Distro::UbuntuLunar)
.Case("mantic", Distro::UbuntuMantic)
+ .Case("noble", Distro::UbuntuNoble)
.Default(Distro::UnknownDistro);
return Version;
}
From 90bd7234e36e5b3d63155f481b739ea463985631 Mon Sep 17 00:00:00 2001
From: Sylvestre Ledru <sylvestre@debian.org>
Date: Thu, 2 May 2024 22:54:08 +0200

View File

@ -1,8 +1,8 @@
Index: llvm-toolchain-snapshot_17~++20230523093327+96a003b9bf79/libunwind/CMakeLists.txt
Index: llvm-toolchain-18_18.1.2/libunwind/CMakeLists.txt
===================================================================
--- llvm-toolchain-snapshot_17~++20230523093327+96a003b9bf79.orig/libunwind/CMakeLists.txt
+++ llvm-toolchain-snapshot_17~++20230523093327+96a003b9bf79/libunwind/CMakeLists.txt
@@ -277,14 +277,17 @@ if (MSVC)
--- llvm-toolchain-18_18.1.2.orig/libunwind/CMakeLists.txt
+++ llvm-toolchain-18_18.1.2/libunwind/CMakeLists.txt
@@ -301,14 +301,17 @@ if (MSVC)
add_definitions(-D_CRT_SECURE_NO_WARNINGS)
endif()

View File

@ -1,6 +1,8 @@
--- a/clang/lib/Driver/ToolChains/WebAssembly.cpp
+++ b/clang/lib/Driver/ToolChains/WebAssembly.cpp
@@ -369,6 +369,18 @@ ToolChain::RuntimeLibType WebAssembly::G
Index: llvm-toolchain-18_18.1.2/clang/lib/Driver/ToolChains/WebAssembly.cpp
===================================================================
--- llvm-toolchain-18_18.1.2.orig/clang/lib/Driver/ToolChains/WebAssembly.cpp
+++ llvm-toolchain-18_18.1.2/clang/lib/Driver/ToolChains/WebAssembly.cpp
@@ -421,6 +421,18 @@ ToolChain::RuntimeLibType WebAssembly::G
return ToolChain::RLT_CompilerRT;
}
@ -19,9 +21,11 @@
ToolChain::CXXStdlibType
WebAssembly::GetCXXStdlibType(const ArgList &Args) const {
if (Arg *A = Args.getLastArg(options::OPT_stdlib_EQ)) {
--- a/clang/lib/Driver/ToolChains/WebAssembly.h
+++ b/clang/lib/Driver/ToolChains/WebAssembly.h
@@ -61,6 +61,7 @@ private:
Index: llvm-toolchain-18_18.1.2/clang/lib/Driver/ToolChains/WebAssembly.h
===================================================================
--- llvm-toolchain-18_18.1.2.orig/clang/lib/Driver/ToolChains/WebAssembly.h
+++ llvm-toolchain-18_18.1.2/clang/lib/Driver/ToolChains/WebAssembly.h
@@ -56,6 +56,7 @@ private:
llvm::opt::ArgStringList &CC1Args,
Action::OffloadKind DeviceOffloadKind) const override;
RuntimeLibType GetDefaultRuntimeLibType() const override;

View File

@ -1,27 +1,25 @@
Index: llvm-toolchain-snapshot_15~++20220724113059+7feab85df8e8/clang/lib/Driver/ToolChains/WebAssembly.h
Index: llvm-toolchain-snapshot_19~++20240319094628+703920d4138d/clang/lib/Driver/ToolChains/WebAssembly.cpp
===================================================================
--- llvm-toolchain-snapshot_15~++20220724113059+7feab85df8e8.orig/clang/lib/Driver/ToolChains/WebAssembly.h
+++ llvm-toolchain-snapshot_15~++20220724113059+7feab85df8e8/clang/lib/Driver/ToolChains/WebAssembly.h
@@ -10,9 +10,13 @@
#define LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_WEBASSEMBLY_H
--- llvm-toolchain-snapshot_19~++20240319094628+703920d4138d.orig/clang/lib/Driver/ToolChains/WebAssembly.cpp
+++ llvm-toolchain-snapshot_19~++20240319094628+703920d4138d/clang/lib/Driver/ToolChains/WebAssembly.cpp
@@ -20,6 +20,11 @@
#include "llvm/Support/Path.h"
#include "llvm/Support/VirtualFileSystem.h"
#include "Gnu.h"
+#include "llvm/Config/llvm-config.h" // for LLVM_VERSION_MAJOR
#include "clang/Driver/Tool.h"
#include "clang/Driver/ToolChain.h"
+
+#define TOSTR2(X) #X
+#define TOSTR(X) TOSTR2(X)
+
namespace clang {
namespace driver {
namespace tools {
@@ -68,7 +72,7 @@ private:
llvm::opt::ArgStringList &CmdArgs) const override;
SanitizerMask getSupportedSanitizers() const override;
using namespace clang::driver;
using namespace clang::driver::tools;
using namespace clang::driver::toolchains;
@@ -241,7 +246,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);
}
- const char *getDefaultLinker() const override { return "wasm-ld"; }
+ const char *getDefaultLinker() const override { return "wasm-ld-" TOSTR(LLVM_VERSION_MAJOR); }
CXXStdlibType GetDefaultCXXStdlibType() const override {
return ToolChain::CST_Libcxx;
bool WebAssembly::IsMathErrnoDefault() const { return false; }

View File

@ -1,8 +1,8 @@
Index: llvm-toolchain-16-16.0.6/clang/lib/Driver/ToolChains/WebAssembly.cpp
Index: llvm-toolchain-18_18.1.2/clang/lib/Driver/ToolChains/WebAssembly.cpp
===================================================================
--- llvm-toolchain-16-16.0.6.orig/clang/lib/Driver/ToolChains/WebAssembly.cpp
+++ llvm-toolchain-16-16.0.6/clang/lib/Driver/ToolChains/WebAssembly.cpp
@@ -174,7 +174,7 @@ WebAssembly::WebAssembly(const Driver &D
--- llvm-toolchain-18_18.1.2.orig/clang/lib/Driver/ToolChains/WebAssembly.cpp
+++ llvm-toolchain-18_18.1.2/clang/lib/Driver/ToolChains/WebAssembly.cpp
@@ -222,7 +222,7 @@ WebAssembly::WebAssembly(const Driver &D
getProgramPaths().push_back(getDriver().getInstalledDir());
@ -11,7 +11,7 @@ Index: llvm-toolchain-16-16.0.6/clang/lib/Driver/ToolChains/WebAssembly.cpp
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
@@ -402,6 +402,7 @@ void WebAssembly::AddClangSystemIncludeA
@@ -454,6 +454,7 @@ void WebAssembly::AddClangSystemIncludeA
return;
const Driver &D = getDriver();
@ -19,7 +19,7 @@ Index: llvm-toolchain-16-16.0.6/clang/lib/Driver/ToolChains/WebAssembly.cpp
if (!DriverArgs.hasArg(options::OPT_nobuiltininc)) {
SmallString<128> P(D.ResourceDir);
@@ -425,12 +426,20 @@ void WebAssembly::AddClangSystemIncludeA
@@ -477,12 +478,20 @@ void WebAssembly::AddClangSystemIncludeA
return;
}
@ -43,7 +43,7 @@ Index: llvm-toolchain-16-16.0.6/clang/lib/Driver/ToolChains/WebAssembly.cpp
}
void WebAssembly::AddClangCXXStdlibIncludeArgs(const ArgList &DriverArgs,
@@ -478,6 +487,17 @@ Tool *WebAssembly::buildLinker() const {
@@ -533,6 +542,17 @@ Tool *WebAssembly::buildLinker() const {
return new tools::wasm::Linker(*this);
}
@ -61,7 +61,7 @@ Index: llvm-toolchain-16-16.0.6/clang/lib/Driver/ToolChains/WebAssembly.cpp
void WebAssembly::addLibCxxIncludePaths(
const llvm::opt::ArgList &DriverArgs,
llvm::opt::ArgStringList &CC1Args) const {
@@ -488,18 +508,22 @@ void WebAssembly::addLibCxxIncludePaths(
@@ -543,18 +563,22 @@ void WebAssembly::addLibCxxIncludePaths(
getMultiarchTriple(D, getTriple(), SysRoot);
bool IsKnownOs = (getTriple().getOS() != llvm::Triple::UnknownOS);
@ -91,7 +91,7 @@ Index: llvm-toolchain-16-16.0.6/clang/lib/Driver/ToolChains/WebAssembly.cpp
}
void WebAssembly::addLibStdCXXIncludePaths(
@@ -546,8 +570,11 @@ void WebAssembly::addLibStdCXXIncludePat
@@ -601,8 +625,11 @@ void WebAssembly::addLibStdCXXIncludePat
addSystemInclude(DriverArgs, CC1Args, TargetDir);
}
@ -107,11 +107,11 @@ Index: llvm-toolchain-16-16.0.6/clang/lib/Driver/ToolChains/WebAssembly.cpp
+ addSystemInclude(DriverArgs, CC1Args, LibPath + "/c++/" + Version + "/backward");
+ }
}
Index: llvm-toolchain-16-16.0.6/clang/lib/Driver/ToolChains/WebAssembly.h
Index: llvm-toolchain-18_18.1.2/clang/lib/Driver/ToolChains/WebAssembly.h
===================================================================
--- llvm-toolchain-16-16.0.6.orig/clang/lib/Driver/ToolChains/WebAssembly.h
+++ llvm-toolchain-16-16.0.6/clang/lib/Driver/ToolChains/WebAssembly.h
@@ -89,6 +89,8 @@ private:
--- llvm-toolchain-18_18.1.2.orig/clang/lib/Driver/ToolChains/WebAssembly.h
+++ llvm-toolchain-18_18.1.2/clang/lib/Driver/ToolChains/WebAssembly.h
@@ -84,6 +84,8 @@ private:
llvm::opt::ArgStringList &CC1Args) const;
void addLibStdCXXIncludePaths(const llvm::opt::ArgList &DriverArgs,
llvm::opt::ArgStringList &CC1Args) const;

View File

@ -1,10 +1,10 @@
#!/bin/sh
ORIG_VERSION=16
TARGET_VERSION=17
ORIG_VERSION_2=16_0
TARGET_VERSION_2=17_0
ORIG_VERSION_3=160
TARGET_VERSION_3=170
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

View File

@ -9,7 +9,7 @@ VERSION=$(dpkg-parsechangelog | sed -rne "s,^Version: 1:([0-9]+).*,\1,p")
DETAILED_VERSION=$(dpkg-parsechangelog | sed -rne "s,^Version: 1:([0-9.]+)(~|-)(.*),\1\2\3,p")
DEB_HOST_ARCH=$(dpkg-architecture -qDEB_HOST_ARCH)
LIST="libomp5-${VERSION}_${DETAILED_VERSION}_amd64.deb libomp-${VERSION}-dev_${DETAILED_VERSION}_amd64.deb lldb-${VERSION}_${DETAILED_VERSION}_amd64.deb python3-lldb-${VERSION}_${DETAILED_VERSION}_amd64.deb python3-clang-${VERSION}_${DETAILED_VERSION}_amd64.deb libllvm${VERSION}_${DETAILED_VERSION}_amd64.deb llvm-${VERSION}-dev_${DETAILED_VERSION}_amd64.deb liblldb-${VERSION}-dev_${DETAILED_VERSION}_amd64.deb libclang1-${VERSION}_${DETAILED_VERSION}_amd64.deb libclang-common-${VERSION}-dev_${DETAILED_VERSION}_all.deb llvm-${VERSION}_${DETAILED_VERSION}_amd64.deb liblldb-${VERSION}_${DETAILED_VERSION}_amd64.deb llvm-${VERSION}-runtime_${DETAILED_VERSION}_amd64.deb lld-${VERSION}_${DETAILED_VERSION}_amd64.deb libfuzzer-${VERSION}-dev_${DETAILED_VERSION}_amd64.deb libclang-${VERSION}-dev_${DETAILED_VERSION}_amd64.deb libc++-${VERSION}-dev_${DETAILED_VERSION}_amd64.deb libc++abi-${VERSION}-dev_${DETAILED_VERSION}_amd64.deb libc++1-${VERSION}_${DETAILED_VERSION}_amd64.deb libc++abi1-${VERSION}_${DETAILED_VERSION}_amd64.deb clang-${VERSION}_${DETAILED_VERSION}_amd64.deb llvm-${VERSION}-tools_${DETAILED_VERSION}_amd64.deb clang-tools-${VERSION}_${DETAILED_VERSION}_amd64.deb clangd-${VERSION}_${DETAILED_VERSION}_amd64.deb libclang-cpp${VERSION}_${DETAILED_VERSION}_amd64.deb clang-tidy-${VERSION}_${DETAILED_VERSION}_amd64.deb libclang-cpp${VERSION}-dev_${DETAILED_VERSION}_amd64.deb libclc-${VERSION}_${DETAILED_VERSION}_all.deb libclc-${VERSION}-dev_${DETAILED_VERSION}_all.deb llvm-${VERSION}-linker-tools_${DETAILED_VERSION}_amd64.deb libunwind-${VERSION}_${DETAILED_VERSION}_amd64.deb libunwind-${VERSION}-dev_${DETAILED_VERSION}_amd64.deb libmlir-${VERSION}_${DETAILED_VERSION}_amd64.deb libmlir-${VERSION}-dev_${DETAILED_VERSION}_amd64.deb libclang-rt-${VERSION}-dev_${DETAILED_VERSION}_amd64.deb libclang-rt-${VERSION}-dev-wasm32_${DETAILED_VERSION}_all.deb libclang-rt-${VERSION}-dev-wasm64_${DETAILED_VERSION}_all.deb libc++abi-${VERSION}-dev-wasm32_${DETAILED_VERSION}_all.deb libc++-${VERSION}-dev-wasm32_${DETAILED_VERSION}_all.deb libpolly-${VERSION}-dev_${DETAILED_VERSION}_amd64.deb bolt-${VERSION}_${DETAILED_VERSION}_amd64.deb libbolt-${VERSION}-dev_${DETAILED_VERSION}_amd64.deb flang-${VERSION}_${DETAILED_VERSION}_amd64.deb libflang-${VERSION}-dev_${DETAILED_VERSION}_amd64.deb"
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 "
echo "To install everything:"
echo "sudo apt --purge remove 'libomp5-*' 'libc++*dev' 'libc++*' 'python3-lldb-*' 'libunwind-*' 'libclc-*' 'libclc-*dev' 'libmlir-*'"
@ -25,11 +25,29 @@ if test ! -f /usr/bin/llvm-config-$VERSION; then
echo "Install llvm-$VERSION & llvm-$VERSION-dev"
exit 1
fi
if test ! -f /usr/lib/llvm-$VERSION/lib/libLLVM-$VERSION.so; then
if test ! -e /usr/lib/llvm-$VERSION/lib/libLLVMObject.a; then
echo "Install llvm-$VERSION-dev"
exit 1
fi
# allow usr/lib/llvm-@LLVM_VERSION@/lib/libLLVM-@LLVM_VERSION@*.so
# as it is in llvm-X.Y-dev
NBLINES=$(ls -1 /usr/lib/llvm-$VERSION/lib/libLLVM*.so*|wc -l)
if test $NBLINES -ne 2; then
echo "Found some libLLVM into /usr/lib/llvm-$VERSION/lib/"
echo "See:"
ls -al /usr/lib/llvm-$VERSION/lib/libLLVM*.so*
echo "Break the build as it breaks the coinstalability"
echo "we should have only two for llvm-X.Y-dev"
exit 1
fi
NBLINES=$(dpkg -L libllvm$VERSION|grep libLLVM.so.$VERSION.1|wc -l)
if test $NBLINES -eq 0; then
echo "libLLVM.so.$VERSION.1 should exist. Could not find it in libllvm$VERSION"
exit 1
fi
echo "Testing llvm-$VERSION and llvm-$VERSION-dev ..."
llvm-config-$VERSION --link-shared --libs &> /dev/null
@ -279,6 +297,7 @@ rm -rf cmaketest
echo "Testing clang-$VERSION ..."
ARCH=$(clang-$VERSION -dumpmachine)
rm -f foo.log
echo 'int main() {return 0;}' > foo.c
@ -468,6 +487,12 @@ echo '#include <chrono>
int main() { }' > foo.cpp
clang++-$VERSION -std=c++11 foo.cpp
if test -f /usr/lib/llvm-$VERSION/lib/libclang.so.1; then
echo "/usr/lib/llvm-$VERSION/lib/libclang.so.1 found."
echo "Break the build as it breaks the coinstalability"
exit 1
fi
echo "Testing linking clang-cpp ..."
clang-$VERSION -lclang-cpp$VERSION -v foo.cpp -o o &> /dev/null || true
@ -486,7 +511,7 @@ check_symlink() {
fi
}
check_symlink "libclang-cpp.so.$VERSION"
check_symlink "libclang-cpp.so"
check_symlink "libclang-$VERSION.so"
check_symlink "libclang.so"
@ -1015,11 +1040,70 @@ rm -f plugin.so
echo '#include <iostream>
int main() {}' | clang++-$VERSION -std=c++1z -x c++ -stdlib=libc++ -
# testing C++ libc++ modules
cat << EOF > foo.cpp
import std;
import std.compat;
int main() {
std::cout << "Hello modular world\n";
::printf("Hello compat modular world\n");
}
EOF
# Builds the std module
clang++-$VERSION -std=c++20 \
-nostdinc++ \
-isystem /usr/lib/llvm-$VERSION/include/c++/v1/ \
-Wno-reserved-module-identifier -Wno-reserved-user-defined-literal \
--precompile -o std.pcm \
-c /usr/lib/llvm-$VERSION/share/libc++/v1/std.cppm
# Builds the std.compat module
clang++-$VERSION -std=c++20 \
-nostdinc++ \
-isystem /usr/lib/llvm-$VERSION/include/c++/v1/ \
-Wno-reserved-module-identifier -Wno-reserved-user-defined-literal \
--precompile -o std.compat.pcm \
-fmodule-file=std=std.pcm \
-c /usr/lib/llvm-$VERSION/share/libc++/v1/std.compat.cppm
# Builds the test application
clang++-$VERSION -std=c++20 \
-nostdinc++ \
-isystem /usr/lib/llvm-$VERSION/include/c++/v1/ \
-L /usr/lib/llvm-$VERSION/lib \
-fmodule-file=std=std.pcm \
-fmodule-file=std.compat=std.compat.pcm \
std.pcm \
std.compat.pcm \
-lc++ \
foo.cpp
# Runs the test application
# The output should be
# Hello modular world
# Hello compat modular world
./a.out > foo.log
if ! grep -q -E "Hello modular world" foo.log 2>&1; then
echo "c++ modules didn't work"
exit 1
fi
if ! grep -q -E "Hello compat modular world" foo.log 2>&1; then
echo "c++ modules didn't work"
exit 1
fi
if test ! -f /usr/lib/llvm-$VERSION/include/cxxabi.h; then
echo "Install libc++abi-$VERSION-dev";
exit -1;
fi
# Recreate a C++ without modules
echo '#include <chrono>
int main() { }' > foo.cpp
# Force the usage of libc++abi
clang++-$VERSION -stdlib=libc++ -lc++abi foo.cpp -o o
./o > /dev/null
@ -1092,6 +1176,59 @@ g++ -nostdinc++ -I/usr/lib/llvm-$VERSION/bin/../include/c++/v1/ -L/usr/lib/llvm-
./o > /dev/null
fi
# Test C++ modules with the libc++
cat << EOF > foo.cpp
import std; // When importing std.compat it's not needed to import std.
import std.compat;
int main() {
std::cout << "Hello modular world\n";
::printf("Hello compat modular world\n");
}
EOF
# Builds the std module
clang-$VERSION -std=c++20 \
-nostdinc++ \
-isystem /usr/lib/llvm-$VERSION/include/c++/v1/ \
-Wno-reserved-module-identifier -Wno-reserved-user-defined-literal \
--precompile -o std.pcm \
-c /usr/lib/llvm-$VERSION/share/libc++/v1/std.cppm
# Builds the std.compat module
clang-$VERSION -std=c++20 \
-nostdinc++ \
-isystem /usr/lib/llvm-$VERSION/include/c++/v1/ \
-Wno-reserved-module-identifier -Wno-reserved-user-defined-literal \
--precompile -o std.compat.pcm \
-fmodule-file=std=std.pcm \
-c /usr/lib/llvm-$VERSION/share/libc++/v1/std.compat.cppm
# Builds the test application
clang-$VERSION -std=c++20 \
-nostdinc++ \
-isystem /usr/lib/llvm-$VERSION/include/c++/v1/ \
-L /usr/lib/llvm-$VERSION/lib \
-fmodule-file=std=std.pcm \
-fmodule-file=std.compat=std.compat.pcm \
std.pcm \
std.compat.pcm \
-lc++ \
foo.cpp
# Runs the test application
# The output should be
# Hello modular world
# Hello compat modular world
./a.out > foo.log
if ! grep -q -E "Hello modular world" foo.log 2>&1; then
echo "c++ modules didn't work"
exit 1
fi
if ! grep -q -E "Hello compat modular world" foo.log 2>&1; then
echo "c++ modules didn't work"
exit 1
fi
if dpkg -l|grep -q flang-$VERSION; then
echo "Testing flang-$VERSION (Fortran) ..."
@ -1135,10 +1272,31 @@ end program main' > foo.f90
fi
rm -f foo.log foo.f90 foo libflib.so
else
echo "Skipping esting flang-$VERSION (Fortran) ..."
echo "Skipping testing flang-$VERSION (Fortran) ..."
echo "doesn't exist on this arch"
fi
# libc
if dpkg -l|grep -q libllvmlibc-$VERSION-dev; then
echo "Testing libllvmlibc-$VERSION-dev ..."
echo '
#include <math.h>
int main(void)
{
double f = 2.0;
if (isnan(f))
return 1;
return 0;
}' > main.c
clang-$VERSION -static -nostdlib -nolibc -L/usr/lib/llvm-$VERSION/lib/ -lllvmlibc main.c -o foo
if ! ldd foo 2>&1|grep -qv libc.; then
echo "linked against regular libc"
exit -1
fi
# segfault for now
./foo || true
# libclc
echo "Testing libclc-$VERSION-dev ..."
@ -1155,6 +1313,10 @@ fi
BINDIR=$(llvm-config-$VERSION --bindir)
/usr/lib/llvm-$VERSION/share/libclc/check_external_calls.sh /usr/lib/clc/amdgcn--amdhsa.bc $BINDIR > /dev/null
else
echo "Skipping testing libllvmlibc-$VERSION-dev ..."
echo "doesn't exist on this arch"
fi
# libunwind
echo "Testing libunwind-$VERSION-dev ..."
@ -1395,7 +1557,7 @@ int main() {
EmitBackendOutput(*diags, *hsOpts, *cgOpts, *tOpts, *lOpts, *tDesc, m, *action, VFS, std::move(AsmOutStream));
}
EOF
clang++-$VERSION foo.cpp -o test -lclangBasic -lclangCodeGen -lclangDriver -lclangFrontend -lclangFrontendTool -lclangCodeGen -lclangRewriteFrontend -lclangARCMigrate -lclangStaticAnalyzerFrontend -lclangStaticAnalyzerCheckers -lclangStaticAnalyzerCore -lclangCrossTU -lclangIndex -lclangFrontend -lclangDriver -lclangParse -lclangSerialization -lclangSema -lclangAnalysis -lclangEdit -lclangFormat -lclangToolingInclusions -lclangToolingCore -lclangRewrite -lclangASTMatchers -lclangAST -lclangLex -lclangBasic -ldl /usr/lib/llvm-$VERSION/lib/libLLVM-$VERSION.so -lclangCodeGen -lclangDriver -lclangFrontend -lclangFrontendTool -lclangRewriteFrontend -lclangARCMigrate -lclangStaticAnalyzerFrontend -lclangStaticAnalyzerCheckers -lclangStaticAnalyzerCore -lclangCrossTU -lclangIndex -lclangParse -lclangSerialization -lclangSema -lclangAnalysis -lclangEdit -lclangFormat -lclangToolingInclusions -lclangToolingCore -lclangRewrite -lclangASTMatchers -lclangAST -lclangLex -ldl -I /usr/lib/llvm-$VERSION/include/ -L/usr/lib/llvm-$VERSION/lib/ -lPolly -lPollyISL
clang++-$VERSION foo.cpp -o test -lclangCodeGen -lclangDriver -lclangFrontend -lclangFrontendTool -lclangCodeGen -lclangRewriteFrontend -lclangARCMigrate -lclangStaticAnalyzerFrontend -lclangStaticAnalyzerCheckers -lclangStaticAnalyzerCore -lclangCrossTU -lclangIndex -lclangFrontend -lclangDriver -lclangParse -lclangSerialization -lclangSema -lclangAnalysis -lclangEdit -lclangFormat -lclangToolingInclusions -lclangToolingCore -lclangRewrite -lclangASTMatchers -lclangAST -lclangLex -lclangAPINotes -lclangSupport -lclangBasic -ldl /usr/lib/llvm-$VERSION/lib/libLLVM-$VERSION.so -lclangCodeGen -lclangDriver -lclangFrontend -lclangFrontendTool -lclangRewriteFrontend -lclangARCMigrate -lclangStaticAnalyzerFrontend -lclangStaticAnalyzerCheckers -lclangStaticAnalyzerCore -lclangCrossTU -lclangIndex -lclangParse -lclangSerialization -lclangSema -lclangAnalysis -lclangEdit -lclangFormat -lclangToolingInclusions -lclangToolingCore -lclangRewrite -lclangASTMatchers -lclangAST -lclangLex -ldl -I /usr/lib/llvm-$VERSION/include/ -L/usr/lib/llvm-$VERSION/lib/ -lPolly -lPollyISL
if test ! -f /usr/bin/lldb-$VERSION; then
echo "Install lldb-$VERSION";
@ -1521,7 +1683,7 @@ rm -rf cmaketest && mkdir cmaketest
cat > cmaketest/CMakeLists.txt <<EOF
cmake_minimum_required(VERSION 3.7)
project(SanityCheck)
find_package(LLVM $VERSION REQUIRED CONFIG)
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}")
@ -1704,5 +1866,6 @@ fi
#clean up
rm -f a.out bar crash-* foo foo.* lldb-cmd.txt main.* test_fuzzer.cc foo.* o
rm -rf output matmul.* *profraw opt.ll a.json default.profdata test test.cpp
rm -f foo-foo.gc* hello_world.mod lib.f90 std*.pcm
echo "Completed"

210
debian/rules vendored
View File

@ -15,6 +15,7 @@ GCC_VERSION := $(subst /usr/bin/g++-,,$(GXX_VERSIONED_EXECUTABLE))
LLVM_EPOCH := 1:
LLVM_VERSION := $(shell dpkg-parsechangelog | sed -rne "s,^Version: 1:([0-9]+).*,\1,p")
LLVM_VERSION_FULL := $(shell dpkg-parsechangelog | sed -rne "s,^Version: 1:([0-9.]+)(~|-)(.*),\1,p")
LLVM_VERSION_MINOR := $(shell dpkg-parsechangelog | sed -rne "s,^Version: 1:[0-9]+\.(.*)\..*,\1,p")
LLVM_VERSION_SNAPSHOT := $(shell dpkg-parsechangelog | sed -rne "s,^Version: 1:(.*),\1,p")
ifeq ($(LLVM_VERSION),$(LLVM_VERSION_FULL))
LLVM_VERSION_FULL := $(LLVM_VERSION).0.0
@ -26,11 +27,6 @@ LLVM_VERSION_NEXT := $(shell echo $(LLVM_VERSION_FULL) | awk -F. '{ OFS="."; $$N
export DEB_BUILD_MAINT_OPTIONS = reproducible=-fixfilepath,-fixdebugpath optimize=-lto
RUNTIMES = compiler-rt;libcxx;libcxxabi
# dpkg-buildflags support
# disable fixfilepath in favor of the llvm-project supplied flavor, disable lto
export DEB_BUILD_MAINT_OPTIONS = reproducible=-fixfilepath,-fixdebugpath optimize=-lto
RUNTIMES = compiler-rt;libcxx;libcxxabi
SOURCE_NAME := $(shell dpkg-parsechangelog -S Source)
ifneq (,$(findstring snapshot,$(SOURCE_NAME)))
BRANCH_NAME=snapshot
@ -64,7 +60,7 @@ else
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)
'END { mt/=1024; n2 = int(mt/m); print n==1 ? 1 : n2<n+1 ? n2 : n+1}' < /dev/null)
DH_VERSION := $(shell dpkg -s debhelper | grep '^Version' | awk '{print $$2}')
@ -201,7 +197,7 @@ ifneq (,$(findstring $(DEB_HOST_ARCH),armel))
endif
ifneq (,$(findstring $(DEB_HOST_ARCH),armhf))
STAGE_ALL_CMAKE_EXTRA += -DLLVM_HOST_TRIPLE=arm-linux-gnueabihf
STAGE_ALL_CMAKE_EXTRA += -DLLVM_HOST_TRIPLE=arm-pc-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
@ -210,8 +206,8 @@ 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
STAGE_ALL_CMAKE_EXTRA += -DLLVM_HOST_TRIPLE=i386-pc-linux-gnu
CMAKE_EXTRA += -DLLVM_HOST_TRIPLE=i386-pc-linux-gnu
endif
ifneq (,$(filter $(DEB_HOST_ARCH),mips64el))
@ -223,7 +219,7 @@ ifneq (,$(filter $(DEB_HOST_ARCH),mips64el))
endif
ifneq (,$(filter $(DEB_HOST_ARCH),powerpc))
STAGE_ALL_CMAKE_EXTRA += -DLLVM_HOST_TRIPLE=powerpc-linux-gnu
STAGE_ALL_CMAKE_EXTRA += -DLLVM_HOST_TRIPLE=powerpc-pc-linux-gnu
endif
# debug symbols OOM in Ubuntu Ubuntu and slows down build process.
@ -234,12 +230,12 @@ else
endif
ifneq (,$(filter $(DEB_HOST_ARCH),sparc))
STAGE_ALL_CMAKE_EXTRA += -DLLVM_HOST_TRIPLE=sparc-linux-gnu
STAGE_ALL_CMAKE_EXTRA += -DLLVM_HOST_TRIPLE=sparc-pc-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_HOST_TRIPLE=sparc64-pc-linux-gnu
STAGE_ALL_CMAKE_EXTRA += -DLLVM_PARALLEL_LINK_JOBS=4
endif
@ -312,18 +308,47 @@ ifeq ($(LLVM_SPIRV_INSTALLED),yes)
LIBCLC_LLVM_SPIRV = -DLLVM_SPIRV=$(LLVM_SPIRV)
endif
MOLD_ENABLE=no
# Use mold as a linker. Faster than the other.
MOLD_DISABLE_DISTRO := bionic buster focal buster bullseye bookworm
ifeq (,$(filter-out $(MOLD_DISABLE_DISTRO), $(DISTRO)))
# mold is too old on this distro
MOLD_ENABLE=no
#else
# disable mold until https://github.com/rui314/mold/issues/1224 is fixed
# MOLD_ENABLE=yes
# STAGE_ALL_CMAKE_EXTRA += -DLLVM_USE_LINKER=mold
# control_vars += ', mold'
endif
BINUTILS_GOLD_ARCHS := amd64 arm64 armhf i386 ppc64 ppc64el x32 s390x hurd-i386 kfreebsd-amd64 kfreebsd-i386
ifeq ($(shell dpkg --compare-versions $(shell dpkg-query -W -f '$${Version}' binutils) ge 2.23.1-1~exp3 ; echo $$?),0)
ifneq (,$(filter $(DEB_HOST_ARCH),$(BINUTILS_GOLD_ARCHS)))
ifeq (${MOLD_ENABLE},no)
# don't do it when MOLD is enabled
STAGE_ALL_CMAKE_EXTRA += -DLLVM_USE_LINKER=gold
STAGE_ALL_CMAKE_EXTRA += -DLLVM_BINUTILS_INCDIR=/usr/include/
endif
endif
endif
ifneq (,$(filter bolt-$(LLVM_VERSION), $(packages)))
PROJECTS += ;bolt
endif
LIBC_ENABLE=no
LIBC_DISABLE_DISTRO := bionic
ifneq (,$(filter libllvmlibc-$(LLVM_VERSION)-dev, $(packages)))
ifeq (,$(filter-out $(LIBC_DISABLE_DISTRO), $(DISTRO)))
# disable libc on bionic. See https://github.com/llvm/llvm-project/issues/82467
LIBC_ENABLE=no
else
BOOTSTRAP_CMAKE_EXTRA += -DBOOTSTRAP_LIBC_INCLUDE_DOCS=ON
RUNTIMES += ;libc
LIBC_ENABLE=yes
endif
endif
# flang is only for 64bits
ifneq (,$(filter flang-$(LLVM_VERSION), $(packages)))
PROJECTS += ;flang
@ -356,6 +381,8 @@ ifneq (,$(filter $(DEB_HOST_ARCH), s390x armel m68k mipsel mips64el hurd-i386 po
# 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
@ -387,8 +414,8 @@ ifeq (riscv64,$(DEB_HOST_ARCH))
endif
endif
# llvm tests timeout, disable it on mips64el
ifeq (mips64el,$(DEB_HOST_ARCH))
# llvm tests timeout, disable it on mips64el and x32
ifneq (,$(filter $(DEB_HOST_ARCH),mips64el x32))
RUN_TEST=no
endif
@ -426,7 +453,7 @@ else
endif
LLDB_ENABLE=yes
LLDB_DISABLE_ARCHS := hurd-i386 ia64 powerpc powerpcspe ppc64 riscv64 sparc64 mips64el mipsel
LLDB_DISABLE_ARCHS := hurd-i386 ia64 powerpc powerpcspe ppc64 sparc64 mips64el mipsel
# hurd has threading issues
ifeq (,$(filter-out $(LLDB_DISABLE_ARCHS), $(DEB_HOST_ARCH)))
# Disable LLDB for this arch.
@ -436,6 +463,13 @@ else
PROJECTS+=;lldb
endif
LLDB_PT_DISABLE_DISTRO := bionic
ifneq (,$(filter $(DEB_HOST_ARCH),i386 amd64))
ifneq (,$(filter $(LLDB_PT_DISABLE_DISTRO),$(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
@ -454,6 +488,13 @@ ifeq (,$(filter-out $(LIBCXX_WASM_DISABLE_DISTRO), $(DISTRO)))
LIBCXX_WASM_ENABLE=no
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
endif
ifneq (,$(filter $(DEB_HOST_ARCH),powerpc powerpcspe))
LIBCXX_WASM_ENABLE=no
endif
@ -471,20 +512,13 @@ 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
THINLTO_ENABLE=no
THINLTO_ARCHS := amd64 arm64
# Needs more work, disabling for now
#ifneq (,$(filter $(DEB_HOST_ARCH),$(THINLTO_ARCHS)))
# BOOTSTRAP_CMAKE_EXTRA +=-DBOOTSTRAP_LLVM_ENABLE_LTO=Thin
# THINLTO_ENABLE=yes
#endif
# https://bugs.launchpad.net/bugs/2016471
ifeq (,$(filter-out $(LTO_DISABLE_ARCHS), $(DEB_HOST_ARCH)))
@ -496,7 +530,7 @@ endif
DH_OPTIONS=
OCAML_ENABLE= no
OCAML_ARCHS := amd64 arm64 armhf ppc64el riscv64 s390x
OCAML_ARCHS := amd64 arm64 ppc64el riscv64 s390x
ifneq (,$(filter $(DEB_HOST_ARCH),$(OCAML_ARCHS)))
# Enable OCAML for this arch.
OCAML_ENABLE=yes
@ -557,7 +591,7 @@ ifneq (,$(filter coverity,$(DEB_BUILD_OPTIONS)))
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-sanitizer;llvm-config;test-suite
ENABLED_STAGE2_CMAKE_BUILD_TARGETS = check-all;check-llvm;check-clang;check-clang-tools;check-lld;check-cxx;check-cxxabi;check-mlir;check-libc;llvm-config;test-suite
%:
dh $@ $(DH_OPTIONS)
@ -566,8 +600,6 @@ ENABLED_STAGE2_CMAKE_BUILD_TARGETS = check-all;check-llvm;check-clang;check-clan
PROJECTS_LIST := $(shell echo "$(PROJECTS)"|sed -e "s| ||g")
RUNTIMES_LIST := $(shell echo "$(RUNTIMES)"|sed -e "s| ||g")
EXPERIMENTAL_TARGETS="M68k;Xtensa"
stamps/preconfigure:
if ! grep -qs '/proc ' /proc/mounts; then \
echo "/proc needs to be mounted"; \
@ -593,11 +625,13 @@ stamps/preconfigure:
@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)"
@ -605,14 +639,17 @@ stamps/preconfigure:
@echo "RUNTIMES_CXXFLAGS=$(RUNTIMES_CXXFLAGS)"
@echo "STAGE_1_CXXFLAGS=$(STAGE_1_CXXFLAGS)"
@echo "STAGE_2_CFLAGS=$(STAGE_2_CFLAGS)"
@echo "LDFLAGS_EXTRA=$(LDFLAGS_EXTRA)"
@echo "LIBFUZZER_ENABLE=$(LIBFUZZER_ENABLE)"
@echo "LTO_ENABLE=$(LTO_ENABLE)"
@echo "THINLTO_ENABLE=$(THINLTO_ENABLE)"
@echo "COMPILER_RT_WASM_ENABLE=$(COMPILER_RT_WASM_ENABLE)"
@echo "LIBCXX_WASM_ENABLE=$(LIBCXX_WASM_ENABLE)"
@echo "SCCACHE_ENABLE=$(SCCACHE_ENABLE)"
@echo "LIBC_ENABLE=$(LIBC_ENABLE)"
@echo "MOLD_ENABLE=$(MOLD_ENABLE)"
@echo "LLVM_SPIRV=$(LLVM_SPIRV)"
@echo "LLVM_SPIRV_INSTALLED=$(LLVM_SPIRV_INSTALLED)"
@echo "DOC_GENERATION=$(DOC_GENERATION)"
@echo "control_vars=$(control_vars)"
for f in debian/*.in; do \
f2=$$(echo $$f | sed 's/\.in$$//;s/X\.Y/$(LLVM_VERSION)/'); \
@ -622,6 +659,7 @@ stamps/preconfigure:
-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" $$f > $$f2; \
done
@ -630,6 +668,7 @@ stamps/preconfigure:
chmod +x \
debian/clang-tools-$(LLVM_VERSION).install \
debian/libclang-$(LLVM_VERSION)-dev.install \
debian/libclang-common-$(LLVM_VERSION)-dev.install \
debian/libclang-rt-$(LLVM_VERSION)-dev.install \
debian/libpolly-$(LLVM_VERSION)-dev.install \
debian/libomp-$(LLVM_VERSION)-dev.install \
@ -639,11 +678,14 @@ stamps/preconfigure:
debian/llvm-$(LLVM_VERSION)-linker-tools.links \
debian/libbolt-$(LLVM_VERSION)-dev.install
# workaround the breaks/replaces/conflicts introduced with the libc++ move
# workaround the breaks/replaces/conflicts introduced with the libllvm 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)" = "17"; then \
sed -i -e "s|(<< 1:17.0.6-2)|(<< 1:17.0.6~++20231206041259)|g" debian/control; \
if test "$(LLVM_VERSION)" = "18"; then \
if echo $(LLVM_VERSION_SNAPSHOT)| grep -q "~++"; then \
sed -i -e "s| (<< 1:18.1.8-9)|(<< 1:18.1.8~++20240830304741)|g" debian/control; \
sed -i -e "s| (<< 1:18.1.8-9)|(<< 1:18.1.8~++20240830304741)|g" debian/control; \
fi; \
fi
# llvm-spirv was found, so we can enable *.spv files. Debian
@ -738,7 +780,7 @@ ifneq (,$(filter $(DEB_HOST_ARCH),i386 amd64))
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_CACHE_SIZE="20G" $(SCCACHE_CMD) --start-server
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)"
@ -776,8 +818,6 @@ endif
-DCOMPILER_RT_INCLUDE_TESTS=OFF \
-DCOMPILER_RT_USE_LIBCXX=OFF \
-DCOMPILER_RT_USE_BUILTINS_LIBRARY=$(COMPILER_RT_USE_BUILTINS_LIBRARY) \
-DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON \
-DLIBUNWIND_USE_COMPILER_RT=ON \
-DLIBUNWIND_INSTALL_LIBRARY=OFF \
-DLIBCXXABI_ENABLE_EXCEPTIONS=$(LIBCXX_EXCEPTIONS) \
-DLIBCXXABI_USE_COMPILER_RT=$(LIBCXX_USE_COMPILER_RT) \
@ -788,18 +828,19 @@ endif
-DLIBCXX_STATICALLY_LINK_ABI_IN_STATIC_LIBRARY=ON \
-DLIBCXX_STATICALLY_LINK_ABI_IN_SHARED_LIBRARY=OFF \
-DLIBCXX_INSTALL_LIBRARY=OFF \
-DLIBCXX_INSTALL_MODULES=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_EXPERIMENTAL_TARGETS_TO_BUILD=$(EXPERIMENTAL_TARGETS) \
$(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" \
-DCLANG_BOOTSTRAP_PASSTHROUGH="CMAKE_INSTALL_PREFIX;CMAKE_SUPPRESS_REGENERATION;ENABLE_LINKER_BUILD_ID;LLVM_ENABLE_PIC;LLVM_ENABLE_RTTI;LLVM_INCLUDE_GO_TESTS;LLVM_USE_RELATIVE_PATHS_IN_FILES;CLANG_DEFAULT_LINKER;CLANG_DEFAULT_CXX_STDLIB;CLANG_DEFAULT_RTLIB;COMPILER_RT_USE_LIBCXX;COMPILER_RT_USE_BUILTINS_LIBRARY;COMPILER_RT_DEFAULT_TARGET_ONLY;COMPILER_RT_INCLUDE_TESTS;LIBUNWIND_USE_COMPILER_RT;LIBCXXABI_ENABLE_EXCEPTIONS;LIBCXXABI_USE_COMPILER_RT;LIBCXX_USE_COMPILER_RT;LIBCXX_ENABLE_EXCEPTIONS;LIBCXX_ENABLE_STATIC_ABI_LIBRARY;LIBCXX_STATICALLY_LINK_ABI_IN_STATIC_LIBRARY;LIBCXX_STATICALLY_LINK_ABI_IN_SHARED_LIBRARY;LIBOMP_ENABLE_RTTI;LLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN;CLANG_FORCE_MATCHING_LIBCLANG_SOVERSION;CMAKE_C_COMPILER_LAUNCHER;CMAKE_CXX_COMPILER_LAUNCHER;LLVM_EXPERIMENTAL_TARGETS_TO_BUILD" \
-DBOOTSTRAP_CMAKE_BUILD_TYPE=RelWithDebInfo \
-DBOOTSTRAP_CMAKE_C_FLAGS_RELWITHDEBINFO="$(opt_flags)" \
-DBOOTSTRAP_CMAKE_CXX_FLAGS_RELWITHDEBINFO="$(opt_flags)" \
@ -818,7 +859,7 @@ endif
-DBOOTSTRAP_LLVM_INSTALL_UTILS=ON \
-DBOOTSTRAP_LLVM_VERSION_SUFFIX= \
-DBOOTSTRAP_LLVM_POLLY_LINK_INTO_TOOLS=ON \
-DBOOTSTRAP_LLVM_EXPERIMENTAL_TARGETS_TO_BUILD=$(EXPERIMENTAL_TARGETS) \
-DBOOTSTRAP_LLVM_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 \
@ -835,6 +876,9 @@ endif
exit 1; \
fi
@mkdir -p stamps
# Detect the triple
TRIPLE=`grep ^LLVM_DEFAULT_TARGET_TRIPLE build-llvm/CMakeCache.txt|cut -d= -f2`; \
sed -i -e "s|@DEB_HOST_MULTIARCH_LLVM@|$$TRIPLE|g" debian/*.links
touch $@
VERBOSE=-v
@ -1018,7 +1062,8 @@ build-wasm/libcxx-%-wasi: build-wasm/compiler-rt-%
-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_BUILD_EXTERNAL_THREAD_LIBRARY:BOOL=OFF \
-DLIBCXXABI_USE_LLVM_UNWINDER:BOOL=OFF
ninja -C "$@" -j $(NJOBS) $(VERBOSE)
endif
@ -1050,6 +1095,11 @@ override_dh_auto_build: \
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 ."; \
@ -1111,6 +1161,7 @@ endif
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
@ -1119,6 +1170,16 @@ override_dh_auto_install:
# install/fast enables a make install without recompiling temporary files
LD_LIBRARY_PATH=$(STAGE_2_LIB_DIR):$$LD_LIBRARY_PATH DESTDIR=$(DEB_INST)/ ninja -C $(TARGET_BUILD) $(VERBOSE) stage2-install
# Move libLLVM to /usr/lib/TRIPLE/libLLVM-XX.so.1 to make it multiarch ready
mkdir -p $(DEB_INST)/usr/lib/$(DEB_HOST_MULTIARCH)/; \
mv $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/libLLVM-$(LLVM_VERSION).so.1 $(DEB_INST)/usr/lib/$(DEB_HOST_MULTIARCH)/; \
mv $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/libLLVM-$(LLVM_VERSION).so.$(LLVM_VERSION).1 $(DEB_INST)/usr/lib/$(DEB_HOST_MULTIARCH)/
rm -f $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/libLLVM-$(LLVM_VERSION).so
cd $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/; \
ln -s ../../$(DEB_HOST_MULTIARCH)/libLLVM-$(LLVM_VERSION).so.1 libLLVM-$(LLVM_VERSION).so; \
ln -s ../../$(DEB_HOST_MULTIARCH)/libLLVM-$(LLVM_VERSION).so.1 libLLVM-$(LLVM_VERSION).so.1
# Not used on Linux.
rm -f $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/bin/argdumper
rm -f $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/share/clang/clang-format-bbedit.applescript
@ -1133,7 +1194,7 @@ override_dh_auto_install:
# Only run on executable, not script
chrpath -d `find $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/bin/ -type f -executable -exec file -i '{}' \; | grep 'x-executable; charset=binary'|cut -d: -f1`
ifeq (,$(filter $(DEB_HOST_ARCH), powerpc powerpcspe sparc sparc64))
ifeq (,$(filter $(DEB_HOST_ARCH), powerpc powerpcspe))
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
@ -1141,13 +1202,13 @@ endif
endif
if test "$(LIBUNWIND_ENABLE)" = yes; then \
mkdir -p debian/tmp/usr/include/libunwind; \
cp -R libunwind/include/* debian/tmp/usr/include/libunwind/; \
mkdir -p $(DEB_INST)/usr/include/libunwind; \
cp -R libunwind/include/* $(DEB_INST)/usr/include/libunwind/; \
fi
: # libomp
if test "$(OPENMP_ENABLE)" = yes; then \
cd debian/tmp/usr/lib/llvm-$(LLVM_VERSION)/lib; \
cd $(DEB_INST)/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
@ -1165,6 +1226,11 @@ ifeq (${LIBFUZZER_ENABLE},yes)
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
@ -1191,7 +1257,7 @@ endif
$(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/build/utils/lit/lit/*/__pycache__/
# workaround issue https://github.com/llvm/llvm-project/issues/57101
find debian/tmp -iname 'libbolt_rt*.a' -path '*/build-llvm/*' -delete
find $(DEB_INST) -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
@ -1277,9 +1343,14 @@ endif
fi
mkdir -p $(CURDIR)/debian/usr/share/doc/llvm-$(LLVM_VERSION)-doc/ $(CURDIR)/debian/usr/share/doc/clang-$(LLVM_VERSION)-doc/
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
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 \
@ -1310,6 +1381,10 @@ endif
if test "$(LLDB_PYTHON_ENABLE)" = no; then \
echo "" > debian/python3-lldb-$(LLVM_VERSION).install; \
fi
# if libc isn't built, remove what we want to install
if test "$(LIBC_ENABLE)" = no; then \
echo "" > debian/libllvmlibc-$(LLVM_VERSION)-dev.install; \
fi
# Remove some mlir example
rm -f $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/libMyExtensionCh*.a
@ -1383,12 +1458,12 @@ ifeq (${POLLY_ENABLE},yes)
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
rm -rf $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/cmake/polly/*.cmake
else
rm -rf $(CURDIR)/debian/tmp/usr/lib/llvm-$(LLVM_VERSION)/lib/cmake/polly/*.cmake
rm -rf $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/cmake/polly/*.cmake
endif
endif
dh_install --fail-missing
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)))
@ -1406,7 +1481,7 @@ endif
rm -fr $(CURDIR)/debian/libclang-rt-$(LLVM_VERSION)-dev/usr/lib/llvm-$(LLVM_VERSION)/lib/clang/$(LLVM_VERSION)/lib/wasi/
stamps/repack_a_llvm_ir:
ifeq (${LTO_ENABLE},yes)
ifeq (${THINLTO_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
@ -1417,7 +1492,7 @@ 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 $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/python*/*-packages/lldb/__init__.pyc $(CURDIR)/debian/python*-lldb-$(LLVM_VERSION)/usr/lib/llvm-$(LLVM_VERSION)/lib/python*/*-packages/lldb/__init__.pyc
rm -f $(CURDIR)/debian/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.
@ -1456,14 +1531,16 @@ ifeq (${LLD_ENABLE},yes)
ninja $(VERBOSE) -C $(TARGET_BUILD_STAGE2) check-lld || true
endif
# Sanitizer
ninja $(VERBOSE) -C $(TARGET_BUILD_STAGE2) check-sanitizer || true
# Cxx
ninja $(VERBOSE) -C $(TARGET_BUILD_STAGE2) check-cxx || true
# Libcxx
ninja $(VERBOSE) -C $(TARGET_BUILD_STAGE2) check-libcxx || true
# Libc
ifeq (${LIBC_ENABLE},yes)
ninja $(VERBOSE) -C $(TARGET_BUILD_STAGE2) check-libc || true
endif
# Libcxxabi
ninja $(VERBOSE) -C $(TARGET_BUILD_STAGE2) check-libcxxabi || true
# Cxxabi
ninja $(VERBOSE) -C $(TARGET_BUILD_STAGE2) check-cxxabi || true
# MLIR
ifeq (,$(filter $(DEB_HOST_ARCH), armel armhf i386 x32))
@ -1516,8 +1593,11 @@ override_dh_auto_test:
endif
override_dh_builddeb:
dh_builddeb ${skip_packages}
override_dh_gencontrol: stamps/sccache-stats
dh_gencontrol -- $(control_vars)
dh_gencontrol ${skip_packages} -- $(control_vars)
override_dh_auto_clean:

View File

@ -2,7 +2,7 @@
set -e
LLVM_VERSION=17
LLVM_VERSION=18
# this is taken from libjsoncpp package
# Presence of $AUTOPKGTEST_TMP implies that someone will handle cleanup for us, so we
@ -20,7 +20,7 @@ cd "$AUTOPKGTEST_TMP"
cat <<EOF > CMakeLists.txt
cmake_minimum_required(VERSION 3.22)
project(cmake-clang-test)
find_package(Clang)
find_package(Clang $LLVM_VERSION.1 REQUIRED)
EOF

View File

@ -2,7 +2,7 @@
set -e
LLVM_VERSION=17
LLVM_VERSION=18
# this is taken from libjsoncpp package
# Presence of $AUTOPKGTEST_TMP implies that someone will handle cleanup for us, so we
@ -20,7 +20,7 @@ cd "$AUTOPKGTEST_TMP"
cat <<EOF > CMakeLists.txt
cmake_minimum_required(VERSION 3.22)
project(cmake-llvm-test)
find_package(LLVM $LLVM_VERSION REQUIRED
find_package(LLVM $LLVM_VERSION.1 REQUIRED
COMPONENTS
Analysis
BitReader

10
debian/tests/control vendored
View File

@ -2,7 +2,7 @@ Test-Command: bash -v ./debian/qualify-clang.sh
Depends: @, cmake, make, g++, file, dpkg-dev
# Comment the dbgsym package because of bug #917528
# dbgsym packages not being available in testing
# clang-17-dbgsym, libclang1-17-dbgsym
# clang-18-dbgsym, libclang1-18-dbgsym
Restrictions: allow-stderr
Architecture: amd64 arm64 i386
@ -12,13 +12,13 @@ Restrictions: allow-stderr
Architecture: amd64 arm64
Tests: cmake-llvm-test
Depends: gcc, build-essential, cmake, llvm-17-dev
Depends: gcc, build-essential, cmake, llvm-18-dev
Tests: cmake-clang-test
Depends: gcc, build-essential, cmake, llvm-17-dev, clang-17, libclang-17-dev
Depends: gcc, build-essential, cmake, llvm-18-dev, clang-18, libclang-18-dev
Test-Command: python3 -c "import lldb; print(lldb.__file__); print(lldb)"
Depends: python3-lldb-17
Depends: python3-lldb-18
Test-Command: python3 -c "import clang; print(clang.__file__); print(clang)"
Depends: python3-clang-17
Depends: python3-clang-18

View File

@ -2,7 +2,7 @@
set -e
LLVM_VERSION=17
LLVM_VERSION=18
# this is taken from libjsoncpp package
# Presence of $AUTOPKGTEST_TMP implies that someone will handle cleanup for us, so we

4
debian/unpack.sh vendored
View File

@ -1,6 +1,6 @@
set -e
ORIG_VERSION=17
MAJOR_VERSION=17.0.0 # 8.0.1
ORIG_VERSION=18
MAJOR_VERSION=18 # 8.0.1
REV=`ls -1 *${ORIG_VERSION}_${MAJOR_VERSION}*~+*xz | tail -1|perl -ne 'print "$1\n" if /~\+(.*)\.orig/;' | sort -ru`
VERSION=$REV