From 9312871180bade625757978a7f35e5a10a8f4da7 Mon Sep 17 00:00:00 2001 From: Sylvestre Ledru Date: Wed, 22 Mar 2023 23:37:20 +0100 Subject: [PATCH 1/5] Use 16 for wasm libs instead of 16.0.0 https://github.com/llvm/llvm-project/issues/61550 --- debian/changelog | 7 +++++++ debian/rules | 6 +++--- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/debian/changelog b/debian/changelog index d3452363..0ace8a6f 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +llvm-toolchain-16 (1:16.0.0-1~exp4) UNRELEASED; urgency=medium + + * Use 16 for wasm libs instead of 16.0.0 + https://github.com/llvm/llvm-project/issues/61550 + + -- Sylvestre Ledru Wed, 22 Mar 2023 23:36:45 +0100 + llvm-toolchain-16 (1:16.0.0-1~exp3) experimental; urgency=medium * Revert gold linker on riscv64, FTBFS diff --git a/debian/rules b/debian/rules index 21228a72..16461a7c 100755 --- a/debian/rules +++ b/debian/rules @@ -792,7 +792,7 @@ build-wasm/compiler-rt-%: -DCMAKE_SHARED_LINKER_FLAGS="$(STAGE_2_LDFLAGS) -L$(STAGE_2_LIB_DIR)" \ -DCMAKE_MODULE_LINKER_FLAGS="$(STAGE_2_LDFLAGS) -L$(STAGE_2_LIB_DIR)" \ -DCMAKE_EXE_LINKER_FLAGS="$(STAGE_2_LDFLAGS) -L$(STAGE_2_LIB_DIR)" \ - -DCMAKE_INSTALL_PREFIX=/usr/lib/llvm-$(LLVM_VERSION)/lib/clang/$(LLVM_VERSION_FULL) \ + -DCMAKE_INSTALL_PREFIX=/usr/lib/llvm-$(LLVM_VERSION)/lib/clang/$(LLVM_VERSION) \ -DCMAKE_INSTALL_DATADIR=lib \ -DCMAKE_INSTALL_INCLUDEDIR=include \ -DLLVM_CMAKE_DIR=$(STAGE_2_BIN_DIR)/../ \ @@ -822,9 +822,9 @@ build-wasm/libcxx-%-wasi: build-wasm/compiler-rt-% # We need a wasm compiler-rt. Depend on the make target that builds it, # and manually copy it to the stage2 lib dir from there mkdir -p \ - $(STAGE_2_LIB_DIR)/clang/$(LLVM_VERSION_FULL)/lib/wasi/ + $(STAGE_2_LIB_DIR)/clang/$(LLVM_VERSION)/lib/wasi/ cp build-wasm/compiler-rt-$(cpu)/lib/wasi/libclang_rt.builtins-$(cpu).a \ - $(STAGE_2_LIB_DIR)/clang/$(LLVM_VERSION_FULL)/lib/wasi/ + $(STAGE_2_LIB_DIR)/clang/$(LLVM_VERSION)/lib/wasi/ # Notes: # - Uses $(LDFLAGS) instead of $(STAGE_2_LDFLAGS), because wasm-ld does not From 3f874bb4c1add643bfc10cb735a826f983d0d315 Mon Sep 17 00:00:00 2001 From: Gianfranco Costamagna Date: Sat, 25 Mar 2023 08:41:43 +0100 Subject: [PATCH 2/5] Don't ship liborc on armel too --- debian/libclang-rt-X.Y-dev.install.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/debian/libclang-rt-X.Y-dev.install.in b/debian/libclang-rt-X.Y-dev.install.in index 8891a735..786f4c65 100644 --- a/debian/libclang-rt-X.Y-dev.install.in +++ b/debian/libclang-rt-X.Y-dev.install.in @@ -7,4 +7,4 @@ usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION@*/README.txt usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION@*/include/fuzzer/ usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION@*/include/orc/c_api.h # See compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake / ALL_ORC_SUPPORTED_ARCH -[amd64 armhf arm64 i386] usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION@*/lib/linux/liborc_rt* +[amd64 arm64 armhf armel i386] usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION@*/lib/linux/liborc_rt* From 66d96514114c5e0124e958a8716d93c30fd9c05e Mon Sep 17 00:00:00 2001 From: Gianfranco Costamagna Date: Mon, 27 Mar 2023 08:52:36 +0200 Subject: [PATCH 3/5] Install ASAN symbolize on riscv64 --- debian/clang-tools-X.Y.install.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/debian/clang-tools-X.Y.install.in b/debian/clang-tools-X.Y.install.in index b31e5f9d..6a0d0c4c 100644 --- a/debian/clang-tools-X.Y.install.in +++ b/debian/clang-tools-X.Y.install.in @@ -61,7 +61,7 @@ usr/lib/llvm-@LLVM_VERSION@/libexec/analyze-cc usr/lib/llvm-@LLVM_VERSION@/libexec/intercept-c++ usr/lib/llvm-@LLVM_VERSION@/libexec/intercept-cc -[!armel !armhf !ppc64el !hurd-any !s390x !powerpc !ppc64 !mipsel !mips64el !sparc64 !riscv64] usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION@/bin/hwasan_symbolize +[!armel !armhf !ppc64el !hurd-any !s390x !powerpc !ppc64 !mipsel !mips64el !sparc64] 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/ From fae383f36d3ab3b932634dd71b9b1b2b1d2b7b64 Mon Sep 17 00:00:00 2001 From: Gianfranco Costamagna Date: Mon, 27 Mar 2023 08:52:50 +0200 Subject: [PATCH 4/5] Limit parallel building to 3 on riscv64, should speed up extremely slow builds due to too many concurrent threads --- debian/rules | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/debian/rules b/debian/rules index 16461a7c..b0455948 100755 --- a/debian/rules +++ b/debian/rules @@ -207,6 +207,11 @@ ifneq (,$(filter $(DEB_HOST_ARCH),powerpc)) STAGE_ALL_CMAKE_EXTRA += -DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON endif +# more than 4 jobs causes OOM in Ubuntu and slows down build process. +ifneq (,$(filter $(DEB_HOST_ARCH),riscv64)) + NJOBS=3 +endif + ifneq (,$(filter $(DEB_HOST_ARCH),sparc)) STAGE_ALL_CMAKE_EXTRA += -DLLVM_HOST_TRIPLE=sparc-linux-gnu STAGE_ALL_CMAKE_EXTRA += -DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON From bcdff5068d39ee15ef821a18121850e041b2fc57 Mon Sep 17 00:00:00 2001 From: Gianfranco Costamagna Date: Mon, 27 Mar 2023 09:03:44 +0200 Subject: [PATCH 5/5] Update changelog, upload to experimental --- debian/changelog | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/debian/changelog b/debian/changelog index 0ace8a6f..2890956f 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,12 @@ -llvm-toolchain-16 (1:16.0.0-1~exp4) UNRELEASED; urgency=medium +llvm-toolchain-16 (1:16.0.0-1~exp5) experimental; urgency=medium + + * Don't ship liborc on armel too + * Install ASAN symbolize on riscv64 + * Limit parallel building to 3 on riscv64, should speed up extremely slow builds due to too many concurrent threads + + -- Gianfranco Costamagna Mon, 27 Mar 2023 08:53:13 +0200 + +llvm-toolchain-16 (1:16.0.0-1~exp4) experimental; urgency=medium * Use 16 for wasm libs instead of 16.0.0 https://github.com/llvm/llvm-project/issues/61550