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

This commit is contained in:
Sylvestre Ledru 2024-02-09 12:40:23 +01:00
commit 0df41ae435
10 changed files with 97 additions and 36 deletions

59
debian/changelog vendored
View File

@ -16,16 +16,71 @@ llvm-toolchain-snapshot (1:19~++20240125092523+41fe98a6e7e5-1~exp1) experimental
-- Sylvestre Ledru <sylvestre@debian.org> Thu, 25 Jan 2024 14:51:10 +0100
llvm-toolchain-18 (1:18~++20240124100819+22683463740e-1~exp1) experimental; urgency=medium
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> Wed, 24 Jan 2024 22:14:15 +0100
-- 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

8
debian/control vendored
View File

@ -23,15 +23,17 @@ Build-Depends: debhelper (>= 10.0), cmake, ninja-build,
libctypes-ocaml-dev [amd64 arm64 armhf ppc64el riscv64 s390x],
dh-exec, dh-ocaml [amd64 arm64 armhf ppc64el riscv64 s390x],
libpfm4-dev [linux-any], python3-setuptools, libz3-dev,
llvm-spirv-17 [amd64 arm64 armhf i386 ppc64 ppc64el riscv64 s390x] <!stage1> | hello,
spirv-tools [linux-any] | 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-17 [amd64 arm64 armhf i386 ppc64 ppc64el riscv64 s390x] <!stage1> | hello [amd64 arm64 armhf i386 ppc64 ppc64el riscv64 s390x] <!stage1>,
spirv-tools [linux-any] | hello [linux-any],
wasi-libc | hello,
libcurl4-openssl-dev | libcurl-dev,
libgrpc++-dev [amd64 arm64 armel armhf mips64el mipsel ppc64 ppc64el powerpc riscv64 s390x],
protobuf-compiler-grpc [amd64 arm64 armel armhf mips64el mipsel ppc64 ppc64el powerpc riscv64 s390x],
libprotobuf-dev [amd64 arm64 armel armhf mips64el mipsel ppc64 ppc64el powerpc riscv64 s390x],
protobuf-compiler [amd64 arm64 armel armhf mips64el mipsel ppc64 ppc64el powerpc riscv64 s390x]
# "| hello" is for older buster/bionic distros without spirv support
Build-Conflicts: oprofile
Standards-Version: 4.6.2
Homepage: https://www.llvm.org/

8
debian/control.in vendored
View File

@ -23,15 +23,17 @@ Build-Depends: debhelper (>= 10.0), cmake, ninja-build,
libctypes-ocaml-dev [amd64 arm64 armhf ppc64el riscv64 s390x],
dh-exec, dh-ocaml [amd64 arm64 armhf ppc64el riscv64 s390x],
libpfm4-dev [linux-any], python3-setuptools, libz3-dev,
llvm-spirv-17 [amd64 arm64 armhf i386 ppc64 ppc64el riscv64 s390x] <!stage1> | hello,
spirv-tools [linux-any] | 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-17 [amd64 arm64 armhf i386 ppc64 ppc64el riscv64 s390x] <!stage1> | hello [amd64 arm64 armhf i386 ppc64 ppc64el riscv64 s390x] <!stage1>,
spirv-tools [linux-any] | hello [linux-any],
wasi-libc | hello,
libcurl4-openssl-dev | libcurl-dev,
libgrpc++-dev [amd64 arm64 armel armhf mips64el mipsel ppc64 ppc64el powerpc riscv64 s390x],
protobuf-compiler-grpc [amd64 arm64 armel armhf mips64el mipsel ppc64 ppc64el powerpc riscv64 s390x],
libprotobuf-dev [amd64 arm64 armel armhf mips64el mipsel ppc64 ppc64el powerpc riscv64 s390x],
protobuf-compiler [amd64 arm64 armel armhf mips64el mipsel ppc64 ppc64el powerpc riscv64 s390x]
# "| hello" is for older buster/bionic distros without spirv support
Build-Conflicts: oprofile
Standards-Version: 4.6.2
Homepage: https://www.llvm.org/

View File

@ -1364,8 +1364,8 @@ libomptarget.rtl.amdgpu.so.@LLVM_VERSION@ libomp5-@LLVM_VERSION@ #MINVER#
__tgt_rtl_data_submit_async@VERS1.0 17
__tgt_rtl_data_unlock@VERS1.0 17
__tgt_rtl_destroy_event@VERS1.0 17
__tgt_rtl_get_function@VERS1.0 19
__tgt_rtl_get_global@VERS1.0 19
__tgt_rtl_get_function@VERS1.0 18
__tgt_rtl_get_global@VERS1.0 18
__tgt_rtl_init_async_info@VERS1.0 17
__tgt_rtl_init_device@VERS1.0 17
__tgt_rtl_init_device_info@VERS1.0 17
@ -1373,7 +1373,7 @@ libomptarget.rtl.amdgpu.so.@LLVM_VERSION@ libomp5-@LLVM_VERSION@ #MINVER#
__tgt_rtl_init_requires@VERS1.0 17
__tgt_rtl_initialize_record_replay@VERS1.0 18
__tgt_rtl_is_data_exchangable@VERS1.0 17
__tgt_rtl_is_valid_binary@VERS1.0 19
__tgt_rtl_is_valid_binary@VERS1.0 18
__tgt_rtl_launch_kernel@VERS1.0 17
__tgt_rtl_load_binary@VERS1.0 17
__tgt_rtl_number_of_devices@VERS1.0 17
@ -1385,7 +1385,7 @@ libomptarget.rtl.amdgpu.so.@LLVM_VERSION@ libomp5-@LLVM_VERSION@ #MINVER#
#MISSING: 19# __tgt_rtl_supports_empty_images@VERS1.0 17
__tgt_rtl_sync_event@VERS1.0 17
__tgt_rtl_synchronize@VERS1.0 17
__tgt_rtl_use_auto_zero_copy@VERS1.0 19
__tgt_rtl_use_auto_zero_copy@VERS1.0 18
__tgt_rtl_wait_event@VERS1.0 17
libomptarget.rtl.cuda.so.@LLVM_VERSION@ libomp5-@LLVM_VERSION@ #MINVER#
VERS1.0@VERS1.0 17
@ -1403,8 +1403,8 @@ libomptarget.rtl.cuda.so.@LLVM_VERSION@ libomp5-@LLVM_VERSION@ #MINVER#
__tgt_rtl_data_submit_async@VERS1.0 17
__tgt_rtl_data_unlock@VERS1.0 17
__tgt_rtl_destroy_event@VERS1.0 17
__tgt_rtl_get_function@VERS1.0 19
__tgt_rtl_get_global@VERS1.0 19
__tgt_rtl_get_function@VERS1.0 18
__tgt_rtl_get_global@VERS1.0 18
__tgt_rtl_init_async_info@VERS1.0 17
__tgt_rtl_init_device@VERS1.0 17
__tgt_rtl_init_device_info@VERS1.0 17
@ -1412,7 +1412,7 @@ libomptarget.rtl.cuda.so.@LLVM_VERSION@ libomp5-@LLVM_VERSION@ #MINVER#
__tgt_rtl_init_requires@VERS1.0 17
__tgt_rtl_initialize_record_replay@VERS1.0 18
__tgt_rtl_is_data_exchangable@VERS1.0 17
__tgt_rtl_is_valid_binary@VERS1.0 19
__tgt_rtl_is_valid_binary@VERS1.0 18
__tgt_rtl_launch_kernel@VERS1.0 17
__tgt_rtl_load_binary@VERS1.0 17
__tgt_rtl_number_of_devices@VERS1.0 17
@ -1424,7 +1424,7 @@ libomptarget.rtl.cuda.so.@LLVM_VERSION@ libomp5-@LLVM_VERSION@ #MINVER#
#MISSING: 19# __tgt_rtl_supports_empty_images@VERS1.0 17
__tgt_rtl_sync_event@VERS1.0 17
__tgt_rtl_synchronize@VERS1.0 17
__tgt_rtl_use_auto_zero_copy@VERS1.0 19
__tgt_rtl_use_auto_zero_copy@VERS1.0 18
__tgt_rtl_wait_event@VERS1.0 17
libomptarget.rtl.x86_64.so.@LLVM_VERSION@ libomp5-@LLVM_VERSION@ #MINVER#
VERS1.0@VERS1.0 17
@ -1442,8 +1442,8 @@ libomptarget.rtl.x86_64.so.@LLVM_VERSION@ libomp5-@LLVM_VERSION@ #MINVER#
__tgt_rtl_data_submit_async@VERS1.0 17
__tgt_rtl_data_unlock@VERS1.0 17
__tgt_rtl_destroy_event@VERS1.0 17
__tgt_rtl_get_function@VERS1.0 19
__tgt_rtl_get_global@VERS1.0 19
__tgt_rtl_get_function@VERS1.0 18
__tgt_rtl_get_global@VERS1.0 18
__tgt_rtl_init_async_info@VERS1.0 17
__tgt_rtl_init_device@VERS1.0 17
__tgt_rtl_init_device_info@VERS1.0 17
@ -1451,7 +1451,7 @@ libomptarget.rtl.x86_64.so.@LLVM_VERSION@ libomp5-@LLVM_VERSION@ #MINVER#
__tgt_rtl_init_requires@VERS1.0 17
__tgt_rtl_initialize_record_replay@VERS1.0 18
__tgt_rtl_is_data_exchangable@VERS1.0 17
__tgt_rtl_is_valid_binary@VERS1.0 19
__tgt_rtl_is_valid_binary@VERS1.0 18
__tgt_rtl_launch_kernel@VERS1.0 17
__tgt_rtl_load_binary@VERS1.0 17
__tgt_rtl_number_of_devices@VERS1.0 17
@ -1463,7 +1463,7 @@ libomptarget.rtl.x86_64.so.@LLVM_VERSION@ libomp5-@LLVM_VERSION@ #MINVER#
#MISSING: 19# __tgt_rtl_supports_empty_images@VERS1.0 17
__tgt_rtl_sync_event@VERS1.0 17
__tgt_rtl_synchronize@VERS1.0 17
__tgt_rtl_use_auto_zero_copy@VERS1.0 19
__tgt_rtl_use_auto_zero_copy@VERS1.0 18
__tgt_rtl_wait_event@VERS1.0 17
libomptarget.so.@LLVM_VERSION@ libomp5-@LLVM_VERSION@ #MINVER#
VERS1.0@VERS1.0 17

View File

@ -1395,7 +1395,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 +1521,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}")

10
debian/rules vendored
View File

@ -65,7 +65,9 @@ CONFIGURE_EXTRA =
# 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
# remove +time64,+lfs once the time64_t transition starts
export DEB_BUILD_MAINT_OPTIONS = reproducible=-fixfilepath,-fixdebugpath optimize=-lto abi=+time64,+lfs
# these are handled on a per stage / build basis
ifeq ($(VENDOR)-$(DEB_HOST_ARCH),Ubuntu-ppc64el)
export DEB_CFLAGS_MAINT_STRIP = -g -O3
@ -292,7 +294,7 @@ ifeq ($(LLVM_SPIRV_INSTALLED),yes)
LIBCLC_LLVM_SPIRV = -DLLVM_SPIRV=$(LLVM_SPIRV)
endif
BINUTILS_GOLD_ARCHS := amd64 arm64 armhf i386 ppc64 ppc64el x32 s390x hurd-i386 kfreebsd-amd64 kfreebsd-i386
BINUTILS_GOLD_ARCHS := amd64 arm64 armhf i386 ppc64 ppc64el x32 s390x hurd-i386 kfreebsd-amd64 kfreebsd-i386 mips64el
ifeq ($(shell dpkg --compare-versions $(shell dpkg-query -W -f '$${Version}' binutils) ge 2.23.1-1~exp3 ; echo $$?),0)
ifneq (,$(filter $(DEB_HOST_ARCH),$(BINUTILS_GOLD_ARCHS)))
STAGE_ALL_CMAKE_EXTRA += -DLLVM_USE_LINKER=gold
@ -722,10 +724,10 @@ ifeq (${SCCACHE_ENABLE},yes)
$(SCCACHE_CMD) --stop-server||true
ifneq (,$(filter $(DEB_HOST_ARCH),i386 amd64))
# Start the sccache server with the right set of options to use GCP
SCCACHE_LOG=sccache=debug SCCACHE_ERROR_LOG=$(SCCACHE_PATH)/sccache.log SCCACHE_GCS_KEY_PATH=$(SCCACHE_PATH)/secret-gcp-storage.json SCCACHE_GCS_BUCKET=apt-llvm-org-sccache SCCACHE_GCS_RW_MODE=READ_WRITE $(SCCACHE_CMD) --start-server
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_LOG=sccache=debug SCCACHE_ERROR_LOG=$(SCCACHE_PATH)/sccache.log SCCACHE_DIR=/opt/sccache/cache/ SCCACHE_DIRECT=true $(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)"

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