From 1bbc19cbfb66b4a05dd1b34ec02931f8975eef63 Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Tue, 10 Sep 2024 00:57:59 +0200 Subject: [PATCH 1/2] =?UTF-8?q?patches/hurd/hurd-f=5Ftype.diff:=20Fix=20hu?= =?UTF-8?q?rd=20build=20against=20glibc=20=E2=89=A5=202.39?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- debian/changelog | 3 +++ debian/patches/hurd/hurd-f_type.diff | 27 +++++++++++++++++++++++++++ debian/patches/series | 1 + 3 files changed, 31 insertions(+) create mode 100644 debian/patches/hurd/hurd-f_type.diff diff --git a/debian/changelog b/debian/changelog index 2eea3da5..724a99c4 100644 --- a/debian/changelog +++ b/debian/changelog @@ -11,6 +11,9 @@ llvm-toolchain-19 (1:19.1.0-5) UNRELEASED; urgency=medium [ Matthias Klose ] * Update watch file and add .git* files to exclude in the tarball. + [ Samuel Thibault ] + * patches/hurd/hurd-f_type.diff: Fix hurd build against glibc ≥ 2.39. + -- Matthias Klose Wed, 02 Oct 2024 06:08:02 +0200 llvm-toolchain-19 (1:19.1.0-4) unstable; urgency=medium diff --git a/debian/patches/hurd/hurd-f_type.diff b/debian/patches/hurd/hurd-f_type.diff new file mode 100644 index 00000000..f73077af --- /dev/null +++ b/debian/patches/hurd/hurd-f_type.diff @@ -0,0 +1,27 @@ +https://github.com/llvm/llvm-project/pull/71851 + +commit 620b8d994b8abdcf31271d9f4db7e7422fc9bd65 +Author: Samuel Thibault +Date: Mon Sep 9 15:53:33 2024 +0200 + + [hurd] Fix accessing f_type field of statvfs (#71851) + + f4719c4d2cda ("Add support for GNU Hurd in Path.inc and other places") + made llvm use an internal __f_type name for the f_type field (which it + is not supposed to since accessing double-underscore names is explicitly + not supported by standards). In glibc 2.39 this field was renamed to + f_type so application can now access the field as the standard says. + +diff --git a/llvm/lib/Support/Unix/Path.inc b/llvm/lib/Support/Unix/Path.inc +index 8098392a7fd9..44097bad7b46 100644 +--- a/llvm/lib/Support/Unix/Path.inc ++++ b/llvm/lib/Support/Unix/Path.inc +@@ -487,7 +487,7 @@ static bool is_local_impl(struct STATVFS &Vfs) { + #ifndef CIFS_MAGIC_NUMBER + #define CIFS_MAGIC_NUMBER 0xFF534D42 + #endif +-#ifdef __GNU__ ++#if defined(__GNU__) && ((__GLIBC__ < 2) || ((__GLIBC__ == 2) && (__GLIBC_MINOR__ < 39))) + switch ((uint32_t)Vfs.__f_type) { + #else + switch ((uint32_t)Vfs.f_type) { diff --git a/debian/patches/series b/debian/patches/series index 6d0bbe62..181f57a6 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -90,6 +90,7 @@ remove-apple-clang-manpage.diff # Hurd port hurd/hurd-pathmax.diff +hurd/hurd-f_type.diff 930008-arm.diff bootstrap-fix-include-next.diff From ba7106599f401605ffe5a3954e54a4cd61edcf12 Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Wed, 31 Jul 2024 10:35:57 +0200 Subject: [PATCH 2/2] Fix hurd-amd64 support --- debian/changelog | 6 +++++- debian/libomp-X.Y-dev.install.in | 14 +++++++------- debian/libomp5-X.Y.install.in | 2 +- debian/libomp5-X.Y.symbols.in | 2 +- 4 files changed, 14 insertions(+), 10 deletions(-) diff --git a/debian/changelog b/debian/changelog index 724a99c4..8631ca71 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,4 @@ -llvm-toolchain-19 (1:19.1.0-5) UNRELEASED; urgency=medium +llvm-toolchain-19 (1:19.1.0-5) unstable; urgency=medium [ Sylvestre Ledru ] * Don't enable intel-pt on Ubuntu Bionic @@ -13,6 +13,10 @@ llvm-toolchain-19 (1:19.1.0-5) UNRELEASED; urgency=medium [ Samuel Thibault ] * patches/hurd/hurd-f_type.diff: Fix hurd build against glibc ≥ 2.39. + * libomp-X.Y-dev.install.in: Don't try to ship ompd gdb plugin on + hurd-amd64 ; ship libomptarget. + * libomp5-X.Y.install.in: Ship libomptarget. + * libomp5-X.Y.symbols.in: Fix symbols on hurd-any. -- Matthias Klose Wed, 02 Oct 2024 06:08:02 +0200 diff --git a/debian/libomp-X.Y-dev.install.in b/debian/libomp-X.Y-dev.install.in index ff72a7d7..2171a9f2 100644 --- a/debian/libomp-X.Y-dev.install.in +++ b/debian/libomp-X.Y-dev.install.in @@ -7,16 +7,16 @@ [!armhf !mips64el] /usr/lib/llvm-@LLVM_VERSION@/lib/libarcher_static.a [!armhf !mips64el] /usr/lib/llvm-@LLVM_VERSION@/lib/libarcher.so -[amd64 ppc64el arm64 loong64 mips64el ppc64 riscv64] /usr/lib/llvm-@LLVM_VERSION@/lib/libomptarget.devicertl.a +[amd64 hurd-amd64 ppc64el arm64 loong64 mips64el ppc64 riscv64] /usr/lib/llvm-@LLVM_VERSION@/lib/libomptarget.devicertl.a -[amd64 ppc64el arm64 loong64 mips64el ppc64 riscv64] /usr/lib/llvm-@LLVM_VERSION@/lib/libomptarget-*.bc +[amd64 hurd-amd64 ppc64el arm64 loong64 mips64el ppc64 riscv64] /usr/lib/llvm-@LLVM_VERSION@/lib/libomptarget-*.bc usr/lib/llvm-@LLVM_VERSION@/lib/cmake/openmp/*.cmake -[amd64 arm64 loong64 mips64el ppc64el ppc64 riscv64] usr/lib/llvm-@LLVM_VERSION@/bin/llvm-omp-device-info -[amd64 arm64 loong64 mips64el ppc64el ppc64 riscv64] usr/lib/llvm-@LLVM_VERSION@/bin/llvm-omp-kernel-replay +[amd64 hurd-amd64 arm64 loong64 mips64el ppc64el ppc64 riscv64] usr/lib/llvm-@LLVM_VERSION@/bin/llvm-omp-device-info +[amd64 hurd-amd64 arm64 loong64 mips64el ppc64el ppc64 riscv64] usr/lib/llvm-@LLVM_VERSION@/bin/llvm-omp-kernel-replay -[amd64 arm64 loong64 mips64el ppc64el ppc64 riscv64] usr/bin/llvm-omp-device-info-@LLVM_VERSION@ -[amd64 arm64 loong64 mips64el ppc64el ppc64 riscv64] usr/bin/llvm-omp-kernel-replay-@LLVM_VERSION@ +[amd64 hurd-amd64 arm64 loong64 mips64el ppc64el ppc64 riscv64] usr/bin/llvm-omp-device-info-@LLVM_VERSION@ +[amd64 hurd-amd64 arm64 loong64 mips64el ppc64el ppc64 riscv64] usr/bin/llvm-omp-kernel-replay-@LLVM_VERSION@ -[!armhf] usr/lib/llvm-@LLVM_VERSION@/share/gdb/python/ompd/ +[!armhf !hurd-amd64] usr/lib/llvm-@LLVM_VERSION@/share/gdb/python/ompd/ diff --git a/debian/libomp5-X.Y.install.in b/debian/libomp5-X.Y.install.in index ca0c38ca..d939820a 100644 --- a/debian/libomp5-X.Y.install.in +++ b/debian/libomp5-X.Y.install.in @@ -1,5 +1,5 @@ #!/usr/bin/dh-exec usr/lib/llvm-@LLVM_VERSION@/lib/libomp*.so.5 -[amd64 arm64 mips64el ppc64el ppc64 riscv64 loong64] usr/lib/llvm-@LLVM_VERSION@/lib/libomptarget*.so.@LLVM_VERSION@.@LLVM_VERSION_MINOR@ +[amd64 hurd-amd64 arm64 mips64el ppc64el ppc64 riscv64 loong64] usr/lib/llvm-@LLVM_VERSION@/lib/libomptarget*.so.@LLVM_VERSION@.@LLVM_VERSION_MINOR@ diff --git a/debian/libomp5-X.Y.symbols.in b/debian/libomp5-X.Y.symbols.in index 25ac2195..258fb40d 100644 --- a/debian/libomp5-X.Y.symbols.in +++ b/debian/libomp5-X.Y.symbols.in @@ -1008,7 +1008,7 @@ libomp.so.5 libomp5-@LLVM_VERSION@ #MINVER# kmp_set_stacksize_@VERSION 0.20130412 kmp_set_stacksize_s@VERSION 0.20130412 kmp_set_stacksize_s_@VERSION 0.20130412 - (arch=!ppc64 !ppc64el)kmp_set_thread_affinity_mask_initial@VERSION 3.8.0 + (arch=!ppc64 !ppc64el !hurd-any)kmp_set_thread_affinity_mask_initial@VERSION 3.8.0 kmp_set_warnings_off@VERSION 0.20130412 kmp_set_warnings_off_@VERSION 0.20130412 kmp_set_warnings_on@VERSION 0.20130412