Merge remote-tracking branch 'origin/17' into snapshot

This commit is contained in:
Sylvestre Ledru 2023-12-11 10:26:13 +01:00
commit 845e43e80f
12 changed files with 83 additions and 28 deletions

33
debian/changelog vendored
View File

@ -89,33 +89,58 @@ llvm-toolchain-snapshot (1:18~++20230725115106+b6847edfc235-1~exp1) experimental
-- Sylvestre Ledru <sylvestre@debian.org> Tue, 25 Jul 2023 23:52:42 +0200
llvm-toolchain-17 (1:17.0.6-2) UNRELEASED; urgency=medium
llvm-toolchain-17 (1:17.0.6-2) unstable; urgency=medium
[ Gianfranco Costamagna ]
* Add new cmake-clang-test to spot issues such as
Debian bug #1057151
* Fix cmake file (Closes: #1057151)
* Drop sed command, useless now
[ Matthias Klose ]
* Also use the free swap to determine the number of parallel processes.
* libclang1-17: Hard-code the last full versions for the symlinks.
* Also use the free swap to determine the number of parallel processes.
* Set the cpu defaults for the ARM32 architectures:
- armel: arm926ej-s. Closes: #1056115.
- armhf: cortex-a8.
Thanks to Arnd Bergmann and Ard Biesheuvel for the fixes.
* Apply the proposed fix for D158491, build failure on mips64el, still
unreviewed upstream. Addresses: #1056116.
-- Gianfranco Costamagna <locutusofborg@debian.org> Fri, 01 Dec 2023 10:50:00 +0100
[ Sylvestre Ledru ]
* Move the symlink /usr/lib/*/libc++experimental.a from libc++abi-17-dev
to libc++-17-dev
* Remove some old break/replaces from 16
* Fix the EmitBackendOutput test in debian/qualify-clang.sh
* Also add back /usr/lib/llvm-17/lib/libclang-17.so.1
llvm-toolchain-17 (1:17.0.5-2) UNRELEASED; urgency=medium
-- Gianfranco Costamagna <locutusofborg@debian.org> Fri, 08 Dec 2023 09:49:04 +0100
llvm-toolchain-17 (1:17.0.6-1) unstable; urgency=medium
[ Matthias Klose ]
* Further limit the number of parallel processes
* Don't build-depend on llvm-spirv-17 on armel and mipsel (LLVM 17 is not
yet built on these architectures).
* Fix stripping build flags on Ubuntu/ppc64el.
* libclang1-17: Only encode the major version in the soname. Closes: #1056126.
* libclang1-17: Provide a symlink for the last soname with the full version.
* Restore the patch for D148945, searching /usr/lib/llvm-17/lib by default.
Closes: #1056580.
[ Sylvestre Ledru ]
* New upstream release
* Add a symlink for libc++experimental.a to /usr/lib/*/libc++experimental.a
to fix https://github.com/llvm/llvm-project/issues/72753
* try to relax the wasi-libc dep declaration for apt.llvm.org
* add a check that, if we are going to build wasm, wasi-libc is installed
on the system
-- Sylvestre Ledru <sylvestre@debian.org> Mon, 20 Nov 2023 19:34:35 +0100
[ John Paul Adrian Glaubitz ]
* Don't install *clang_rt* on sparc and sparc64
-- Sylvestre Ledru <sylvestre@debian.org> Tue, 28 Nov 2023 11:43:43 +0100
llvm-toolchain-17 (1:17.0.5-1) unstable; urgency=medium

4
debian/control vendored
View File

@ -688,10 +688,10 @@ Architecture: any
Multi-Arch: same
Depends: libc++1-18 (= ${binary:Version}), ${misc:Depends},
libunwind-18-dev [amd64 arm64 armhf i386 loong64 ppc64el ppc64 riscv64]
Breaks: libc++-dev (<< 44)
Breaks: libc++-dev (<< 44), libc++abi-17-dev (<< 1:18~++20231203101651+e3b3c91dd0bb-1)
Provides: libc++-x.y-dev
Conflicts: libc++-x.y-dev
Replaces: libc++-x.y-dev
Replaces: libc++-x.y-dev, libc++abi-17-dev (<< 1:18~++20231203101651+e3b3c91dd0bb-1)
Description: LLVM C++ Standard library (development files)
libc++ is another implementation of the C++ standard library
.

14
debian/control.in vendored
View File

@ -186,8 +186,6 @@ Package: libclang-rt-@LLVM_VERSION@-dev
Architecture: any
Multi-Arch: same
Section: libdevel
Breaks: libclang-common-@LLVM_VERSION@-dev (<< 1:16~++20230115053056+df5fc4504b86-1~exp1)
Replaces: libclang-common-@LLVM_VERSION@-dev (<< 1:16~++20230115053056+df5fc4504b86-1~exp1)
Depends: ${shlibs:Depends}, ${misc:Depends}
Description: Compiler-rt - development package
This package provides various libraries:
@ -204,10 +202,7 @@ Package: libclang-rt-@LLVM_VERSION@-dev-wasm32
Architecture: all
Multi-Arch: foreign
Section: libdevel
Breaks: libclang-common-@LLVM_VERSION@-dev (<< 1:16~++20230115053056+df5fc4504b86-1~exp1)
Replaces: libclang-common-@LLVM_VERSION@-dev (<< 1:16~++20230115053056+df5fc4504b86-1~exp1)
Depends: ${shlibs:Depends}, ${misc:Depends}
Recommends: libclang-common-@LLVM_VERSION@-dev (>= 1:16~++20230115053056+df5fc4504b86-1~exp1)
Description: Compiler-rt - wasm32 builtins
Provides the compiler-rt builtins for WebAssembly 32 bits
@ -215,10 +210,7 @@ Package: libclang-rt-@LLVM_VERSION@-dev-wasm64
Architecture: all
Multi-Arch: foreign
Section: libdevel
Breaks: libclang-common-@LLVM_VERSION@-dev (<< 1:16~++20230115053056+df5fc4504b86-1~exp1)
Replaces: libclang-common-@LLVM_VERSION@-dev (<< 1:16~++20230115053056+df5fc4504b86-1~exp1)
Depends: ${shlibs:Depends}, ${misc:Depends}
Recommends: libclang-common-@LLVM_VERSION@-dev (>= 1:16~++20230115053056+df5fc4504b86-1~exp1)
Description: Compiler-rt - wasm64 builtins
Provides the compiler-rt builtins for WebAssembly 64 bits
@ -228,8 +220,6 @@ Package: libpolly-@LLVM_VERSION@-dev
Architecture: any
Multi-Arch: same
Section: libdevel
Breaks: libclang-common-@LLVM_VERSION@-dev (<< 1:16~++20230115053056+df5fc4504b86-1~exp1)
Replaces: libclang-common-@LLVM_VERSION@-dev (<< 1:16~++20230115053056+df5fc4504b86-1~exp1)
Depends: ${shlibs:Depends}, ${misc:Depends}
Description: High-level loop and data-locality optimizer
Uses an abstract mathematical representation based on integer polyhedra
@ -688,10 +678,10 @@ Architecture: any
Multi-Arch: same
Depends: libc++1-@LLVM_VERSION@ (= ${binary:Version}), ${misc:Depends},
libunwind-@LLVM_VERSION@-dev [amd64 arm64 armhf i386 loong64 ppc64el ppc64 riscv64]
Breaks: libc++-dev (<< 44)
Breaks: libc++-dev (<< 44), libc++abi-@LLVM_VERSION@-dev (<< 1:18~++20231203101651+e3b3c91dd0bb-1)
Provides: libc++-x.y-dev
Conflicts: libc++-x.y-dev
Replaces: libc++-x.y-dev
Replaces: libc++-x.y-dev, libc++abi-@LLVM_VERSION@-dev (<< 1:18~++20231203101651+e3b3c91dd0bb-1)
Description: LLVM C++ Standard library (development files)
libc++ is another implementation of the C++ standard library
.

View File

@ -1,3 +1,4 @@
usr/lib/llvm-@LLVM_VERSION@/lib/libc++.so /usr/lib/@DEB_HOST_MULTIARCH@/libc++.so
usr/lib/llvm-@LLVM_VERSION@/lib/libc++.a /usr/lib/@DEB_HOST_MULTIARCH@/libc++.a
usr/lib/llvm-@LLVM_VERSION@/include/c++/v1 /usr/include/c++/v1
usr/lib/llvm-@LLVM_VERSION@/lib/libc++experimental.a /usr/lib/@DEB_HOST_MULTIARCH@/libc++experimental.a

View File

@ -1,2 +1 @@
usr/lib/llvm-@LLVM_VERSION@/lib/libc++abi.so /usr/lib/@DEB_HOST_MULTIARCH@/libc++abi.so
usr/lib/llvm-@LLVM_VERSION@/lib/libc++experimental.a /usr/lib/@DEB_HOST_MULTIARCH@/libc++experimental.a

View File

@ -2,3 +2,5 @@
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/llvm-@LLVM_VERSION@/lib/libclang-@LLVM_VERSION@.so.@LLVM_VERSION@ usr/lib/llvm-@LLVM_VERSION@/lib/libclang.so.1
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

@ -29,3 +29,4 @@ Index: llvm-toolchain-snapshot_18~++20231209112655+5c8755f9f40e/llvm/tools/llvm-
list(REMOVE_DUPLICATES LIB_NAMES)
if("${CMAKE_SYSTEM_NAME}" STREQUAL "Darwin")
set(LIB_NAMES -Wl,-all_load ${LIB_NAMES})

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 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"
echo "To install everything:"
echo "sudo apt --purge remove 'libomp5-*' 'libc++*dev' 'libc++*' 'python3-lldb-*' 'libunwind-*' 'libclc-*' 'libclc-*dev' 'libmlir-*'"
@ -1376,6 +1376,7 @@ clang++-$VERSION -O2 -fprofile-instr-use=foo.profdata foo.cc -o foo
# https://bugs.llvm.org/show_bug.cgi?id=44870
cat <<EOF > foo.cpp
#include <clang/CodeGen/BackendUtil.h>
#include <llvm/Support/VirtualFileSystem.h>
using namespace clang;
@ -1389,8 +1390,9 @@ int main() {
llvm::Module* m;
BackendAction* action;
std::unique_ptr<raw_pwrite_stream> AsmOutStream;
IntrusiveRefCntPtr<llvm::vfs::FileSystem> VFS;
EmitBackendOutput(*diags, *hsOpts, *cgOpts, *tOpts, *lOpts, *tDesc, m, *action, std::move(AsmOutStream));
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

11
debian/rules vendored
View File

@ -216,7 +216,6 @@ endif
# debug symbols OOM in Ubuntu Ubuntu and slows down build process.
ifneq (,$(filter $(DEB_HOST_ARCH),riscv64))
opt_flags = -O2 -DNDEBUG -g0
STAGE_ALL_CMAKE_EXTRA += -DLLVM_PARALLEL_LINK_JOBS=2
else
opt_flags = -O2 -DNDEBUG -g1
endif
@ -633,6 +632,13 @@ 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
# 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; \
fi
# llvm-spirv was found, so we can enable *.spv files. Debian
# buster and Ubuntu 18.04 don't have llvm-spirv to create the
# *.spv files.
@ -1254,9 +1260,6 @@ endif
# Disable CMake's package validation checks for binaries that may not be installed
sed -i 's|.*_IMPORT_CHECK_FILES_FOR_.*/bin/.*)|#&|' $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/cmake/clang/ClangTargets-*.cmake
# Adjust to the existing symlink. See #994827 #1057151
sed -i "s|libclang-$(LLVM_VERSION).so.$(LLVM_VERSION).*\"|libclang-$(LLVM_VERSION).so.$(LLVM_VERSION)\"|" $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/cmake/clang/ClangTargets-*.cmake
# Managed in python*-lldb-X.Y.links.in
rm -f $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/python*/*-packages/lldb/_lldb.so

29
debian/tests/cmake-clang-test vendored Executable file
View File

@ -0,0 +1,29 @@
#!/bin/sh
set -e
LLVM_VERSION=17
# this is taken from libjsoncpp package
# Presence of $AUTOPKGTEST_TMP implies that someone will handle cleanup for us, so we
# can avoid duplicating the effort (signal handling, etc.) here.
if [ -z "$AUTOPKGTEST_TMP" ]
then
echo "Required envvar AUTOPKGTEST_TMP \"$AUTOPKGTEST_TMP\" is not set" >&2
exit 1
fi
# the idea was taken from spirv-llvm-translator package
cd "$AUTOPKGTEST_TMP"
cat <<EOF > CMakeLists.txt
cmake_minimum_required(VERSION 3.22)
project(cmake-clang-test)
find_package(Clang)
EOF
mkdir build && cd build
cmake ..

View File

@ -18,8 +18,8 @@ fi
cd "$AUTOPKGTEST_TMP"
cat <<EOF > CMakeLists.txt
cmake_minimum_required(VERSION 3.7)
project(cmake-test)
cmake_minimum_required(VERSION 3.22)
project(cmake-llvm-test)
find_package(LLVM $LLVM_VERSION REQUIRED
COMPONENTS
Analysis

View File

@ -11,9 +11,12 @@ Depends: @, cmake, make, g++, libstdc++-13-dev
Restrictions: allow-stderr
Architecture: amd64 arm64
Tests: cmake-test
Tests: cmake-llvm-test
Depends: gcc, build-essential, cmake, llvm-17-dev
Tests: cmake-clang-test
Depends: gcc, build-essential, cmake, llvm-17-dev, clang-17, libclang-17-dev
Test-Command: python3 -c "import lldb; print(lldb.__file__); print(lldb)"
Depends: python3-lldb-17