From 3958b1793d37183267a6742792ed944f04cbec1c Mon Sep 17 00:00:00 2001 From: Sylvestre Ledru Date: Mon, 13 Nov 2023 21:56:18 +0100 Subject: [PATCH 01/29] try to relax the wasi-libc dep maybe fix: builddeps:/build/llvm-toolchain-16_16.0.6~++20231112100454+7cbf1a259152-1~exp1~20231112100542.111.dsc : Depends: wasi-libc but it is not installable --- debian/control | 2 +- debian/control.in | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/debian/control b/debian/control index 1536aeb4..5dd3a460 100644 --- a/debian/control +++ b/debian/control @@ -27,7 +27,7 @@ Build-Depends: debhelper (>= 10.0), cmake, ninja-build, llvm-spirv-15 [ amd64 arm64 armel armhf i386 mips64el mipsel ppc64el riscv64 s390x ] | llvm-spirv-14 [ amd64 arm64 armel armhf i386 mips64el mipsel ppc64el riscv64 s390x ] | hello, spirv-tools [ linux-any ] | hello [ !i386], - wasi-libc | hello [ !any-i386], + 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], diff --git a/debian/control.in b/debian/control.in index 0fa0ac04..fbcb2ab8 100644 --- a/debian/control.in +++ b/debian/control.in @@ -27,7 +27,7 @@ Build-Depends: debhelper (>= 10.0), cmake, ninja-build, llvm-spirv-15 [ amd64 arm64 armel armhf i386 mips64el mipsel ppc64el riscv64 s390x ] | llvm-spirv-14 [ amd64 arm64 armel armhf i386 mips64el mipsel ppc64el riscv64 s390x ] | hello, spirv-tools [ linux-any ] | hello [ !i386], - wasi-libc | hello [ !any-i386], + 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], From bb235b3c7ec68f064e265fc9eaa9a0228698a307 Mon Sep 17 00:00:00 2001 From: Sylvestre Ledru Date: Fri, 17 Nov 2023 00:07:08 +0100 Subject: [PATCH 02/29] try to fix #1052002 again --- debian/patches/wasm/wasm-sysroot-usr.diff | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/debian/patches/wasm/wasm-sysroot-usr.diff b/debian/patches/wasm/wasm-sysroot-usr.diff index 0df6ce9e..226d0c8b 100644 --- a/debian/patches/wasm/wasm-sysroot-usr.diff +++ b/debian/patches/wasm/wasm-sysroot-usr.diff @@ -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,29 @@ void WebAssembly::AddClangSystemIncludeA +@@ -425,12 +426,33 @@ void WebAssembly::AddClangSystemIncludeA return; } @@ -28,8 +28,6 @@ Index: llvm-toolchain-16-16.0.6/clang/lib/Driver/ToolChains/WebAssembly.cpp const std::string MultiarchTriple = - getMultiarchTriple(D, getTriple(), D.SysRoot); - addSystemInclude(DriverArgs, CC1Args, D.SysRoot + "/include/" + MultiarchTriple); -- } -- addSystemInclude(DriverArgs, CC1Args, D.SysRoot + "/include"); + getMultiarchTriple(D, getTriple(), SysRoot); + addSystemInclude(DriverArgs, CC1Args, SysRoot + "/local/include/" + MultiarchTriple); + addSystemInclude(DriverArgs, CC1Args, SysRoot + "/local/include"); @@ -43,7 +41,12 @@ Index: llvm-toolchain-16-16.0.6/clang/lib/Driver/ToolChains/WebAssembly.cpp + // Third the backward one. + addSystemInclude(DriverArgs, CC1Args, LibPath + "/c++/" + Version + "/backward"); + } -+ } ++ ++ // Hardcode the path for bug #1052002 ++ addSystemInclude(DriverArgs, CC1Args, "/usr/include/wasm32-wasi/c++/v1"); ++ + } +- addSystemInclude(DriverArgs, CC1Args, D.SysRoot + "/include"); + + // also add the non-multiarch path, only on a known OS (as above), or when + // a sysroot is given, for backwards compatibility with the original driver @@ -53,7 +56,7 @@ Index: llvm-toolchain-16-16.0.6/clang/lib/Driver/ToolChains/WebAssembly.cpp } void WebAssembly::AddClangCXXStdlibIncludeArgs(const ArgList &DriverArgs, -@@ -478,6 +496,17 @@ Tool *WebAssembly::buildLinker() const { +@@ -478,6 +500,17 @@ Tool *WebAssembly::buildLinker() const { return new tools::wasm::Linker(*this); } @@ -71,7 +74,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 { -@@ -499,7 +528,9 @@ void WebAssembly::addLibCxxIncludePaths( +@@ -499,7 +532,9 @@ void WebAssembly::addLibCxxIncludePaths( } // Second add the generic one. @@ -82,7 +85,7 @@ Index: llvm-toolchain-16-16.0.6/clang/lib/Driver/ToolChains/WebAssembly.cpp } void WebAssembly::addLibStdCXXIncludePaths( -@@ -546,8 +577,11 @@ void WebAssembly::addLibStdCXXIncludePat +@@ -546,8 +581,11 @@ void WebAssembly::addLibStdCXXIncludePat addSystemInclude(DriverArgs, CC1Args, TargetDir); } From 945e440f92483a44d49b52511940d2cee6816abc Mon Sep 17 00:00:00 2001 From: Sylvestre Ledru Date: Sat, 18 Nov 2023 14:38:25 +0100 Subject: [PATCH 03/29] Make libc++-16-dev-wasm32 depends on libc++-16-dev (Closes: #1052002) --- debian/changelog | 3 +-- debian/control | 3 ++- debian/control.in | 3 ++- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/debian/changelog b/debian/changelog index e4a7373e..41e2ad8c 100644 --- a/debian/changelog +++ b/debian/changelog @@ -12,6 +12,7 @@ llvm-toolchain-16 (1:16.0.6-18) unstable; urgency=medium --spirv-max-version=1.1 -o spirv-mesa3d-.spv builtins.link.spirv-mesa3d-.bc Unknown attribute kind (86) (Producer: 'LLVM16.0.6' Reader: 'LLVM 15.0.6') * For Ubuntu bionic, improve the deactivation of lldb python + * Make libc++-16-dev-wasm32 depends on libc++-16-dev (Closes: #1052002) [ Steve Langasek ] * Add noble as supported Ubuntu release @@ -19,8 +20,6 @@ llvm-toolchain-16 (1:16.0.6-18) unstable; urgency=medium [ John Paul Adrian Glaubitz ] * Don't run chrpath for libclang on sparc and sparc64 - [ Sylvestre Ledru ] - -- Sylvestre Ledru Sat, 11 Nov 2023 09:57:35 +0100 llvm-toolchain-16 (1:16.0.6-17exp1) experimental; urgency=medium diff --git a/debian/control b/debian/control index 5dd3a460..195a1aae 100644 --- a/debian/control +++ b/debian/control @@ -711,7 +711,8 @@ Package: libc++-16-dev-wasm32 Section: libdevel Architecture: all Multi-Arch: foreign -Depends: wasi-libc, libc++abi-16-dev-wasm32, ${misc:Depends} +Depends: wasi-libc, libc++abi-16-dev-wasm32, ${misc:Depends}, + libc++-16-dev Provides: libc++-x.y-dev-wasm32 Conflicts: libc++-x.y-dev-wasm32 Replaces: libc++-x.y-dev-wasm32 diff --git a/debian/control.in b/debian/control.in index fbcb2ab8..8218a7ef 100644 --- a/debian/control.in +++ b/debian/control.in @@ -711,7 +711,8 @@ Package: libc++-@LLVM_VERSION@-dev-wasm32 Section: libdevel Architecture: all Multi-Arch: foreign -Depends: wasi-libc, libc++abi-@LLVM_VERSION@-dev-wasm32, ${misc:Depends} +Depends: wasi-libc, libc++abi-@LLVM_VERSION@-dev-wasm32, ${misc:Depends}, + libc++-@LLVM_VERSION@-dev Provides: libc++-x.y-dev-wasm32 Conflicts: libc++-x.y-dev-wasm32 Replaces: libc++-x.y-dev-wasm32 From aba513285a8e6db7b913fc925a40eb6c8a64dfa4 Mon Sep 17 00:00:00 2001 From: Sylvestre Ledru Date: Thu, 23 Nov 2023 15:00:16 +0100 Subject: [PATCH 04/29] Revert "Make libc++-16-dev-wasm32 depends on libc++-16-dev (Closes: #1052002)" This reverts commit 945e440f92483a44d49b52511940d2cee6816abc. --- debian/changelog | 3 ++- debian/control | 3 +-- debian/control.in | 3 +-- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/debian/changelog b/debian/changelog index 41e2ad8c..e4a7373e 100644 --- a/debian/changelog +++ b/debian/changelog @@ -12,7 +12,6 @@ llvm-toolchain-16 (1:16.0.6-18) unstable; urgency=medium --spirv-max-version=1.1 -o spirv-mesa3d-.spv builtins.link.spirv-mesa3d-.bc Unknown attribute kind (86) (Producer: 'LLVM16.0.6' Reader: 'LLVM 15.0.6') * For Ubuntu bionic, improve the deactivation of lldb python - * Make libc++-16-dev-wasm32 depends on libc++-16-dev (Closes: #1052002) [ Steve Langasek ] * Add noble as supported Ubuntu release @@ -20,6 +19,8 @@ llvm-toolchain-16 (1:16.0.6-18) unstable; urgency=medium [ John Paul Adrian Glaubitz ] * Don't run chrpath for libclang on sparc and sparc64 + [ Sylvestre Ledru ] + -- Sylvestre Ledru Sat, 11 Nov 2023 09:57:35 +0100 llvm-toolchain-16 (1:16.0.6-17exp1) experimental; urgency=medium diff --git a/debian/control b/debian/control index 195a1aae..5dd3a460 100644 --- a/debian/control +++ b/debian/control @@ -711,8 +711,7 @@ Package: libc++-16-dev-wasm32 Section: libdevel Architecture: all Multi-Arch: foreign -Depends: wasi-libc, libc++abi-16-dev-wasm32, ${misc:Depends}, - libc++-16-dev +Depends: wasi-libc, libc++abi-16-dev-wasm32, ${misc:Depends} Provides: libc++-x.y-dev-wasm32 Conflicts: libc++-x.y-dev-wasm32 Replaces: libc++-x.y-dev-wasm32 diff --git a/debian/control.in b/debian/control.in index 8218a7ef..fbcb2ab8 100644 --- a/debian/control.in +++ b/debian/control.in @@ -711,8 +711,7 @@ Package: libc++-@LLVM_VERSION@-dev-wasm32 Section: libdevel Architecture: all Multi-Arch: foreign -Depends: wasi-libc, libc++abi-@LLVM_VERSION@-dev-wasm32, ${misc:Depends}, - libc++-@LLVM_VERSION@-dev +Depends: wasi-libc, libc++abi-@LLVM_VERSION@-dev-wasm32, ${misc:Depends} Provides: libc++-x.y-dev-wasm32 Conflicts: libc++-x.y-dev-wasm32 Replaces: libc++-x.y-dev-wasm32 From a08d0eae33e60cbf8985f47a7fe074f9f8349419 Mon Sep 17 00:00:00 2001 From: Sylvestre Ledru Date: Thu, 23 Nov 2023 16:28:21 +0100 Subject: [PATCH 05/29] Revert my ugly fix for 1052002. --- debian/changelog | 9 +++++ debian/patches/wasm/wasm-sysroot-usr.diff | 44 +++++++++++++---------- 2 files changed, 34 insertions(+), 19 deletions(-) diff --git a/debian/changelog b/debian/changelog index e4a7373e..cb84ad66 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,12 @@ +llvm-toolchain-16 (1:16.0.6-19) UNRELEASED; urgency=medium + + * Revert my ugly fix for 1052002. + + [ Faidon Liambotis ] + * Improve the fix for the bug 1052002. + + -- Sylvestre Ledru Thu, 23 Nov 2023 16:27:52 +0100 + llvm-toolchain-16 (1:16.0.6-18) unstable; urgency=medium [ Gianfranco Costamagna ] diff --git a/debian/patches/wasm/wasm-sysroot-usr.diff b/debian/patches/wasm/wasm-sysroot-usr.diff index 226d0c8b..b3bbf565 100644 --- a/debian/patches/wasm/wasm-sysroot-usr.diff +++ b/debian/patches/wasm/wasm-sysroot-usr.diff @@ -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,33 @@ void WebAssembly::AddClangSystemIncludeA +@@ -425,12 +426,20 @@ void WebAssembly::AddClangSystemIncludeA return; } @@ -32,19 +32,6 @@ Index: llvm-toolchain-16-16.0.6/clang/lib/Driver/ToolChains/WebAssembly.cpp + addSystemInclude(DriverArgs, CC1Args, SysRoot + "/local/include/" + MultiarchTriple); + addSystemInclude(DriverArgs, CC1Args, SysRoot + "/local/include"); + addSystemInclude(DriverArgs, CC1Args, SysRoot + "/include/" + MultiarchTriple); -+ std::string LibPath = SysRoot + "/include"; -+ std::string Version = detectLibcxxVersion(LibPath); -+ -+ if (!getDriver().SysRoot.empty()) { -+ // Second add the generic one. -+ addSystemInclude(DriverArgs, CC1Args, LibPath + "/c++/" + Version); -+ // Third the backward one. -+ addSystemInclude(DriverArgs, CC1Args, LibPath + "/c++/" + Version + "/backward"); -+ } -+ -+ // Hardcode the path for bug #1052002 -+ addSystemInclude(DriverArgs, CC1Args, "/usr/include/wasm32-wasi/c++/v1"); -+ } - addSystemInclude(DriverArgs, CC1Args, D.SysRoot + "/include"); + @@ -56,7 +43,7 @@ Index: llvm-toolchain-16-16.0.6/clang/lib/Driver/ToolChains/WebAssembly.cpp } void WebAssembly::AddClangCXXStdlibIncludeArgs(const ArgList &DriverArgs, -@@ -478,6 +500,17 @@ Tool *WebAssembly::buildLinker() const { +@@ -478,6 +487,17 @@ Tool *WebAssembly::buildLinker() const { return new tools::wasm::Linker(*this); } @@ -74,18 +61,37 @@ 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 { -@@ -499,7 +532,9 @@ void WebAssembly::addLibCxxIncludePaths( +@@ -488,18 +508,22 @@ void WebAssembly::addLibCxxIncludePaths( + getMultiarchTriple(D, getTriple(), SysRoot); + bool IsKnownOs = (getTriple().getOS() != llvm::Triple::UnknownOS); + +- std::string Version = detectLibcxxVersion(LibPath); +- if (Version.empty()) +- return; +- + // First add the per-target include path if the OS is known. + if (IsKnownOs) { +- std::string TargetDir = LibPath + "/" + MultiarchTriple + "/c++/" + Version; +- addSystemInclude(DriverArgs, CC1Args, TargetDir); ++ std::string Version = detectLibcxxVersion(LibPath + "/" + MultiarchTriple); ++ if (!Version.empty()) { ++ std::string TargetDir = LibPath + "/" + MultiarchTriple + "/c++/" + Version; ++ addSystemInclude(DriverArgs, CC1Args, TargetDir); ++ } } // Second add the generic one. - addSystemInclude(DriverArgs, CC1Args, LibPath + "/c++/" + Version); + // don't include the host architecture's headers in the search path -+ if (!getDriver().SysRoot.empty()) -+ addSystemInclude(DriverArgs, CC1Args, LibPath + "/c++/" + Version); ++ if (!getDriver().SysRoot.empty()) { ++ std::string Version = detectLibcxxVersion(LibPath); ++ if (!Version.empty()) ++ addSystemInclude(DriverArgs, CC1Args, LibPath + "/c++/" + Version); ++ } } void WebAssembly::addLibStdCXXIncludePaths( -@@ -546,8 +581,11 @@ void WebAssembly::addLibStdCXXIncludePat +@@ -546,8 +570,11 @@ void WebAssembly::addLibStdCXXIncludePat addSystemInclude(DriverArgs, CC1Args, TargetDir); } From bedd3e711b2a7dbbc3c74e3eb43aaa514146eaf2 Mon Sep 17 00:00:00 2001 From: Sylvestre Ledru Date: Thu, 23 Nov 2023 17:46:37 +0100 Subject: [PATCH 06/29] prepare upload --- debian/changelog | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/debian/changelog b/debian/changelog index cb84ad66..b30b964e 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,4 @@ -llvm-toolchain-16 (1:16.0.6-19) UNRELEASED; urgency=medium +llvm-toolchain-16 (1:16.0.6-19) unstable; urgency=medium * Revert my ugly fix for 1052002. From 14a62b81b5ba7d0355a9ce08abe13e454676ccee Mon Sep 17 00:00:00 2001 From: John Paul Adrian Glaubitz Date: Sat, 25 Nov 2023 11:18:16 +0100 Subject: [PATCH 07/29] Don't install *clang_rt* on sparc and sparc64 --- debian/changelog | 7 +++++++ debian/libclang-rt-X.Y-dev.install.in | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/debian/changelog b/debian/changelog index b30b964e..dbe5c98b 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +llvm-toolchain-16 (1:16.0.6-20) UNRELEASED; urgency=medium + + [ John Paul Adrian Glaubitz ] + * Don't install *clang_rt* on sparc and sparc64 + + -- John Paul Adrian Glaubitz Sat, 25 Nov 2023 11:17:15 +0100 + llvm-toolchain-16 (1:16.0.6-19) unstable; urgency=medium * Revert my ugly fix for 1052002. diff --git a/debian/libclang-rt-X.Y-dev.install.in b/debian/libclang-rt-X.Y-dev.install.in index 6864ec82..ebe7c0bd 100644 --- a/debian/libclang-rt-X.Y-dev.install.in +++ b/debian/libclang-rt-X.Y-dev.install.in @@ -2,7 +2,7 @@ usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION@*/share/*.txt usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION@*/include/sanitizer/ -usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION@*/lib/*/*clang_rt* +[!sparc !sparc64] 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 From f312a31f860e4c97409473ac95756137254a5e83 Mon Sep 17 00:00:00 2001 From: Matthias Klose Date: Wed, 7 Feb 2024 23:49:34 +0100 Subject: [PATCH 08/29] * Remove unused import of imp module in scan-view, removed in Python 3.12. --- debian/changelog | 5 ++++- debian/patches/remove-unused-imp-module.diff | 10 ++++++++++ debian/patches/series | 1 + 3 files changed, 15 insertions(+), 1 deletion(-) create mode 100644 debian/patches/remove-unused-imp-module.diff diff --git a/debian/changelog b/debian/changelog index dbe5c98b..615f8276 100644 --- a/debian/changelog +++ b/debian/changelog @@ -3,7 +3,10 @@ llvm-toolchain-16 (1:16.0.6-20) UNRELEASED; urgency=medium [ John Paul Adrian Glaubitz ] * Don't install *clang_rt* on sparc and sparc64 - -- John Paul Adrian Glaubitz Sat, 25 Nov 2023 11:17:15 +0100 + [ Matthias Klose ] + * Remove unused import of imp module in scan-view, removed in Python 3.12. + + -- Matthias Klose Wed, 07 Feb 2024 23:48:33 +0100 llvm-toolchain-16 (1:16.0.6-19) unstable; urgency=medium diff --git a/debian/patches/remove-unused-imp-module.diff b/debian/patches/remove-unused-imp-module.diff new file mode 100644 index 00000000..1553232f --- /dev/null +++ b/debian/patches/remove-unused-imp-module.diff @@ -0,0 +1,10 @@ +--- a/clang/tools/scan-view/bin/scan-view ++++ b/clang/tools/scan-view/bin/scan-view +@@ -6,7 +6,6 @@ + """ + + import sys +-import imp + import os + import posixpath + import threading diff --git a/debian/patches/series b/debian/patches/series index f0e08fbc..52c1ee02 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -155,3 +155,4 @@ HIP-search-path-fix.patch D158066-simd-ppc64el.patch D142688-loong64.diff +remove-unused-imp-module.diff From 12912aefc4e66176bba43b629214860cf364b392 Mon Sep 17 00:00:00 2001 From: John Paul Adrian Glaubitz Date: Sat, 24 Feb 2024 08:55:48 +0100 Subject: [PATCH 09/29] Upload to sid --- debian/changelog | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/debian/changelog b/debian/changelog index 615f8276..e2aa6217 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,4 @@ -llvm-toolchain-16 (1:16.0.6-20) UNRELEASED; urgency=medium +llvm-toolchain-16 (1:16.0.6-20) unstable; urgency=medium [ John Paul Adrian Glaubitz ] * Don't install *clang_rt* on sparc and sparc64 @@ -6,7 +6,7 @@ llvm-toolchain-16 (1:16.0.6-20) UNRELEASED; urgency=medium [ Matthias Klose ] * Remove unused import of imp module in scan-view, removed in Python 3.12. - -- Matthias Klose Wed, 07 Feb 2024 23:48:33 +0100 + -- John Paul Adrian Glaubitz Sat, 24 Feb 2024 08:54:59 +0100 llvm-toolchain-16 (1:16.0.6-19) unstable; urgency=medium From 0c8504c3b9ad128089df8c18698c8a3dac853604 Mon Sep 17 00:00:00 2001 From: Gianfranco Costamagna Date: Sun, 3 Mar 2024 12:03:16 +0100 Subject: [PATCH 10/29] From Steve Langasek, rename packages for time64_t transition --- debian/changelog | 7 ++ debian/control | 96 +++++++++++-------- debian/control.in | 96 +++++++++++-------- debian/libc++1-X.Y.lintian-overrides.in | 1 - ...Y.install.in => libc++1-X.Yt64.install.in} | 0 ...1-X.Y.links.in => libc++1-X.Yt64.links.in} | 0 debian/libc++1-X.Yt64.lintian-overrides.in | 2 + debian/libc++abi1-X.Y.lintian-overrides.in | 1 - ...nstall.in => libc++abi1-X.Yt64.install.in} | 0 ....Y.links.in => libc++abi1-X.Yt64.links.in} | 0 debian/libc++abi1-X.Yt64.lintian-overrides.in | 2 + ...stall.in => libclang-cppX.Yt64.install.in} | 0 ...Y.links.in => libclang-cppX.Yt64.links.in} | 0 .../libclang-cppX.Yt64.lintian-overrides.in | 1 + debian/libclang1-X.Y.lintian-overrides.in | 5 - ...install.in => libclang1-X.Yt64.install.in} | 0 ...X.Y.links.in => libclang1-X.Yt64.links.in} | 0 debian/libclang1-X.Yt64.lintian-overrides.in | 6 ++ ...symbols.in => libclang1-X.Yt64.symbols.in} | 2 +- debian/liblldb-X.Y.lintian-overrides.in | 5 - ...Y.install.in => liblldb-X.Yt64.install.in} | 0 ...b-X.Y.links.in => liblldb-X.Yt64.links.in} | 0 debian/liblldb-X.Yt64.lintian-overrides.in | 6 ++ debian/libllvmX.Y.lintian-overrides.in | 2 - ....Y.install.in => libllvmX.Yt64.install.in} | 0 ...lvmX.Y.links.in => libllvmX.Yt64.links.in} | 0 debian/libllvmX.Yt64.lintian-overrides.in | 3 + debian/libmlir-X.Y.lintian-overrides.in | 1 - ...Y.install.in => libmlir-X.Yt64.install.in} | 0 debian/libmlir-X.Yt64.lintian-overrides.in | 2 + debian/libomp5-X.Y.lintian-overrides.in | 1 - ...Y.install.in => libomp5-X.Yt64.install.in} | 0 ...5-X.Y.links.in => libomp5-X.Yt64.links.in} | 0 debian/libomp5-X.Yt64.lintian-overrides.in | 2 + ...Y.symbols.in => libomp5-X.Yt64.symbols.in} | 2 +- debian/libunwind-X.Y.lintian-overrides.in | 1 - ...install.in => libunwind-X.Yt64.install.in} | 0 ...X.Y.links.in => libunwind-X.Yt64.links.in} | 0 debian/libunwind-X.Yt64.lintian-overrides.in | 2 + debian/rules | 18 ++-- 40 files changed, 154 insertions(+), 110 deletions(-) delete mode 100644 debian/libc++1-X.Y.lintian-overrides.in rename debian/{libc++1-X.Y.install.in => libc++1-X.Yt64.install.in} (100%) rename debian/{libc++1-X.Y.links.in => libc++1-X.Yt64.links.in} (100%) create mode 100644 debian/libc++1-X.Yt64.lintian-overrides.in delete mode 100644 debian/libc++abi1-X.Y.lintian-overrides.in rename debian/{libc++abi1-X.Y.install.in => libc++abi1-X.Yt64.install.in} (100%) rename debian/{libc++abi1-X.Y.links.in => libc++abi1-X.Yt64.links.in} (100%) create mode 100644 debian/libc++abi1-X.Yt64.lintian-overrides.in rename debian/{libclang-cppX.Y.install.in => libclang-cppX.Yt64.install.in} (100%) rename debian/{libclang-cppX.Y.links.in => libclang-cppX.Yt64.links.in} (100%) create mode 100644 debian/libclang-cppX.Yt64.lintian-overrides.in delete mode 100644 debian/libclang1-X.Y.lintian-overrides.in rename debian/{libclang1-X.Y.install.in => libclang1-X.Yt64.install.in} (100%) rename debian/{libclang1-X.Y.links.in => libclang1-X.Yt64.links.in} (100%) create mode 100644 debian/libclang1-X.Yt64.lintian-overrides.in rename debian/{libclang1-X.Y.symbols.in => libclang1-X.Yt64.symbols.in} (99%) delete mode 100644 debian/liblldb-X.Y.lintian-overrides.in rename debian/{liblldb-X.Y.install.in => liblldb-X.Yt64.install.in} (100%) rename debian/{liblldb-X.Y.links.in => liblldb-X.Yt64.links.in} (100%) create mode 100644 debian/liblldb-X.Yt64.lintian-overrides.in delete mode 100644 debian/libllvmX.Y.lintian-overrides.in rename debian/{libllvmX.Y.install.in => libllvmX.Yt64.install.in} (100%) rename debian/{libllvmX.Y.links.in => libllvmX.Yt64.links.in} (100%) create mode 100644 debian/libllvmX.Yt64.lintian-overrides.in delete mode 100644 debian/libmlir-X.Y.lintian-overrides.in rename debian/{libmlir-X.Y.install.in => libmlir-X.Yt64.install.in} (100%) create mode 100644 debian/libmlir-X.Yt64.lintian-overrides.in delete mode 100644 debian/libomp5-X.Y.lintian-overrides.in rename debian/{libomp5-X.Y.install.in => libomp5-X.Yt64.install.in} (100%) rename debian/{libomp5-X.Y.links.in => libomp5-X.Yt64.links.in} (100%) create mode 100644 debian/libomp5-X.Yt64.lintian-overrides.in rename debian/{libomp5-X.Y.symbols.in => libomp5-X.Yt64.symbols.in} (99%) delete mode 100644 debian/libunwind-X.Y.lintian-overrides.in rename debian/{libunwind-X.Y.install.in => libunwind-X.Yt64.install.in} (100%) rename debian/{libunwind-X.Y.links.in => libunwind-X.Yt64.links.in} (100%) create mode 100644 debian/libunwind-X.Yt64.lintian-overrides.in diff --git a/debian/changelog b/debian/changelog index e2aa6217..22592797 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +llvm-toolchain-16 (1:16.0.6-21) UNRELEASED; urgency=medium + + [ Steve Langasek ] + * Rename libraries for 64-bit time_t transition. + + -- Gianfranco Costamagna Sun, 03 Mar 2024 12:02:57 +0100 + llvm-toolchain-16 (1:16.0.6-20) unstable; urgency=medium [ John Paul Adrian Glaubitz ] diff --git a/debian/control b/debian/control index 5dd3a460..aa8c1d5d 100644 --- a/debian/control +++ b/debian/control @@ -47,7 +47,7 @@ Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends}, ${dep:devlibs}, ${dep:devlibs-objc}, libclang-common-16-dev (= ${binary:Version}), llvm-16-linker-tools (= ${binary:Version}), - libclang1-16 (= ${binary:Version}), libc6-dev, binutils + libclang1-16t64 (= ${binary:Version}), libc6-dev, binutils Provides: c-compiler, objc-compiler, c++-compiler Recommends: llvm-16-dev, python3 # libomp-16-dev @@ -77,7 +77,7 @@ Description: clang-based tools for C/C++ developments Package: clang-format-16 Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends}, python3, - libllvm16 (= ${binary:Version}) + libllvm16t64 (= ${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 @@ -93,7 +93,7 @@ Description: Tool to format C/C++/Obj-C code Package: clang-tidy-16 Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends}, python3, - libllvm16 (= ${binary:Version}), libclang-common-16-dev, + libllvm16t64 (= ${binary:Version}), libclang-common-16-dev, clang-tools-16, python3-yaml Description: clang-based C++ linter tool Provide an extensible framework for diagnosing and fixing typical programming @@ -129,7 +129,10 @@ Description: C, C++ and Objective-C compiler - Documentation . This package contains the documentation. -Package: libclang1-16 +Package: libclang1-16t64 +Provides: ${t64:Provides} +Replaces: libclang1-16 +Breaks: libclang1-16 (<< ${source:Version}) Section: libs Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends} @@ -154,7 +157,7 @@ Package: libclang-16-dev Architecture: any Section: libdevel Depends: ${shlibs:Depends}, ${misc:Depends}, ${dep:devlibs}, - ${dep:devlibs-objc}, libclang1-16 (= ${binary:Version}), + ${dep:devlibs-objc}, libclang1-16t64 (= ${binary:Version}), libclang-common-16-dev (= ${binary:Version}) Description: Clang library - Development package Clang project is a C, C++, Objective C and Objective C++ front-end @@ -170,7 +173,7 @@ Description: Clang library - Development package Package: libclang-common-16-dev Architecture: any Section: libdevel -Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm16 (= ${binary:Version}) +Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm16t64 (= ${binary:Version}) Recommends: libclang-rt-16-dev (>= 1:16~++20230115053056+df5fc4504b86-1~exp1) Description: Clang library - Common development package Clang project is a C, C++, Objective C and Objective C++ front-end @@ -239,10 +242,13 @@ Description: High-level loop and data-locality optimizer # ------------- clang libraries ------------- -Package: libclang-cpp16 +Package: libclang-cpp16t64 +Provides: ${t64:Provides} +Replaces: libclang-cpp16 +Breaks: libclang-cpp16 (<< ${source:Version}) Section: libs Architecture: any -Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm16 (= ${binary:Version}) +Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm16t64 (= ${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 @@ -264,7 +270,7 @@ Package: libclang-cpp16-dev Architecture: any Section: libdevel Depends: ${shlibs:Depends}, ${misc:Depends}, ${dep:devlibs}, - libclang-cpp16 (= ${binary:Version}) + libclang-cpp16t64 (= ${binary:Version}) # Move of libclang-cpp.so into libclang-cpp16.dev Description: C++ interface to the Clang library Clang project is a C, C++, Objective C and Objective C++ front-end @@ -340,7 +346,10 @@ Description: Clang examples # ------------- LLVM ------------- -Package: libllvm16 +Package: libllvm16t64 +Provides: ${t64:Provides} +Replaces: libllvm16 +Breaks: libllvm16 (<< ${source:Version}) Architecture: any Section: libs Depends: ${shlibs:Depends}, ${misc:Depends} @@ -416,8 +425,8 @@ Description: Modular compiler and toolchain technologies, IR interpreter Package: llvm-16-dev Architecture: any Depends: ${shlibs:Depends}, libffi-dev, ${misc:Depends}, - llvm-16 (= ${binary:Version}), libllvm16 (= ${binary:Version}), libncurses-dev, - llvm-16-tools (= ${binary:Version}), libclang-cpp16 (= ${binary:Version}), + llvm-16 (= ${binary:Version}), libllvm16t64 (= ${binary:Version}), libncurses-dev, + llvm-16-tools (= ${binary:Version}), libclang-cpp16t64 (= ${binary:Version}), libz3-dev, libxml2-dev Description: Modular compiler and toolchain technologies, libraries and headers LLVM is a collection of libraries and tools that make it easy to build @@ -523,7 +532,7 @@ Description: Modular compiler and toolchain technologies, examples Package: lld-16 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}, libllvm16 (= ${binary:Version}) +Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm16t64 (= ${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 @@ -533,7 +542,7 @@ Description: LLVM-based linker Package: liblld-16 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}, libllvm16 (= ${binary:Version}) +Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm16t64 (= ${binary:Version}) Pre-Depends: ${misc:Pre-Depends} Section: libs Description: LLVM-based linker, library @@ -563,7 +572,7 @@ Description: LLVM-based linker, header files Package: lldb-16 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}, libllvm16 (= ${binary:Version}), +Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm16t64 (= ${binary:Version}), python3-lldb-16 Pre-Depends: ${misc:Pre-Depends} Description: Next generation, high-performance debugger @@ -571,10 +580,13 @@ Description: Next generation, high-performance debugger reusable components which highly leverage existing libraries in the larger LLVM Project, such as the Clang expression parser and LLVM disassembler. -Package: liblldb-16 +Package: liblldb-16t64 +Provides: ${t64:Provides} +Replaces: liblldb-16 +Breaks: liblldb-16 (<< ${source: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 -Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm16 (= ${binary:Version}) +Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm16t64 (= ${binary:Version}) Pre-Depends: ${misc:Pre-Depends} Section: libs Description: Next generation, high-performance debugger, library @@ -588,7 +600,7 @@ Package: python3-lldb-16 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-16 (= ${binary:Version}) +Depends: ${shlibs:Depends}, ${misc:Depends}, ${python3:Depends}, liblldb-16t64 (= ${binary:Version}) Conflicts: python3-lldb-x.y Replaces: python3-lldb-x.y Provides: python3-lldb-x.y @@ -621,7 +633,7 @@ Description: Next generation, high-performance debugger, header files Package: libomp-16-dev Section: libdevel Architecture: amd64 arm64 armhf i386 loong64 mips64el ppc64el ppc64 riscv64 -Depends: libomp5-16 (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends} +Depends: libomp5-16t64 (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends} Suggests: libomp-16-doc Breaks: libiomp-dev (<< 3.7-1), libomp-dev (<< 44) Provides: libomp-x.y-dev @@ -632,14 +644,14 @@ Description: LLVM OpenMP runtime - dev package linked against, and that manages the multiple threads in an OpenMP program while it is executing. -Package: libomp5-16 +Package: libomp5-16t64 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 +Breaks: libomp5-16 (<< ${source:Version}), libomp5 (<< 44) +Provides: ${t64:Provides}, libomp-x.y Conflicts: libomp-x.y -Replaces: libomp-x.y +Replaces: libomp5-16, libomp-x.y Description: LLVM OpenMP runtime The runtime is the part of the OpenMP implementation that your code is linked against, and that manages the multiple threads in an OpenMP program @@ -660,17 +672,17 @@ Description: LLVM OpenMP runtime - Documentation # ------------- libcxx ------------- -Package: libc++1-16 +Package: libc++1-16t64 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 +Breaks: libc++1-16 (<< ${source:Version}), libc++1 (<< 44) +Provides: ${t64:Provides}, libc++-x.y Conflicts: libc++-x.y -Replaces: libc++-x.y +Replaces: libc++1-16, libc++-x.y Description: LLVM C++ Standard library libc++ is another implementation of the C++ standard library. . @@ -688,7 +700,7 @@ Package: libc++-16-dev Section: libdevel Architecture: any Multi-Arch: same -Depends: libc++1-16 (= ${binary:Version}), ${misc:Depends}, +Depends: libc++1-16t64 (= ${binary:Version}), ${misc:Depends}, libunwind-16-dev [amd64 arm64 armhf i386 loong64 ppc64el ppc64 riscv64] Breaks: libc++-dev (<< 44) Provides: libc++-x.y-dev @@ -732,16 +744,16 @@ Description: LLVM C++ Standard library (WASI) # ------------- libcxxabi ------------- -Package: libc++abi1-16 +Package: libc++abi1-16t64 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 +Breaks: libc++abi1-16 (<< ${source:Version}), libc++abi1 (<< 44) +Provides: ${t64:Provides}, libc++abi-x.y Conflicts: libc++abi-x.y -Replaces: libc++abi-x.y +Replaces: libc++abi1-16, libc++abi-x.y Description: LLVM low level support for a standard C++ library libc++abi is another implementation of low level support for a standard C++ library. @@ -755,7 +767,7 @@ Package: libc++abi-16-dev Section: libdevel Architecture: any Multi-Arch: same -Depends: libc++abi1-16 (= ${binary:Version}), ${misc:Depends} +Depends: libc++abi1-16t64 (= ${binary:Version}), ${misc:Depends} Breaks: libc++abi-dev (<= 44) Provides: libc++abi-x.y-dev Conflicts: libc++abi-x.y-dev @@ -827,15 +839,16 @@ Description: OpenCL C language implementation - development files # ------------- libunwind ------------- -Package: libunwind-16 +Package: libunwind-16t64 +Breaks: libunwind-16 (<< ${source:Version}) 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 +Replaces: libunwind-16, libunwind-x.y Description: production-quality unwinder libunwind is a production-quality unwinder, with platform support for DWARF unwind info, SjLj, and ARM EHABI. @@ -850,7 +863,7 @@ Architecture: amd64 arm64 armhf i386 loong64 ppc64el ppc64 riscv64 Multi-Arch: same Depends: ${misc:Depends}, - libunwind-16 (= ${binary:Version}) + libunwind-16t64 (= ${binary:Version}) Provides: libunwind-dev, libunwind-x.y-dev Conflicts: libunwind-dev, libunwind-x.y-dev Replaces: libunwind-dev, libunwind-x.y-dev @@ -875,15 +888,16 @@ Description: Multi-Level Intermediate Representation tools . This package provides tools. -Package: libmlir-16 +Package: libmlir-16t64 +Breaks: libmlir-16 (<< ${source:Version}) 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 +Replaces: libmlir-16, libmlir-x.y Description: Multi-Level Intermediate Representation library Novel approach to building reusable and extensible compiler infrastructure. MLIR aims to address software fragmentation, improve compilation for @@ -897,7 +911,7 @@ Architecture: any Multi-Arch: same Depends: ${misc:Depends}, - libmlir-16 (= ${binary:Version}) + libmlir-16t64 (= ${binary:Version}) Breaks: libmlir-dev Provides: libmlir-x.y-dev Conflicts: libmlir-x.y-dev diff --git a/debian/control.in b/debian/control.in index fbcb2ab8..0cf5a2c7 100644 --- a/debian/control.in +++ b/debian/control.in @@ -47,7 +47,7 @@ Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends}, ${dep:devlibs}, ${dep:devlibs-objc}, libclang-common-@LLVM_VERSION@-dev (= ${binary:Version}), llvm-@LLVM_VERSION@-linker-tools (= ${binary:Version}), - libclang1-@LLVM_VERSION@ (= ${binary:Version}), libc6-dev, binutils + libclang1-@LLVM_VERSION@t64 (= ${binary:Version}), libc6-dev, binutils Provides: c-compiler, objc-compiler, c++-compiler Recommends: llvm-@LLVM_VERSION@-dev, python3 # libomp-@LLVM_VERSION@-dev @@ -77,7 +77,7 @@ Description: clang-based tools for C/C++ developments Package: clang-format-@LLVM_VERSION@ Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends}, python3, - libllvm@LLVM_VERSION@ (= ${binary:Version}) + libllvm@LLVM_VERSION@t64 (= ${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 @@ -93,7 +93,7 @@ Description: Tool to format C/C++/Obj-C code Package: clang-tidy-@LLVM_VERSION@ Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends}, python3, - libllvm@LLVM_VERSION@ (= ${binary:Version}), libclang-common-@LLVM_VERSION@-dev, + libllvm@LLVM_VERSION@t64 (= ${binary:Version}), libclang-common-@LLVM_VERSION@-dev, clang-tools-@LLVM_VERSION@, python3-yaml Description: clang-based C++ linter tool Provide an extensible framework for diagnosing and fixing typical programming @@ -129,7 +129,10 @@ Description: C, C++ and Objective-C compiler - Documentation . This package contains the documentation. -Package: libclang1-@LLVM_VERSION@ +Package: libclang1-@LLVM_VERSION@t64 +Provides: ${t64:Provides} +Replaces: libclang1-@LLVM_VERSION@ +Breaks: libclang1-@LLVM_VERSION@ (<< ${source:Version}) Section: libs Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends} @@ -154,7 +157,7 @@ Package: libclang-@LLVM_VERSION@-dev Architecture: any Section: libdevel Depends: ${shlibs:Depends}, ${misc:Depends}, ${dep:devlibs}, - ${dep:devlibs-objc}, libclang1-@LLVM_VERSION@ (= ${binary:Version}), + ${dep:devlibs-objc}, libclang1-@LLVM_VERSION@t64 (= ${binary:Version}), libclang-common-@LLVM_VERSION@-dev (= ${binary:Version}) Description: Clang library - Development package Clang project is a C, C++, Objective C and Objective C++ front-end @@ -170,7 +173,7 @@ Description: Clang library - Development package Package: libclang-common-@LLVM_VERSION@-dev Architecture: any Section: libdevel -Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm@LLVM_VERSION@ (= ${binary:Version}) +Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm@LLVM_VERSION@t64 (= ${binary:Version}) Recommends: libclang-rt-@LLVM_VERSION@-dev (>= 1:16~++20230115053056+df5fc4504b86-1~exp1) Description: Clang library - Common development package Clang project is a C, C++, Objective C and Objective C++ front-end @@ -239,10 +242,13 @@ Description: High-level loop and data-locality optimizer # ------------- clang libraries ------------- -Package: libclang-cpp@LLVM_VERSION@ +Package: libclang-cpp@LLVM_VERSION@t64 +Provides: ${t64:Provides} +Replaces: libclang-cpp@LLVM_VERSION@ +Breaks: libclang-cpp@LLVM_VERSION@ (<< ${source:Version}) Section: libs Architecture: any -Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm@LLVM_VERSION@ (= ${binary:Version}) +Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm@LLVM_VERSION@t64 (= ${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 @@ -264,7 +270,7 @@ Package: libclang-cpp@LLVM_VERSION@-dev Architecture: any Section: libdevel Depends: ${shlibs:Depends}, ${misc:Depends}, ${dep:devlibs}, - libclang-cpp@LLVM_VERSION@ (= ${binary:Version}) + libclang-cpp@LLVM_VERSION@t64 (= ${binary:Version}) # Move of libclang-cpp.so into libclang-cpp@LLVM_VERSION@.dev Description: C++ interface to the Clang library Clang project is a C, C++, Objective C and Objective C++ front-end @@ -340,7 +346,10 @@ Description: Clang examples # ------------- LLVM ------------- -Package: libllvm@LLVM_VERSION@ +Package: libllvm@LLVM_VERSION@t64 +Provides: ${t64:Provides} +Replaces: libllvm@LLVM_VERSION@ +Breaks: libllvm@LLVM_VERSION@ (<< ${source:Version}) Architecture: any Section: libs Depends: ${shlibs:Depends}, ${misc:Depends} @@ -416,8 +425,8 @@ Description: Modular compiler and toolchain technologies, IR interpreter Package: llvm-@LLVM_VERSION@-dev Architecture: any Depends: ${shlibs:Depends}, libffi-dev, ${misc:Depends}, - llvm-@LLVM_VERSION@ (= ${binary:Version}), libllvm@LLVM_VERSION@ (= ${binary:Version}), libncurses-dev, - llvm-@LLVM_VERSION@-tools (= ${binary:Version}), libclang-cpp@LLVM_VERSION@ (= ${binary:Version}), + llvm-@LLVM_VERSION@ (= ${binary:Version}), libllvm@LLVM_VERSION@t64 (= ${binary:Version}), libncurses-dev, + llvm-@LLVM_VERSION@-tools (= ${binary:Version}), libclang-cpp@LLVM_VERSION@t64 (= ${binary:Version}), libz3-dev, libxml2-dev Description: Modular compiler and toolchain technologies, libraries and headers LLVM is a collection of libraries and tools that make it easy to build @@ -523,7 +532,7 @@ Description: Modular compiler and toolchain technologies, examples Package: lld-@LLVM_VERSION@ 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}, libllvm@LLVM_VERSION@ (= ${binary:Version}) +Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm@LLVM_VERSION@t64 (= ${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 @@ -533,7 +542,7 @@ Description: LLVM-based linker Package: liblld-@LLVM_VERSION@ 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}, libllvm@LLVM_VERSION@ (= ${binary:Version}) +Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm@LLVM_VERSION@t64 (= ${binary:Version}) Pre-Depends: ${misc:Pre-Depends} Section: libs Description: LLVM-based linker, library @@ -563,7 +572,7 @@ Description: LLVM-based linker, header files 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 -Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm@LLVM_VERSION@ (= ${binary:Version}), +Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm@LLVM_VERSION@t64 (= ${binary:Version}), python3-lldb-@LLVM_VERSION@ Pre-Depends: ${misc:Pre-Depends} Description: Next generation, high-performance debugger @@ -571,10 +580,13 @@ Description: Next generation, high-performance debugger reusable components which highly leverage existing libraries in the larger LLVM Project, such as the Clang expression parser and LLVM disassembler. -Package: liblldb-@LLVM_VERSION@ +Package: liblldb-@LLVM_VERSION@t64 +Provides: ${t64:Provides} +Replaces: liblldb-@LLVM_VERSION@ +Breaks: liblldb-@LLVM_VERSION@ (<< ${source: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 -Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm@LLVM_VERSION@ (= ${binary:Version}) +Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm@LLVM_VERSION@t64 (= ${binary:Version}) Pre-Depends: ${misc:Pre-Depends} Section: libs Description: Next generation, high-performance debugger, library @@ -588,7 +600,7 @@ 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 -Depends: ${shlibs:Depends}, ${misc:Depends}, ${python3:Depends}, liblldb-@LLVM_VERSION@ (= ${binary:Version}) +Depends: ${shlibs:Depends}, ${misc:Depends}, ${python3:Depends}, liblldb-@LLVM_VERSION@t64 (= ${binary:Version}) Conflicts: python3-lldb-x.y Replaces: python3-lldb-x.y Provides: python3-lldb-x.y @@ -621,7 +633,7 @@ Description: Next generation, high-performance debugger, header files Package: libomp-@LLVM_VERSION@-dev Section: libdevel Architecture: amd64 arm64 armhf i386 loong64 mips64el ppc64el ppc64 riscv64 -Depends: libomp5-@LLVM_VERSION@ (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends} +Depends: libomp5-@LLVM_VERSION@t64 (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends} Suggests: libomp-@LLVM_VERSION@-doc Breaks: libiomp-dev (<< 3.7-1), libomp-dev (<< 44) Provides: libomp-x.y-dev @@ -632,14 +644,14 @@ Description: LLVM OpenMP runtime - dev package linked against, and that manages the multiple threads in an OpenMP program while it is executing. -Package: libomp5-@LLVM_VERSION@ +Package: libomp5-@LLVM_VERSION@t64 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 +Breaks: libomp5-@LLVM_VERSION@ (<< ${source:Version}), libomp5 (<< 44) +Provides: ${t64:Provides}, libomp-x.y Conflicts: libomp-x.y -Replaces: libomp-x.y +Replaces: libomp5-@LLVM_VERSION@, libomp-x.y Description: LLVM OpenMP runtime The runtime is the part of the OpenMP implementation that your code is linked against, and that manages the multiple threads in an OpenMP program @@ -660,17 +672,17 @@ Description: LLVM OpenMP runtime - Documentation # ------------- libcxx ------------- -Package: libc++1-@LLVM_VERSION@ +Package: libc++1-@LLVM_VERSION@t64 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 +Breaks: libc++1-@LLVM_VERSION@ (<< ${source:Version}), libc++1 (<< 44) +Provides: ${t64:Provides}, libc++-x.y Conflicts: libc++-x.y -Replaces: libc++-x.y +Replaces: libc++1-@LLVM_VERSION@, libc++-x.y Description: LLVM C++ Standard library libc++ is another implementation of the C++ standard library. . @@ -688,7 +700,7 @@ Package: libc++-@LLVM_VERSION@-dev Section: libdevel Architecture: any Multi-Arch: same -Depends: libc++1-@LLVM_VERSION@ (= ${binary:Version}), ${misc:Depends}, +Depends: libc++1-@LLVM_VERSION@t64 (= ${binary:Version}), ${misc:Depends}, libunwind-@LLVM_VERSION@-dev [amd64 arm64 armhf i386 loong64 ppc64el ppc64 riscv64] Breaks: libc++-dev (<< 44) Provides: libc++-x.y-dev @@ -732,16 +744,16 @@ Description: LLVM C++ Standard library (WASI) # ------------- libcxxabi ------------- -Package: libc++abi1-@LLVM_VERSION@ +Package: libc++abi1-@LLVM_VERSION@t64 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 +Breaks: libc++abi1-@LLVM_VERSION@ (<< ${source:Version}), libc++abi1 (<< 44) +Provides: ${t64:Provides}, libc++abi-x.y Conflicts: libc++abi-x.y -Replaces: libc++abi-x.y +Replaces: libc++abi1-@LLVM_VERSION@, libc++abi-x.y Description: LLVM low level support for a standard C++ library libc++abi is another implementation of low level support for a standard C++ library. @@ -755,7 +767,7 @@ Package: libc++abi-@LLVM_VERSION@-dev Section: libdevel Architecture: any Multi-Arch: same -Depends: libc++abi1-@LLVM_VERSION@ (= ${binary:Version}), ${misc:Depends} +Depends: libc++abi1-@LLVM_VERSION@t64 (= ${binary:Version}), ${misc:Depends} Breaks: libc++abi-dev (<= 44) Provides: libc++abi-x.y-dev Conflicts: libc++abi-x.y-dev @@ -827,15 +839,16 @@ Description: OpenCL C language implementation - development files # ------------- libunwind ------------- -Package: libunwind-@LLVM_VERSION@ +Package: libunwind-@LLVM_VERSION@t64 +Breaks: libunwind-@LLVM_VERSION@ (<< ${source:Version}) 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 +Replaces: libunwind-@LLVM_VERSION@, libunwind-x.y Description: production-quality unwinder libunwind is a production-quality unwinder, with platform support for DWARF unwind info, SjLj, and ARM EHABI. @@ -850,7 +863,7 @@ Architecture: amd64 arm64 armhf i386 loong64 ppc64el ppc64 riscv64 Multi-Arch: same Depends: ${misc:Depends}, - libunwind-@LLVM_VERSION@ (= ${binary:Version}) + libunwind-@LLVM_VERSION@t64 (= ${binary:Version}) Provides: libunwind-dev, libunwind-x.y-dev Conflicts: libunwind-dev, libunwind-x.y-dev Replaces: libunwind-dev, libunwind-x.y-dev @@ -875,15 +888,16 @@ Description: Multi-Level Intermediate Representation tools . This package provides tools. -Package: libmlir-@LLVM_VERSION@ +Package: libmlir-@LLVM_VERSION@t64 +Breaks: libmlir-@LLVM_VERSION@ (<< ${source:Version}) 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 +Replaces: libmlir-@LLVM_VERSION@, libmlir-x.y Description: Multi-Level Intermediate Representation library Novel approach to building reusable and extensible compiler infrastructure. MLIR aims to address software fragmentation, improve compilation for @@ -897,7 +911,7 @@ Architecture: any Multi-Arch: same Depends: ${misc:Depends}, - libmlir-@LLVM_VERSION@ (= ${binary:Version}) + libmlir-@LLVM_VERSION@t64 (= ${binary:Version}) Breaks: libmlir-dev Provides: libmlir-x.y-dev Conflicts: libmlir-x.y-dev diff --git a/debian/libc++1-X.Y.lintian-overrides.in b/debian/libc++1-X.Y.lintian-overrides.in deleted file mode 100644 index 8e1532d4..00000000 --- a/debian/libc++1-X.Y.lintian-overrides.in +++ /dev/null @@ -1 +0,0 @@ -libc++1-@LLVM_VERSION@: arch-dependent-file-not-in-arch-specific-directory *usr/lib/llvm-@LLVM_VERSION@/lib/libc++.so.1.0* diff --git a/debian/libc++1-X.Y.install.in b/debian/libc++1-X.Yt64.install.in similarity index 100% rename from debian/libc++1-X.Y.install.in rename to debian/libc++1-X.Yt64.install.in diff --git a/debian/libc++1-X.Y.links.in b/debian/libc++1-X.Yt64.links.in similarity index 100% rename from debian/libc++1-X.Y.links.in rename to debian/libc++1-X.Yt64.links.in diff --git a/debian/libc++1-X.Yt64.lintian-overrides.in b/debian/libc++1-X.Yt64.lintian-overrides.in new file mode 100644 index 00000000..25a325fa --- /dev/null +++ b/debian/libc++1-X.Yt64.lintian-overrides.in @@ -0,0 +1,2 @@ +libc++1-@LLVM_VERSION@t64: arch-dependent-file-not-in-arch-specific-directory *usr/lib/llvm-@LLVM_VERSION@/lib/libc++.so.1.0* +libc++1-@LLVM_VERSION@t64: package-name-doesnt-match-sonames libc++1-@LLVM_VERSION@ diff --git a/debian/libc++abi1-X.Y.lintian-overrides.in b/debian/libc++abi1-X.Y.lintian-overrides.in deleted file mode 100644 index 0637b505..00000000 --- a/debian/libc++abi1-X.Y.lintian-overrides.in +++ /dev/null @@ -1 +0,0 @@ -libc++abi1-@LLVM_VERSION@: arch-dependent-file-not-in-arch-specific-directory *usr/lib/llvm-@LLVM_VERSION@/lib/libc++abi.so.1.0* diff --git a/debian/libc++abi1-X.Y.install.in b/debian/libc++abi1-X.Yt64.install.in similarity index 100% rename from debian/libc++abi1-X.Y.install.in rename to debian/libc++abi1-X.Yt64.install.in diff --git a/debian/libc++abi1-X.Y.links.in b/debian/libc++abi1-X.Yt64.links.in similarity index 100% rename from debian/libc++abi1-X.Y.links.in rename to debian/libc++abi1-X.Yt64.links.in diff --git a/debian/libc++abi1-X.Yt64.lintian-overrides.in b/debian/libc++abi1-X.Yt64.lintian-overrides.in new file mode 100644 index 00000000..c3100c96 --- /dev/null +++ b/debian/libc++abi1-X.Yt64.lintian-overrides.in @@ -0,0 +1,2 @@ +libc++abi1-@LLVM_VERSION@t64: arch-dependent-file-not-in-arch-specific-directory *usr/lib/llvm-@LLVM_VERSION@/lib/libc++abi.so.1.0* +libc++abi1-@LLVM_VERSION@t64: package-name-doesnt-match-sonames libc++abi1-@LLVM_VERSION@ diff --git a/debian/libclang-cppX.Y.install.in b/debian/libclang-cppX.Yt64.install.in similarity index 100% rename from debian/libclang-cppX.Y.install.in rename to debian/libclang-cppX.Yt64.install.in diff --git a/debian/libclang-cppX.Y.links.in b/debian/libclang-cppX.Yt64.links.in similarity index 100% rename from debian/libclang-cppX.Y.links.in rename to debian/libclang-cppX.Yt64.links.in diff --git a/debian/libclang-cppX.Yt64.lintian-overrides.in b/debian/libclang-cppX.Yt64.lintian-overrides.in new file mode 100644 index 00000000..5d4a86a8 --- /dev/null +++ b/debian/libclang-cppX.Yt64.lintian-overrides.in @@ -0,0 +1 @@ +libclang-cpp@LLVM_VERSION@t64: package-name-doesnt-match-sonames libclang-cpp@LLVM_VERSION@ diff --git a/debian/libclang1-X.Y.lintian-overrides.in b/debian/libclang1-X.Y.lintian-overrides.in deleted file mode 100644 index 86038455..00000000 --- a/debian/libclang1-X.Y.lintian-overrides.in +++ /dev/null @@ -1,5 +0,0 @@ -# I know and I am not planning to change that yet. -libclang1-@LLVM_VERSION@: package-name-doesnt-match-sonames libclang-@LLVM_VERSION@-1 -# Provided as transition -libclang1-@LLVM_VERSION@: dev-pkg-without-shlib-symlink usr/lib/*/libclang-@LLVM_VERSION@.so.1 usr/lib/*/libclang.so -libclang1-@LLVM_VERSION@: ldconfig-symlink-missing-for-shlib usr/lib/*/libclang-LLVM_VERSION@.so usr/lib/*/libclang-LLVM_VERSION@.so.1 libclang-LLVM_VERSION@.so diff --git a/debian/libclang1-X.Y.install.in b/debian/libclang1-X.Yt64.install.in similarity index 100% rename from debian/libclang1-X.Y.install.in rename to debian/libclang1-X.Yt64.install.in diff --git a/debian/libclang1-X.Y.links.in b/debian/libclang1-X.Yt64.links.in similarity index 100% rename from debian/libclang1-X.Y.links.in rename to debian/libclang1-X.Yt64.links.in diff --git a/debian/libclang1-X.Yt64.lintian-overrides.in b/debian/libclang1-X.Yt64.lintian-overrides.in new file mode 100644 index 00000000..c0e016cc --- /dev/null +++ b/debian/libclang1-X.Yt64.lintian-overrides.in @@ -0,0 +1,6 @@ +# I know and I am not planning to change that yet. +libclang1-@LLVM_VERSION@t64: package-name-doesnt-match-sonames libclang-@LLVM_VERSION@-1 +# Provided as transition +libclang1-@LLVM_VERSION@t64: dev-pkg-without-shlib-symlink usr/lib/*/libclang-@LLVM_VERSION@.so.1 usr/lib/*/libclang.so +libclang1-@LLVM_VERSION@t64: ldconfig-symlink-missing-for-shlib usr/lib/*/libclang-LLVM_VERSION@.so usr/lib/*/libclang-LLVM_VERSION@.so.1 libclang-LLVM_VERSION@.so +libclang1-@LLVM_VERSION@t64: package-name-doesnt-match-sonames libclang1-@LLVM_VERSION@ diff --git a/debian/libclang1-X.Y.symbols.in b/debian/libclang1-X.Yt64.symbols.in similarity index 99% rename from debian/libclang1-X.Y.symbols.in rename to debian/libclang1-X.Yt64.symbols.in index 9d6e9d20..d91146a7 100644 --- a/debian/libclang1-X.Y.symbols.in +++ b/debian/libclang1-X.Yt64.symbols.in @@ -1,4 +1,4 @@ -libclang-@LLVM_VERSION@.so.@LLVM_VERSION_FULL@ libclang1-@LLVM_VERSION@ #MINVER# +libclang-@LLVM_VERSION@.so.@LLVM_VERSION_FULL@ libclang1-@LLVM_VERSION@t64 #MINVER# (optional)LLVM_13@LLVM_13 1:15.0.7-3 (optional)LLVM_16@LLVM_16 1:16.0.2-1 clang_BlockCommandComment_getArgText@LLVM_13 1:5.0~svn298832-1~ diff --git a/debian/liblldb-X.Y.lintian-overrides.in b/debian/liblldb-X.Y.lintian-overrides.in deleted file mode 100644 index 180aec35..00000000 --- a/debian/liblldb-X.Y.lintian-overrides.in +++ /dev/null @@ -1,5 +0,0 @@ -# That is normal. The lib is not (yet?) shipped as a new package -liblldb-@LLVM_VERSION@: package-name-doesnt-match-sonames liblldb-@LLVM_VERSION@-1 -# For now, override this warning. We might create a -dev at some point -liblldb-@LLVM_VERSION@: non-dev-pkg-with-shlib-symlink usr/lib/*/liblldb.so.1 usr/lib/*/liblldb.so -liblldb-@LLVM_VERSION@: non-dev-pkg-with-shlib-symlink usr/lib/*/liblldb-@LLVM_VERSION@.so.1 usr/lib/*/liblldb-@LLVM_VERSION@.so diff --git a/debian/liblldb-X.Y.install.in b/debian/liblldb-X.Yt64.install.in similarity index 100% rename from debian/liblldb-X.Y.install.in rename to debian/liblldb-X.Yt64.install.in diff --git a/debian/liblldb-X.Y.links.in b/debian/liblldb-X.Yt64.links.in similarity index 100% rename from debian/liblldb-X.Y.links.in rename to debian/liblldb-X.Yt64.links.in diff --git a/debian/liblldb-X.Yt64.lintian-overrides.in b/debian/liblldb-X.Yt64.lintian-overrides.in new file mode 100644 index 00000000..02752489 --- /dev/null +++ b/debian/liblldb-X.Yt64.lintian-overrides.in @@ -0,0 +1,6 @@ +# That is normal. The lib is not (yet?) shipped as a new package +liblldb-@LLVM_VERSION@t64: package-name-doesnt-match-sonames liblldb-@LLVM_VERSION@t64-1 +# For now, override this warning. We might create a -dev at some point +liblldb-@LLVM_VERSION@t64: non-dev-pkg-with-shlib-symlink usr/lib/*/liblldb.so.1 usr/lib/*/liblldb.so +liblldb-@LLVM_VERSION@t64: non-dev-pkg-with-shlib-symlink usr/lib/*/liblldb-@LLVM_VERSION@t64.so.1 usr/lib/*/liblldb-@LLVM_VERSION@t64.so +liblldb-@LLVM_VERSION@t64: package-name-doesnt-match-sonames liblldb-@LLVM_VERSION@ diff --git a/debian/libllvmX.Y.lintian-overrides.in b/debian/libllvmX.Y.lintian-overrides.in deleted file mode 100644 index 49f7ef24..00000000 --- a/debian/libllvmX.Y.lintian-overrides.in +++ /dev/null @@ -1,2 +0,0 @@ -# That is normal. Upstream does not match the debian convention -libllvm@LLVM_VERSION@: package-name-doesnt-match-sonames libLLVM-@LLVM_VERSION@-1 diff --git a/debian/libllvmX.Y.install.in b/debian/libllvmX.Yt64.install.in similarity index 100% rename from debian/libllvmX.Y.install.in rename to debian/libllvmX.Yt64.install.in diff --git a/debian/libllvmX.Y.links.in b/debian/libllvmX.Yt64.links.in similarity index 100% rename from debian/libllvmX.Y.links.in rename to debian/libllvmX.Yt64.links.in diff --git a/debian/libllvmX.Yt64.lintian-overrides.in b/debian/libllvmX.Yt64.lintian-overrides.in new file mode 100644 index 00000000..40fd72df --- /dev/null +++ b/debian/libllvmX.Yt64.lintian-overrides.in @@ -0,0 +1,3 @@ +# That is normal. Upstream does not match the debian convention +libllvm@LLVM_VERSION@t64: package-name-doesnt-match-sonames libLLVM-@LLVM_VERSION@-1 +libllvm@LLVM_VERSION@t64: package-name-doesnt-match-sonames libllvm@LLVM_VERSION@ diff --git a/debian/libmlir-X.Y.lintian-overrides.in b/debian/libmlir-X.Y.lintian-overrides.in deleted file mode 100644 index f2f020ba..00000000 --- a/debian/libmlir-X.Y.lintian-overrides.in +++ /dev/null @@ -1 +0,0 @@ -libmlir-@LLVM_VERSION@: arch-dependent-file-not-in-arch-specific-directory *usr/lib/llvm-@LLVM_VERSION@/lib/* diff --git a/debian/libmlir-X.Y.install.in b/debian/libmlir-X.Yt64.install.in similarity index 100% rename from debian/libmlir-X.Y.install.in rename to debian/libmlir-X.Yt64.install.in diff --git a/debian/libmlir-X.Yt64.lintian-overrides.in b/debian/libmlir-X.Yt64.lintian-overrides.in new file mode 100644 index 00000000..50568c40 --- /dev/null +++ b/debian/libmlir-X.Yt64.lintian-overrides.in @@ -0,0 +1,2 @@ +libmlir-@LLVM_VERSION@t64: arch-dependent-file-not-in-arch-specific-directory *usr/lib/llvm-@LLVM_VERSION@/lib/* +libmlir-@LLVM_VERSION@t64: package-name-doesnt-match-sonames libmlir-@LLVM_VERSION@ diff --git a/debian/libomp5-X.Y.lintian-overrides.in b/debian/libomp5-X.Y.lintian-overrides.in deleted file mode 100644 index 335e58e9..00000000 --- a/debian/libomp5-X.Y.lintian-overrides.in +++ /dev/null @@ -1 +0,0 @@ -libomp5-@LLVM_VERSION@: arch-dependent-file-not-in-arch-specific-directory *usr/lib/llvm-@LLVM_VERSION@/lib/libomp.so.5* diff --git a/debian/libomp5-X.Y.install.in b/debian/libomp5-X.Yt64.install.in similarity index 100% rename from debian/libomp5-X.Y.install.in rename to debian/libomp5-X.Yt64.install.in diff --git a/debian/libomp5-X.Y.links.in b/debian/libomp5-X.Yt64.links.in similarity index 100% rename from debian/libomp5-X.Y.links.in rename to debian/libomp5-X.Yt64.links.in diff --git a/debian/libomp5-X.Yt64.lintian-overrides.in b/debian/libomp5-X.Yt64.lintian-overrides.in new file mode 100644 index 00000000..0bbf0689 --- /dev/null +++ b/debian/libomp5-X.Yt64.lintian-overrides.in @@ -0,0 +1,2 @@ +libomp5-@LLVM_VERSION@t64: arch-dependent-file-not-in-arch-specific-directory *usr/lib/llvm-@LLVM_VERSION@/lib/libomp.so.5* +libomp5-@LLVM_VERSION@t64: package-name-doesnt-match-sonames libomp5-@LLVM_VERSION@ diff --git a/debian/libomp5-X.Y.symbols.in b/debian/libomp5-X.Yt64.symbols.in similarity index 99% rename from debian/libomp5-X.Y.symbols.in rename to debian/libomp5-X.Yt64.symbols.in index 15295c9f..350fcf19 100644 --- a/debian/libomp5-X.Y.symbols.in +++ b/debian/libomp5-X.Yt64.symbols.in @@ -1,4 +1,4 @@ -libomp.so.5 libomp5-@LLVM_VERSION@ #MINVER# +libomp.so.5 libomp5-@LLVM_VERSION@t64 #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 diff --git a/debian/libunwind-X.Y.lintian-overrides.in b/debian/libunwind-X.Y.lintian-overrides.in deleted file mode 100644 index 6cb74223..00000000 --- a/debian/libunwind-X.Y.lintian-overrides.in +++ /dev/null @@ -1 +0,0 @@ -libunwind-@LLVM_VERSION@: arch-dependent-file-not-in-arch-specific-directory *usr/lib/llvm-@LLVM_VERSION@/lib/libunwind.so.1.0* diff --git a/debian/libunwind-X.Y.install.in b/debian/libunwind-X.Yt64.install.in similarity index 100% rename from debian/libunwind-X.Y.install.in rename to debian/libunwind-X.Yt64.install.in diff --git a/debian/libunwind-X.Y.links.in b/debian/libunwind-X.Yt64.links.in similarity index 100% rename from debian/libunwind-X.Y.links.in rename to debian/libunwind-X.Yt64.links.in diff --git a/debian/libunwind-X.Yt64.lintian-overrides.in b/debian/libunwind-X.Yt64.lintian-overrides.in new file mode 100644 index 00000000..3683dc8c --- /dev/null +++ b/debian/libunwind-X.Yt64.lintian-overrides.in @@ -0,0 +1,2 @@ +libunwind-@LLVM_VERSION@t64: arch-dependent-file-not-in-arch-specific-directory *usr/lib/llvm-@LLVM_VERSION@/lib/libunwind.so.1.0* +libunwind-@LLVM_VERSION@t64: package-name-doesnt-match-sonames libunwind-@LLVM_VERSION@ diff --git a/debian/rules b/debian/rules index 79ac1d6f..e6f6f311 100755 --- a/debian/rules +++ b/debian/rules @@ -571,7 +571,7 @@ preconfigure: debian/libclang-rt-$(LLVM_VERSION)-dev.install \ debian/libpolly-$(LLVM_VERSION)-dev.install \ debian/libomp-$(LLVM_VERSION)-dev.install \ - debian/libomp5-$(LLVM_VERSION).install \ + debian/libomp5-$(LLVM_VERSION)t64.install \ debian/llvm-$(LLVM_VERSION)-dev.install \ debian/llvm-$(LLVM_VERSION)-linker-tools.install \ debian/llvm-$(LLVM_VERSION)-linker-tools.links \ @@ -1223,10 +1223,10 @@ endif override_dh_makeshlibs: - dh_makeshlibs -plibclang$(SONAME_EXT)-$(LLVM_VERSION) - dh_makeshlibs -pliblldb-$(LLVM_VERSION) - dh_makeshlibs -plibllvm$(LLVM_VERSION) - dh_makeshlibs -plibomp$(SONAME_OPENMP)-$(LLVM_VERSION) + dh_makeshlibs -plibclang$(SONAME_EXT)-$(LLVM_VERSION)t64 + dh_makeshlibs -pliblldb-$(LLVM_VERSION)t64 + dh_makeshlibs -plibllvm$(LLVM_VERSION)t64 + dh_makeshlibs -plibomp$(SONAME_OPENMP)-$(LLVM_VERSION)t64 dh_makeshlibs --remaining-packages -V override_dh_shlibdeps: @@ -1247,10 +1247,10 @@ override_dh_strip: find $(TARGET_BUILD) -name '*.o' -o -name '*.a' -type f | xargs -r rm -f ifeq (0, $(strip $(shell dpkg --compare-versions $(DH_VERSION) ge 9.20160114; echo $$?))) : # If we don't have the right version of debhelper, don't run the option - dh_strip -p libclang$(SONAME_EXT)-$(LLVM_VERSION) --dbgsym-migration='libclang$(SONAME_EXT)-$(LLVM_VERSION)-dbg' - dh_strip -p libllvm$(LLVM_VERSION) --dbgsym-migration='libllvm$(LLVM_VERSION)-dbg' - dh_strip -p liblldb-$(LLVM_VERSION) --dbgsym-migration='liblldb-$(LLVM_VERSION)-dbg' - dh_strip -p libomp$(SONAME_OPENMP)-$(LLVM_VERSION) --dbgsym-migration='libomp$(SONAME_OPENMP)-$(LLVM_VERSION)-dbg' + dh_strip -p libclang$(SONAME_EXT)-$(LLVM_VERSION)t64 --dbgsym-migration='libclang$(SONAME_EXT)-$(LLVM_VERSION)t64-dbg' + dh_strip -p libllvm$(LLVM_VERSION)t64 --dbgsym-migration='libllvm$(LLVM_VERSION)t64-dbg' + dh_strip -p liblldb-$(LLVM_VERSION)t64 --dbgsym-migration='liblldb-$(LLVM_VERSION)t64-dbg' + dh_strip -p libomp$(SONAME_OPENMP)-$(LLVM_VERSION)t64 --dbgsym-migration='libomp$(SONAME_OPENMP)-$(LLVM_VERSION)t64-dbg' endif # ifeq (${LLD_ENABLE},yes) # PATH=$(CURDIR)/:$$PATH dh_strip -p liblld-$(LLVM_VERSION) --dbg-package=liblld-$(LLVM_VERSION)-dbg From c2764fa0c241809af3da926e0bf1d473ffb30eb0 Mon Sep 17 00:00:00 2001 From: Gianfranco Costamagna Date: Sun, 3 Mar 2024 11:54:05 +0100 Subject: [PATCH 11/29] Disable compiler-rt on 32bit architectures except i386 --- debian/rules | 27 ++++++++++++++++++++------- 1 file changed, 20 insertions(+), 7 deletions(-) diff --git a/debian/rules b/debian/rules index e6f6f311..08635e55 100755 --- a/debian/rules +++ b/debian/rules @@ -3,7 +3,6 @@ # polly & lldb aren't enabled for every platform PROJECTS = clang;clang-tools-extra;lld;cross-project-tests;mlir # openmp & libunwind aren't enabled for every platform -RUNTIMES = compiler-rt;libcxx;libcxxabi TARGET_BUILD := build-llvm TARGET_BUILD_STAGE2 := $(TARGET_BUILD)/tools/clang/stage2-bins @@ -20,6 +19,20 @@ ifeq ($(LLVM_VERSION),$(LLVM_VERSION_FULL)) LLVM_VERSION_FULL := $(LLVM_VERSION).0.0 endif +# 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 +ifeq ($(DEB_HOST_ARCH),i386) + RUNTIMES = compiler-rt;libcxx;libcxxabi +else + ifeq ($(DEB_HOST_ARCH_BITS),32) + RUNTIMES = libcxx;libcxxabi + skip_packages = -Nlibclang-rt-$(LLVM_VERSION)-dev + else + RUNTIMES = compiler-rt;libcxx;libcxxabi + endif +endif + SOURCE_NAME := $(shell dpkg-parsechangelog -S Source) ifneq (,$(findstring snapshot,$(SOURCE_NAME))) BRANCH_NAME=snapshot @@ -46,9 +59,6 @@ include /usr/share/dpkg/architecture.mk 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 # these are handled on a per stage / build basis export DEB_CFLAGS_MAINT_STRIP = -g -O2 export DEB_CXXFLAGS_MAINT_STRIP = -g -O2 @@ -1038,7 +1048,7 @@ override_dh_auto_install: ifeq (,$(filter $(DEB_HOST_ARCH), powerpc powerpcspe sparc sparc64)) 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 + chrpath -d $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/clang/$(LLVM_VERSION)*/lib/linux/*.so || true endif endif @@ -1289,7 +1299,7 @@ else rm -rf $(CURDIR)/debian/tmp/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, $(shell dh_listpackages))) @@ -1417,8 +1427,11 @@ override_dh_auto_test: endif +override_dh_builddeb: + dh_builddeb ${skip_packages} + override_dh_gencontrol: sccache-stats - dh_gencontrol -- $(control_vars) + dh_gencontrol ${skip_packages} -- $(control_vars) override_dh_auto_clean: From f604a3d48b2f2b7138818f79b66b1b05a3e6c988 Mon Sep 17 00:00:00 2001 From: Gianfranco Costamagna Date: Sun, 3 Mar 2024 12:06:25 +0100 Subject: [PATCH 12/29] Update changelog --- debian/changelog | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/debian/changelog b/debian/changelog index 22592797..a2a6aca8 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,8 +1,11 @@ -llvm-toolchain-16 (1:16.0.6-21) UNRELEASED; urgency=medium +llvm-toolchain-16 (1:16.0.6-21) unstable; urgency=medium [ Steve Langasek ] * Rename libraries for 64-bit time_t transition. + [ Gianfranco Costamagna ] + * Fix 32bit builds + -- Gianfranco Costamagna Sun, 03 Mar 2024 12:02:57 +0100 llvm-toolchain-16 (1:16.0.6-20) unstable; urgency=medium From 0e82ff5822da25f3ba94bb6e58e081a3fc9e828c Mon Sep 17 00:00:00 2001 From: Gianfranco Costamagna Date: Tue, 5 Mar 2024 10:18:06 +0100 Subject: [PATCH 13/29] Disable tests on mips64el --- debian/rules | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/debian/rules b/debian/rules index 08635e55..f7b8828c 100755 --- a/debian/rules +++ b/debian/rules @@ -365,8 +365,8 @@ ifeq (riscv64,$(DEB_HOST_ARCH)) endif endif -# llvm tests timeout, disable it on mipsel -ifeq (mipsel,$(DEB_HOST_ARCH)) +# llvm tests timeout, disable it on mips64el +ifeq (mips64el,$(DEB_HOST_ARCH)) RUN_TEST=no endif From a0393bfef6c3d73ea372f5ca4f8fe5b9eac6bc8f Mon Sep 17 00:00:00 2001 From: Gianfranco Costamagna Date: Wed, 6 Mar 2024 08:39:21 +0100 Subject: [PATCH 14/29] From Zixing Liu: d/p/fix-unwind-detection-logic.patch: use an upstream patch to fix libunwind detection logic when compiler-rt is disabled. --- debian/changelog | 8 ++++ .../patches/fix-unwind-detection-logic.patch | 39 +++++++++++++++++++ debian/patches/series | 2 +- 3 files changed, 48 insertions(+), 1 deletion(-) create mode 100644 debian/patches/fix-unwind-detection-logic.patch diff --git a/debian/changelog b/debian/changelog index a2a6aca8..3409f6c3 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,11 @@ +llvm-toolchain-16 (1:16.0.6-22) UNRELEASED; urgency=medium + + [ Zixing Liu ] + * d/p/fix-unwind-detection-logic.patch: use an upstream patch to fix + libunwind detection logic when compiler-rt is disabled. + + -- Gianfranco Costamagna Wed, 06 Mar 2024 08:38:53 +0100 + llvm-toolchain-16 (1:16.0.6-21) unstable; urgency=medium [ Steve Langasek ] diff --git a/debian/patches/fix-unwind-detection-logic.patch b/debian/patches/fix-unwind-detection-logic.patch new file mode 100644 index 00000000..667432c3 --- /dev/null +++ b/debian/patches/fix-unwind-detection-logic.patch @@ -0,0 +1,39 @@ +From 7c5e4e5fa3a948fc662be3a6bf057021d32f72e6 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Martin=20Storsj=C3=B6?= +Date: Thu, 5 Oct 2023 11:41:11 +0300 +Subject: [PATCH] Reapply [compiler-rt] Check for and use -lunwind when linking + with -nodefaultlibs (#66584) + +If libc++ is available and should be used as the ubsan C++ ABI library, +the check for libc++ might fail if libc++ is a static library, as the +-nodefaultlibs flag inhibits a potential compiler default -lunwind. + +Just like the -nodefaultlibs configuration tests for and manually adds a +bunch of compiler default libraries, look for -lunwind too. + +This is a reland of #65912. +--- + compiler-rt/cmake/config-ix.cmake | 10 ++++++++++ + 1 file changed, 10 insertions(+) + +diff --git a/compiler-rt/cmake/config-ix.cmake b/compiler-rt/cmake/config-ix.cmake +index 09a9b62ce4cd37..a8e078f1ebc988 100644 +--- a/compiler-rt/cmake/config-ix.cmake ++++ b/compiler-rt/cmake/config-ix.cmake +@@ -63,6 +63,16 @@ if (C_SUPPORTS_NODEFAULTLIBS_FLAG) + moldname mingwex msvcrt) + list(APPEND CMAKE_REQUIRED_LIBRARIES ${MINGW_LIBRARIES}) + endif() ++ if (NOT TARGET unwind) ++ # Don't check for a library named unwind, if there's a target with that name within ++ # the same build. ++ check_library_exists(unwind _Unwind_GetRegionStart "" COMPILER_RT_HAS_LIBUNWIND) ++ if (COMPILER_RT_HAS_LIBUNWIND) ++ # If we're omitting default libraries, we might need to manually link in libunwind. ++ # This can affect whether we detect a statically linked libc++ correctly. ++ list(APPEND CMAKE_REQUIRED_LIBRARIES unwind) ++ endif() ++ endif() + endif () + + # CodeGen options. diff --git a/debian/patches/series b/debian/patches/series index 52c1ee02..917f6e85 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -135,7 +135,7 @@ protobuf_3.21.patch # compiler-rt compiler-rt/compilerrt-builtins-arch-fix-armhf.diff compiler-rt/compilerrt-build-scudo-standalone-option.diff - +fix-unwind-detection-logic.patch # wasm patches wasm/wasm-ld-path.diff From 200af0f3340dae6f2205d772c977ac8993567441 Mon Sep 17 00:00:00 2001 From: Gianfranco Costamagna Date: Wed, 6 Mar 2024 08:42:22 +0100 Subject: [PATCH 15/29] Update changelog --- debian/changelog | 3 +++ 1 file changed, 3 insertions(+) diff --git a/debian/changelog b/debian/changelog index 3409f6c3..c6732a00 100644 --- a/debian/changelog +++ b/debian/changelog @@ -4,6 +4,9 @@ llvm-toolchain-16 (1:16.0.6-22) UNRELEASED; urgency=medium * d/p/fix-unwind-detection-logic.patch: use an upstream patch to fix libunwind detection logic when compiler-rt is disabled. + [ Gianfranco Costamagna ] + * Disable tests on mips64el + -- Gianfranco Costamagna Wed, 06 Mar 2024 08:38:53 +0100 llvm-toolchain-16 (1:16.0.6-21) unstable; urgency=medium From 9cd31fb336647b3b8137b4f2f71845a87ec8c71b Mon Sep 17 00:00:00 2001 From: Gianfranco Costamagna Date: Wed, 6 Mar 2024 08:49:19 +0100 Subject: [PATCH 16/29] Upload to sid --- debian/changelog | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/debian/changelog b/debian/changelog index c6732a00..4bca982c 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,4 @@ -llvm-toolchain-16 (1:16.0.6-22) UNRELEASED; urgency=medium +llvm-toolchain-16 (1:16.0.6-22) unstable; urgency=medium [ Zixing Liu ] * d/p/fix-unwind-detection-logic.patch: use an upstream patch to fix From 20819031eb56bbe1cd2acc5c9d57a03c255ac25c Mon Sep 17 00:00:00 2001 From: Gianfranco Costamagna Date: Fri, 8 Mar 2024 16:01:18 +0100 Subject: [PATCH 17/29] Revert unwind detection logic changes --- debian/changelog | 4 -- .../patches/fix-unwind-detection-logic.patch | 39 ------------------- debian/patches/series | 1 - 3 files changed, 44 deletions(-) delete mode 100644 debian/patches/fix-unwind-detection-logic.patch diff --git a/debian/changelog b/debian/changelog index 4bca982c..d72d23f4 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,9 +1,5 @@ llvm-toolchain-16 (1:16.0.6-22) unstable; urgency=medium - [ Zixing Liu ] - * d/p/fix-unwind-detection-logic.patch: use an upstream patch to fix - libunwind detection logic when compiler-rt is disabled. - [ Gianfranco Costamagna ] * Disable tests on mips64el diff --git a/debian/patches/fix-unwind-detection-logic.patch b/debian/patches/fix-unwind-detection-logic.patch deleted file mode 100644 index 667432c3..00000000 --- a/debian/patches/fix-unwind-detection-logic.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 7c5e4e5fa3a948fc662be3a6bf057021d32f72e6 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Martin=20Storsj=C3=B6?= -Date: Thu, 5 Oct 2023 11:41:11 +0300 -Subject: [PATCH] Reapply [compiler-rt] Check for and use -lunwind when linking - with -nodefaultlibs (#66584) - -If libc++ is available and should be used as the ubsan C++ ABI library, -the check for libc++ might fail if libc++ is a static library, as the --nodefaultlibs flag inhibits a potential compiler default -lunwind. - -Just like the -nodefaultlibs configuration tests for and manually adds a -bunch of compiler default libraries, look for -lunwind too. - -This is a reland of #65912. ---- - compiler-rt/cmake/config-ix.cmake | 10 ++++++++++ - 1 file changed, 10 insertions(+) - -diff --git a/compiler-rt/cmake/config-ix.cmake b/compiler-rt/cmake/config-ix.cmake -index 09a9b62ce4cd37..a8e078f1ebc988 100644 ---- a/compiler-rt/cmake/config-ix.cmake -+++ b/compiler-rt/cmake/config-ix.cmake -@@ -63,6 +63,16 @@ if (C_SUPPORTS_NODEFAULTLIBS_FLAG) - moldname mingwex msvcrt) - list(APPEND CMAKE_REQUIRED_LIBRARIES ${MINGW_LIBRARIES}) - endif() -+ if (NOT TARGET unwind) -+ # Don't check for a library named unwind, if there's a target with that name within -+ # the same build. -+ check_library_exists(unwind _Unwind_GetRegionStart "" COMPILER_RT_HAS_LIBUNWIND) -+ if (COMPILER_RT_HAS_LIBUNWIND) -+ # If we're omitting default libraries, we might need to manually link in libunwind. -+ # This can affect whether we detect a statically linked libc++ correctly. -+ list(APPEND CMAKE_REQUIRED_LIBRARIES unwind) -+ endif() -+ endif() - endif () - - # CodeGen options. diff --git a/debian/patches/series b/debian/patches/series index 917f6e85..d8a86985 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -135,7 +135,6 @@ protobuf_3.21.patch # compiler-rt compiler-rt/compilerrt-builtins-arch-fix-armhf.diff compiler-rt/compilerrt-build-scudo-standalone-option.diff -fix-unwind-detection-logic.patch # wasm patches wasm/wasm-ld-path.diff From 8c3b7796c49b32723510f4e4b30fc738f21f52f2 Mon Sep 17 00:00:00 2001 From: Gianfranco Costamagna Date: Fri, 8 Mar 2024 16:04:40 +0100 Subject: [PATCH 18/29] Revert compiler-rt hacks --- debian/rules | 20 ++++---------------- 1 file changed, 4 insertions(+), 16 deletions(-) diff --git a/debian/rules b/debian/rules index f7b8828c..a437a8de 100755 --- a/debian/rules +++ b/debian/rules @@ -22,16 +22,7 @@ endif # 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 -ifeq ($(DEB_HOST_ARCH),i386) - RUNTIMES = compiler-rt;libcxx;libcxxabi -else - ifeq ($(DEB_HOST_ARCH_BITS),32) - RUNTIMES = libcxx;libcxxabi - skip_packages = -Nlibclang-rt-$(LLVM_VERSION)-dev - else - RUNTIMES = compiler-rt;libcxx;libcxxabi - endif -endif +RUNTIMES = compiler-rt;libcxx;libcxxabi SOURCE_NAME := $(shell dpkg-parsechangelog -S Source) ifneq (,$(findstring snapshot,$(SOURCE_NAME))) @@ -1048,7 +1039,7 @@ override_dh_auto_install: ifeq (,$(filter $(DEB_HOST_ARCH), powerpc powerpcspe sparc sparc64)) ifneq (,$(filter $(DEB_HOST_ARCH_OS),linux)) # To fix custom-library-search-path - chrpath -d $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/clang/$(LLVM_VERSION)*/lib/linux/*.so || true + chrpath -d $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/clang/$(LLVM_VERSION)*/lib/linux/*.so endif endif @@ -1299,7 +1290,7 @@ else rm -rf $(CURDIR)/debian/tmp/usr/lib/llvm-$(LLVM_VERSION)/lib/cmake/polly/*.cmake endif endif - dh_install --fail-missing ${skip_packages} + dh_install --fail-missing # 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, $(shell dh_listpackages))) @@ -1427,11 +1418,8 @@ override_dh_auto_test: endif -override_dh_builddeb: - dh_builddeb ${skip_packages} - override_dh_gencontrol: sccache-stats - dh_gencontrol ${skip_packages} -- $(control_vars) + dh_gencontrol -- $(control_vars) override_dh_auto_clean: From b74f7bdca8a1e643aac9cfcff9c774b0811a752f Mon Sep 17 00:00:00 2001 From: Matthias Klose Date: Thu, 7 Mar 2024 16:57:48 +0100 Subject: [PATCH 19/29] * Fix sanitizer build on 32bit time_t64 architectures. --- debian/changelog | 5 +++++ debian/patches/libsanitizer-timebits.diff | 22 ++++++++++++++++++++++ debian/patches/series | 1 + 3 files changed, 28 insertions(+) create mode 100644 debian/patches/libsanitizer-timebits.diff diff --git a/debian/changelog b/debian/changelog index d72d23f4..39ca0a9c 100644 --- a/debian/changelog +++ b/debian/changelog @@ -3,6 +3,11 @@ llvm-toolchain-16 (1:16.0.6-22) unstable; urgency=medium [ Gianfranco Costamagna ] * Disable tests on mips64el + [ Matthias Klose ] + * Make libclang-common-18-dev architecture dependent, mark profile and xray + include files as optional on armel and armhf. + * Fix sanitizer build on 32bit time_t64 architectures. + -- Gianfranco Costamagna Wed, 06 Mar 2024 08:38:53 +0100 llvm-toolchain-16 (1:16.0.6-21) unstable; urgency=medium diff --git a/debian/patches/libsanitizer-timebits.diff b/debian/patches/libsanitizer-timebits.diff new file mode 100644 index 00000000..f5ee919a --- /dev/null +++ b/debian/patches/libsanitizer-timebits.diff @@ -0,0 +1,22 @@ +# DP: Add another #undef for _TIME_BITS + +--- a/compiler-rt/lib/sanitizer_common/sanitizer_procmaps_solaris.cpp ++++ b/compiler-rt/lib/sanitizer_common/sanitizer_procmaps_solaris.cpp +@@ -11,6 +11,7 @@ + + // Before Solaris 11.4, doesn't work in a largefile environment. + #undef _FILE_OFFSET_BITS ++#undef _TIME_BITS + #include "sanitizer_platform.h" + #if SANITIZER_SOLARIS + # include +#--- a/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp +#+++ b/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp +#@@ -18,6 +18,7 @@ +# // depends on _FILE_OFFSET_BITS setting. +# // To get this "true" dirent definition, we undefine _FILE_OFFSET_BITS below. +# #undef _FILE_OFFSET_BITS +#+#undef _TIME_BITS +# #endif +# +# // Must go after undef _FILE_OFFSET_BITS. diff --git a/debian/patches/series b/debian/patches/series index d8a86985..87ae970c 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -155,3 +155,4 @@ D158066-simd-ppc64el.patch D142688-loong64.diff remove-unused-imp-module.diff +libsanitizer-timebits.diff From 518f0fa5b4fd2bbb7176f4a00a14f44190997a44 Mon Sep 17 00:00:00 2001 From: Gianfranco Costamagna Date: Sun, 10 Mar 2024 01:45:35 +0100 Subject: [PATCH 20/29] Update changelog --- debian/changelog | 2 -- 1 file changed, 2 deletions(-) diff --git a/debian/changelog b/debian/changelog index 39ca0a9c..6eae0ba1 100644 --- a/debian/changelog +++ b/debian/changelog @@ -4,8 +4,6 @@ llvm-toolchain-16 (1:16.0.6-22) unstable; urgency=medium * Disable tests on mips64el [ Matthias Klose ] - * Make libclang-common-18-dev architecture dependent, mark profile and xray - include files as optional on armel and armhf. * Fix sanitizer build on 32bit time_t64 architectures. -- Gianfranco Costamagna Wed, 06 Mar 2024 08:38:53 +0100 From 3d4b64df99fd699eb653af597553ff661f0dff1d Mon Sep 17 00:00:00 2001 From: Gianfranco Costamagna Date: Mon, 11 Mar 2024 22:49:01 +0100 Subject: [PATCH 21/29] Uncomment part of sanitizer patch, from --- debian/changelog | 7 +++++++ debian/patches/libsanitizer-timebits.diff | 20 ++++++++++---------- 2 files changed, 17 insertions(+), 10 deletions(-) diff --git a/debian/changelog b/debian/changelog index 6eae0ba1..a6098d29 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +llvm-toolchain-16 (1:16.0.6-23) unstable; urgency=medium + + [ Matthias Klose ] + * Fix sanitizer build on 32bit time_t64 architectures. + + -- Gianfranco Costamagna Mon, 11 Mar 2024 22:48:48 +0100 + llvm-toolchain-16 (1:16.0.6-22) unstable; urgency=medium [ Gianfranco Costamagna ] diff --git a/debian/patches/libsanitizer-timebits.diff b/debian/patches/libsanitizer-timebits.diff index f5ee919a..9a42afab 100644 --- a/debian/patches/libsanitizer-timebits.diff +++ b/debian/patches/libsanitizer-timebits.diff @@ -10,13 +10,13 @@ #include "sanitizer_platform.h" #if SANITIZER_SOLARIS # include -#--- a/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp -#+++ b/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp -#@@ -18,6 +18,7 @@ -# // depends on _FILE_OFFSET_BITS setting. -# // To get this "true" dirent definition, we undefine _FILE_OFFSET_BITS below. -# #undef _FILE_OFFSET_BITS -#+#undef _TIME_BITS -# #endif -# -# // Must go after undef _FILE_OFFSET_BITS. +--- a/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp ++++ b/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp +@@ -18,6 +18,7 @@ + // depends on _FILE_OFFSET_BITS setting. + // To get this "true" dirent definition, we undefine _FILE_OFFSET_BITS below. + #undef _FILE_OFFSET_BITS ++#undef _TIME_BITS + #endif + + // Must go after undef _FILE_OFFSET_BITS. From cff18adb3bd474eb4de400a0f43a1062a2b83303 Mon Sep 17 00:00:00 2001 From: Matthias Klose Date: Sat, 16 Mar 2024 22:16:18 +0100 Subject: [PATCH 22/29] * Add a stage1 profile to disable curl, grpc and spirv. * Build with --as-needed. --- debian/changelog | 8 ++++++++ debian/control | 12 ++++++------ debian/control.in | 12 ++++++------ debian/rules | 12 +++++++++--- 4 files changed, 29 insertions(+), 15 deletions(-) diff --git a/debian/changelog b/debian/changelog index a6098d29..c6f8d697 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,11 @@ +llvm-toolchain-16 (1:16.0.6-24) UNRELEASED; urgency=medium + + [ Matthias Klose ] + * Add a stage1 profile to disable curl, grpc and spirv. + * Build with --as-needed. + + -- Matthias Klose Sat, 16 Mar 2024 22:12:22 +0100 + llvm-toolchain-16 (1:16.0.6-23) unstable; urgency=medium [ Matthias Klose ] diff --git a/debian/control b/debian/control index aa8c1d5d..9a8529e1 100644 --- a/debian/control +++ b/debian/control @@ -26,13 +26,13 @@ Build-Depends: debhelper (>= 10.0), cmake, ninja-build, llvm-spirv-16 [ amd64 arm64 armel armhf i386 mips64el ppc64el riscv64 s390x ] | llvm-spirv-15 [ amd64 arm64 armel armhf i386 mips64el mipsel ppc64el riscv64 s390x ] | llvm-spirv-14 [ amd64 arm64 armel armhf i386 mips64el mipsel ppc64el riscv64 s390x ] | hello, - spirv-tools [ linux-any ] | hello [ !i386], + spirv-tools [ linux-any ] | hello [ !i386], 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] + 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 diff --git a/debian/control.in b/debian/control.in index 0cf5a2c7..07a84747 100644 --- a/debian/control.in +++ b/debian/control.in @@ -26,13 +26,13 @@ Build-Depends: debhelper (>= 10.0), cmake, ninja-build, llvm-spirv-16 [ amd64 arm64 armel armhf i386 mips64el ppc64el riscv64 s390x ] | llvm-spirv-15 [ amd64 arm64 armel armhf i386 mips64el mipsel ppc64el riscv64 s390x ] | llvm-spirv-14 [ amd64 arm64 armel armhf i386 mips64el mipsel ppc64el riscv64 s390x ] | hello, - spirv-tools [ linux-any ] | hello [ !i386], + spirv-tools [ linux-any ] | hello [ !i386], 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] + 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 diff --git a/debian/rules b/debian/rules index a437a8de..63da6d0f 100755 --- a/debian/rules +++ b/debian/rules @@ -64,7 +64,7 @@ include /usr/share/dpkg/buildflags.mk # collect additional flags for all stages all builds CFLAGS_EXTRA = -Wno-unused-command-line-argument CXXFLAGS_EXTRA = -Wno-unused-command-line-argument -LDFLAGS_EXTRA = -Wl,--build-id +LDFLAGS_EXTRA = -Wl,--build-id,--as-needed # collect all flags for stage 1 toolchain build only STAGE_1_CFLAGS = $(CFLAGS) $(CFLAGS_EXTRA) $(CPPFLAGS) @@ -137,6 +137,7 @@ STAGE_2_CMAKE_EXTRA += -DCLANG_SYSTEMZ_DEFAULT_ARCH=$(ZARCH) # clangd remote index support requires GRPC & protobuf. # Enable if minimum tested versions are available. CLANGD_GRPC_INSTALLED=no +ifeq (,$(filter stage1, $(DEB_BUILD_PROFILES))) ifeq ($(shell v=$$(dpkg-query -W -f '$${Version}' libgrpc++-dev 2>/dev/null); if [ -z "$$v" ]; then echo 1; else dpkg --compare-versions $$v gt 1.30.0; echo $$?; fi),0) ifeq ($(shell dpkg --compare-versions $(shell dpkg-query -W -f '$${Version}' protobuf-compiler-grpc) gt 1.30.0; echo $$?),0) ifeq ($(shell dpkg --compare-versions $(shell dpkg-query -W -f '$${Version}' libprotobuf-dev) gt 3.12.0; echo $$?),0) @@ -147,6 +148,7 @@ endif endif endif endif +endif export CC=gcc-$(GCC_VERSION) export CXX=g++-$(GCC_VERSION) @@ -252,6 +254,9 @@ else control_vars = '-Vdep:devlibs=libstdc++6-$(GCC_VERSION)-dev' endif +ifneq (,$(filter stage1, $(DEB_BUILD_PROFILES))) + LLVM_SPIRV_INSTALLED = no +else LLVM_SPIRV_VERSION := $(LLVM_VERSION) LLVM_SPIRV := $(shell bash -c "command -v llvm-spirv-$(LLVM_SPIRV_VERSION)" 2>/dev/null) ifndef LLVM_SPIRV @@ -273,6 +278,7 @@ else LLVM_SPIRV_INSTALLED = yes endif endif +endif LIBCLC_TARGETS_TO_BUILD=amdgcn--;amdgcn--amdhsa;amdgcn-mesa-mesa3d;r600--;nvptx--;nvptx64--;nvptx--nvidiacl;nvptx64--nvidiacl LIBCLC_LLVM_SPIRV = @@ -675,7 +681,7 @@ endif -DLLVM_INCLUDE_GO_TESTS=OFF \ -DLLVM_USE_RELATIVE_PATHS_IN_FILES=ON \ -DLLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN=ON \ - -DLLVM_ENABLE_CURL=ON \ + -DLLVM_ENABLE_CURL=$(if $(filter stage1, $(DEB_BUILD_PROFILES)),OFF,ON) \ -DLLVM_USE_RELATIVE_PATHS_IN_DEBUG_INFO=ON \ -DCLANG_PLUGIN_SUPPORT=OFF \ -DCLANG_BUILD_EXAMPLES=OFF \ @@ -727,7 +733,7 @@ endif -DBOOTSTRAP_LLVM_POLLY_LINK_INTO_TOOLS=ON \ -DBOOTSTRAP_LLVM_EXPERIMENTAL_TARGETS_TO_BUILD="M68k;Xtensa" \ -DBOOTSTRAP_LLVM_LINK_LLVM_DYLIB=ON \ - -DBOOTSTRAP_LLVM_ENABLE_CURL=ON \ + -DBOOTSTRAP_LLVM_ENABLE_CURL=$(if $(filter stage1, $(DEB_BUILD_PROFILES)),OFF,ON) \ -DBOOTSTRAP_CLANG_LINK_CLANG_DYLIB=ON \ -DBOOTSTRAP_LIBCLANG_LIBRARY_VERSION=$(SONAME_EXT) \ -DBOOTSTRAP_LIBCXX_INSTALL_EXPERIMENTAL_LIBRARY=ON \ From c9847d7ab55ed225de2dddc585591d6315bcc573 Mon Sep 17 00:00:00 2001 From: Matthias Klose Date: Sat, 16 Mar 2024 22:18:17 +0100 Subject: [PATCH 23/29] * ASan: move allocator base to avoid conflict with high-entropy ASLR for x86-64 Linux. Patch taken from LLVM 17. --- debian/changelog | 2 ++ ...7ca05ffb4f8e666878f2f6718a9fb4d686839.diff | 22 +++++++++++++++++++ debian/patches/series | 1 + 3 files changed, 25 insertions(+) create mode 100644 debian/patches/fb77ca05ffb4f8e666878f2f6718a9fb4d686839.diff diff --git a/debian/changelog b/debian/changelog index c6f8d697..7869a327 100644 --- a/debian/changelog +++ b/debian/changelog @@ -3,6 +3,8 @@ llvm-toolchain-16 (1:16.0.6-24) UNRELEASED; urgency=medium [ Matthias Klose ] * Add a stage1 profile to disable curl, grpc and spirv. * Build with --as-needed. + * ASan: move allocator base to avoid conflict with high-entropy ASLR + for x86-64 Linux. Patch taken from LLVM 17. -- Matthias Klose Sat, 16 Mar 2024 22:12:22 +0100 diff --git a/debian/patches/fb77ca05ffb4f8e666878f2f6718a9fb4d686839.diff b/debian/patches/fb77ca05ffb4f8e666878f2f6718a9fb4d686839.diff new file mode 100644 index 00000000..ff9a4ec1 --- /dev/null +++ b/debian/patches/fb77ca05ffb4f8e666878f2f6718a9fb4d686839.diff @@ -0,0 +1,22 @@ +diff --git a/compiler-rt/lib/asan/asan_allocator.h b/compiler-rt/lib/asan/asan_allocator.h +index 0b4dbf03bb9d53..6a12a6c6025283 100644 +--- a/compiler-rt/lib/asan/asan_allocator.h ++++ b/compiler-rt/lib/asan/asan_allocator.h +@@ -143,11 +143,15 @@ typedef DefaultSizeClassMap SizeClassMap; + const uptr kAllocatorSpace = ~(uptr)0; + const uptr kAllocatorSize = 0x8000000000ULL; // 500G + typedef DefaultSizeClassMap SizeClassMap; +-# else ++# elif SANITIZER_APPLE + const uptr kAllocatorSpace = 0x600000000000ULL; + const uptr kAllocatorSize = 0x40000000000ULL; // 4T. + typedef DefaultSizeClassMap SizeClassMap; +-# endif ++# else ++const uptr kAllocatorSpace = 0x500000000000ULL; ++const uptr kAllocatorSize = 0x40000000000ULL; // 4T. ++typedef DefaultSizeClassMap SizeClassMap; ++# endif + template + struct AP64 { // Allocator64 parameters. Deliberately using a short name. + static const uptr kSpaceBeg = kAllocatorSpace; diff --git a/debian/patches/series b/debian/patches/series index 87ae970c..a7d5b0ba 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -156,3 +156,4 @@ D158066-simd-ppc64el.patch D142688-loong64.diff remove-unused-imp-module.diff libsanitizer-timebits.diff +fb77ca05ffb4f8e666878f2f6718a9fb4d686839.diff From d6a9730e1583c8b6988190ebb8f4eeba228a1ab6 Mon Sep 17 00:00:00 2001 From: Sylvestre Ledru Date: Thu, 21 Mar 2024 08:34:32 +0100 Subject: [PATCH 24/29] rename the patch for something more explicit --- ...7ca05ffb4f8e666878f2f6718a9fb4d686839.diff | 22 ------------------- debian/patches/series | 2 +- 2 files changed, 1 insertion(+), 23 deletions(-) delete mode 100644 debian/patches/fb77ca05ffb4f8e666878f2f6718a9fb4d686839.diff diff --git a/debian/patches/fb77ca05ffb4f8e666878f2f6718a9fb4d686839.diff b/debian/patches/fb77ca05ffb4f8e666878f2f6718a9fb4d686839.diff deleted file mode 100644 index ff9a4ec1..00000000 --- a/debian/patches/fb77ca05ffb4f8e666878f2f6718a9fb4d686839.diff +++ /dev/null @@ -1,22 +0,0 @@ -diff --git a/compiler-rt/lib/asan/asan_allocator.h b/compiler-rt/lib/asan/asan_allocator.h -index 0b4dbf03bb9d53..6a12a6c6025283 100644 ---- a/compiler-rt/lib/asan/asan_allocator.h -+++ b/compiler-rt/lib/asan/asan_allocator.h -@@ -143,11 +143,15 @@ typedef DefaultSizeClassMap SizeClassMap; - const uptr kAllocatorSpace = ~(uptr)0; - const uptr kAllocatorSize = 0x8000000000ULL; // 500G - typedef DefaultSizeClassMap SizeClassMap; --# else -+# elif SANITIZER_APPLE - const uptr kAllocatorSpace = 0x600000000000ULL; - const uptr kAllocatorSize = 0x40000000000ULL; // 4T. - typedef DefaultSizeClassMap SizeClassMap; --# endif -+# else -+const uptr kAllocatorSpace = 0x500000000000ULL; -+const uptr kAllocatorSize = 0x40000000000ULL; // 4T. -+typedef DefaultSizeClassMap SizeClassMap; -+# endif - template - struct AP64 { // Allocator64 parameters. Deliberately using a short name. - static const uptr kSpaceBeg = kAllocatorSpace; diff --git a/debian/patches/series b/debian/patches/series index a7d5b0ba..888bad9f 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -156,4 +156,4 @@ D158066-simd-ppc64el.patch D142688-loong64.diff remove-unused-imp-module.diff libsanitizer-timebits.diff -fb77ca05ffb4f8e666878f2f6718a9fb4d686839.diff +asan-allocator.diff From 084b3b80f4afa0cf69e66ab8d411edf65f207c90 Mon Sep 17 00:00:00 2001 From: Matthias Klose Date: Sun, 14 Apr 2024 11:54:02 +0200 Subject: [PATCH 25/29] check in missing bits for 1:16.0.6-24 --- debian/changelog | 2 +- debian/patches/asan-allocator.diff | 22 ++++++++++++++++++++++ 2 files changed, 23 insertions(+), 1 deletion(-) create mode 100644 debian/patches/asan-allocator.diff diff --git a/debian/changelog b/debian/changelog index 7869a327..2276d4c4 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,4 @@ -llvm-toolchain-16 (1:16.0.6-24) UNRELEASED; urgency=medium +llvm-toolchain-16 (1:16.0.6-24) unstable; urgency=medium [ Matthias Klose ] * Add a stage1 profile to disable curl, grpc and spirv. diff --git a/debian/patches/asan-allocator.diff b/debian/patches/asan-allocator.diff new file mode 100644 index 00000000..ff9a4ec1 --- /dev/null +++ b/debian/patches/asan-allocator.diff @@ -0,0 +1,22 @@ +diff --git a/compiler-rt/lib/asan/asan_allocator.h b/compiler-rt/lib/asan/asan_allocator.h +index 0b4dbf03bb9d53..6a12a6c6025283 100644 +--- a/compiler-rt/lib/asan/asan_allocator.h ++++ b/compiler-rt/lib/asan/asan_allocator.h +@@ -143,11 +143,15 @@ typedef DefaultSizeClassMap SizeClassMap; + const uptr kAllocatorSpace = ~(uptr)0; + const uptr kAllocatorSize = 0x8000000000ULL; // 500G + typedef DefaultSizeClassMap SizeClassMap; +-# else ++# elif SANITIZER_APPLE + const uptr kAllocatorSpace = 0x600000000000ULL; + const uptr kAllocatorSize = 0x40000000000ULL; // 4T. + typedef DefaultSizeClassMap SizeClassMap; +-# endif ++# else ++const uptr kAllocatorSpace = 0x500000000000ULL; ++const uptr kAllocatorSize = 0x40000000000ULL; // 4T. ++typedef DefaultSizeClassMap SizeClassMap; ++# endif + template + struct AP64 { // Allocator64 parameters. Deliberately using a short name. + static const uptr kSpaceBeg = kAllocatorSpace; From 5a6bfc398768879999e3668548c9b2f3313a3156 Mon Sep 17 00:00:00 2001 From: Matthias Klose Date: Sun, 14 Apr 2024 11:56:56 +0200 Subject: [PATCH 26/29] * Fix libomp symbols file for t64. --- debian/changelog | 6 ++++++ debian/libomp5-X.Yt64.symbols.in | 14 +++++++------- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/debian/changelog b/debian/changelog index 2276d4c4..a0afd184 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +llvm-toolchain-16 (1:16.0.6-25) UNRELEASED; urgency=medium + + * Fix libomp symbols file for t64. + + -- Matthias Klose Sun, 14 Apr 2024 11:55:50 +0200 + llvm-toolchain-16 (1:16.0.6-24) unstable; urgency=medium [ Matthias Klose ] diff --git a/debian/libomp5-X.Yt64.symbols.in b/debian/libomp5-X.Yt64.symbols.in index 350fcf19..5bd1c053 100644 --- a/debian/libomp5-X.Yt64.symbols.in +++ b/debian/libomp5-X.Yt64.symbols.in @@ -1344,7 +1344,7 @@ libomp.so.5 libomp5-@LLVM_VERSION@t64 #MINVER# ompc_set_schedule@VERSION 0.20130412 ompt_libomp_connect@VERSION 1:16.0.2-1~ (arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el !armel !armhf)ompt_start_tool@VERSION 6.0 -libomptarget.rtl.amdgpu.nextgen.so.16 libomp5-16 #MINVER# [amd64 arm64] +libomptarget.rtl.amdgpu.nextgen.so.16 libomp5-@LLVM_VERSION@t64 #MINVER# [amd64 arm64] VERS1.0@VERS1.0 1:16.0.2-1~ __tgt_rtl_create_event@VERS1.0 1:16.0.2-1~ __tgt_rtl_data_alloc@VERS1.0 1:16.0.2-1~ @@ -1379,7 +1379,7 @@ libomptarget.rtl.amdgpu.nextgen.so.16 libomp5-16 #MINVER# [amd64 arm64] __tgt_rtl_sync_event@VERS1.0 1:16.0.2-1~ __tgt_rtl_synchronize@VERS1.0 1:16.0.2-1~ __tgt_rtl_wait_event@VERS1.0 1:16.0.2-1~ -libomptarget.rtl.amdgpu.so.16 libomp5-16 #MINVER# [amd64 arm64] +libomptarget.rtl.amdgpu.so.16 libomp5-@LLVM_VERSION@t64 #MINVER# [amd64 arm64] VERS1.0@VERS1.0 1:16.0.2-1~ __tgt_rtl_data_alloc@VERS1.0 1:16.0.2-1~ __tgt_rtl_data_delete@VERS1.0 1:16.0.2-1~ @@ -1400,7 +1400,7 @@ libomptarget.rtl.amdgpu.so.16 libomp5-16 #MINVER# [amd64 arm64] __tgt_rtl_number_of_devices@VERS1.0 1:16.0.2-1~ __tgt_rtl_print_device_info@VERS1.0 1:16.0.2-1~ __tgt_rtl_synchronize@VERS1.0 1:16.0.2-1~ -libomptarget.rtl.cuda.nextgen.so.16 libomp5-16 #MINVER# +libomptarget.rtl.cuda.nextgen.so.16 libomp5-@LLVM_VERSION@t64 #MINVER# VERS1.0@VERS1.0 1:16.0.2-1~ __tgt_rtl_create_event@VERS1.0 1:16.0.2-1~ __tgt_rtl_data_alloc@VERS1.0 1:16.0.2-1~ @@ -1435,7 +1435,7 @@ libomptarget.rtl.cuda.nextgen.so.16 libomp5-16 #MINVER# __tgt_rtl_sync_event@VERS1.0 1:16.0.2-1~ __tgt_rtl_synchronize@VERS1.0 1:16.0.2-1~ __tgt_rtl_wait_event@VERS1.0 1:16.0.2-1~ -libomptarget.rtl.cuda.so.16 libomp5-16 #MINVER# [amd64 arm64] +libomptarget.rtl.cuda.so.16 libomp5-@LLVM_VERSION@t64 #MINVER# [amd64 arm64] VERS1.0@VERS1.0 1:16.0.2-1~ __tgt_rtl_create_event@VERS1.0 1:16.0.2-1~ __tgt_rtl_data_alloc@VERS1.0 1:16.0.2-1~ @@ -1470,7 +1470,7 @@ libomptarget.rtl.cuda.so.16 libomp5-16 #MINVER# [amd64 arm64] __tgt_rtl_sync_event@VERS1.0 1:16.0.2-1~ __tgt_rtl_synchronize@VERS1.0 1:16.0.2-1~ __tgt_rtl_wait_event@VERS1.0 1:16.0.2-1~ -libomptarget.rtl.x86_64.nextgen.so.16 libomp5-16 #MINVER# [amd64 arm64] +libomptarget.rtl.x86_64.nextgen.so.16 libomp5-@LLVM_VERSION@t64 #MINVER# [amd64 arm64] VERS1.0@VERS1.0 1:16.0.2-1~ __tgt_rtl_create_event@VERS1.0 1:16.0.2-1~ __tgt_rtl_data_alloc@VERS1.0 1:16.0.2-1~ @@ -1505,7 +1505,7 @@ libomptarget.rtl.x86_64.nextgen.so.16 libomp5-16 #MINVER# [amd64 arm64] __tgt_rtl_sync_event@VERS1.0 1:16.0.2-1~ __tgt_rtl_synchronize@VERS1.0 1:16.0.2-1~ __tgt_rtl_wait_event@VERS1.0 1:16.0.2-1~ -libomptarget.rtl.x86_64.so.16 libomp5-16 #MINVER# [amd64 arm64] +libomptarget.rtl.x86_64.so.16 libomp5-@LLVM_VERSION@t64 #MINVER# [amd64 arm64] VERS1.0@VERS1.0 1:16.0.2-1~ __tgt_rtl_data_alloc@VERS1.0 1:16.0.2-1~ __tgt_rtl_data_delete@VERS1.0 1:16.0.2-1~ @@ -1517,7 +1517,7 @@ libomptarget.rtl.x86_64.so.16 libomp5-16 #MINVER# [amd64 arm64] __tgt_rtl_load_binary@VERS1.0 1:16.0.2-1~ __tgt_rtl_number_of_devices@VERS1.0 1:16.0.2-1~ __tgt_rtl_print_device_info@VERS1.0 1:16.0.2-1~ -libomptarget.so.16 libomp5-16 #MINVER# [amd64 arm64] +libomptarget.so.16 libomp5-@LLVM_VERSION@t64 #MINVER# [amd64 arm64] VERS1.0@VERS1.0 1:16.0.2-1~ __kmpc_push_target_tripcount@VERS1.0 1:16.0.2-1~ __kmpc_push_target_tripcount_mapper@VERS1.0 1:16.0.2-1~ From 8a58f6bd0e35f0d15a9d3ce02722bb2d5a01a42f Mon Sep 17 00:00:00 2001 From: Sylvestre Ledru Date: Wed, 24 Apr 2024 10:26:28 +0200 Subject: [PATCH 27/29] prepare upload --- debian/changelog | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/debian/changelog b/debian/changelog index a0afd184..4d4e2436 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,4 @@ -llvm-toolchain-16 (1:16.0.6-25) UNRELEASED; urgency=medium +llvm-toolchain-16 (1:16.0.6-25) unstable; urgency=medium * Fix libomp symbols file for t64. From b2515dbb99348d9203245bb9394b3f94a02765e2 Mon Sep 17 00:00:00 2001 From: Sylvestre Ledru Date: Thu, 25 Apr 2024 08:21:55 +0200 Subject: [PATCH 28/29] Show LDFLAGS_EXTRA when building --- debian/rules | 1 + 1 file changed, 1 insertion(+) diff --git a/debian/rules b/debian/rules index 63da6d0f..ac0f5225 100755 --- a/debian/rules +++ b/debian/rules @@ -553,6 +553,7 @@ 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 "COMPILER_RT_WASM_ENABLE=$(COMPILER_RT_WASM_ENABLE)" From bedad29d4933a9bf5188bd046541d27df5027909 Mon Sep 17 00:00:00 2001 From: Sylvestre Ledru Date: Sat, 27 Apr 2024 01:12:05 +0200 Subject: [PATCH 29/29] Disable --as-needed on armel --- debian/changelog | 6 ++++++ debian/rules | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/debian/changelog b/debian/changelog index 4d4e2436..16f0bc4a 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +llvm-toolchain-16 (1:16.0.6-26) unstable; urgency=medium + + * Disable --as-needed on armel + + -- Sylvestre Ledru Sat, 27 Apr 2024 01:12:00 +0200 + llvm-toolchain-16 (1:16.0.6-25) unstable; urgency=medium * Fix libomp symbols file for t64. diff --git a/debian/rules b/debian/rules index ac0f5225..1f77ef40 100755 --- a/debian/rules +++ b/debian/rules @@ -64,7 +64,13 @@ include /usr/share/dpkg/buildflags.mk # collect additional flags for all stages all builds CFLAGS_EXTRA = -Wno-unused-command-line-argument CXXFLAGS_EXTRA = -Wno-unused-command-line-argument + +ifeq (,$(filter $(DEB_HOST_ARCH), armel)) LDFLAGS_EXTRA = -Wl,--build-id,--as-needed +else +# fails on armel. we are getting some missing latomic +LDFLAGS_EXTRA = -Wl,--build-id +endif # collect all flags for stage 1 toolchain build only STAGE_1_CFLAGS = $(CFLAGS) $(CFLAGS_EXTRA) $(CPPFLAGS)