control: tag -1 + patch

On 2025-10-09 10:57, Matthias Klose wrote:
> Package: src:llvm-toolchain-21
> Version: 1:21.1.2-4
> Severity: important
> Tags: sid forky
> X-Debbugs-CC: [email protected]
> 
> llvm-defaults and 19 has support for OMP, but that is not available in the
> 21 package, while it looks to be supported upstream.  That will introduce a
> regression when making 21 the default.

It appears that this has already been fixed in commit 50f2349bb016 [1]. 
That said, in addition to OMP support, I added offload support upstream 
in llvm-20 [2]. On the debian packaging side, this requires to apply the 
attached patch.

Note that the extra -latomics makes the offload part to fail to build 
(also true on amd64 if forced). As it is not needed anymore, I have 
removed riscv64 from the list of architectures needing that.

Regards
Aurelien

-- 
Aurelien Jarno                          GPG: 4096R/1DDD8C9B
[email protected]                     http://aurel32.net
diff --git a/debian/control b/debian/control
index 3d947ad6..6c15e232 100644
--- a/debian/control
+++ b/debian/control
@@ -694,7 +694,7 @@ Description: LLVM OpenMP runtime - Documentation
 Package: liboffload-21-dev
 Build-Profiles: <!pkg.llvm.noclang>
 Section: libdevel
-Architecture: amd64 arm64 loong64 ppc64el
+Architecture: amd64 arm64 loong64 ppc64el riscv64
 Depends: liboffload-21 (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends}
 Provides: liboffload-x.y-dev
 Breaks: libomp5 (<< 1:21.1.4-5)
@@ -710,7 +710,7 @@ Description: Offload Library - Development Package
 
 Package: liboffload-21
 Build-Profiles: <!pkg.llvm.noclang>
-Architecture: amd64 arm64 loong64 ppc64el
+Architecture: amd64 arm64 loong64 ppc64el riscv64
 Depends: ${shlibs:Depends}, ${misc:Depends}
 Provides: liboffload-x.y
 Conflicts: liboffload-x.y
diff --git a/debian/liboffload-X.Y.install.in b/debian/liboffload-X.Y.install.in
index c5bfd8cb..5a5df7ae 100755
--- a/debian/liboffload-X.Y.install.in
+++ b/debian/liboffload-X.Y.install.in
@@ -2,5 +2,5 @@
 
 @LLVM_LIBDIR@/libLLVMOffload.so.@[email protected]
 
-# OFFLOAD_ARCHS + mips64el and riscv64, but why?
-[@OFFLOAD_ARCHS@ mips64el riscv64] @LLVM_LIBDIR@/libomptarget*.so.@LLVM_VERSION@.@LLVM_VERSION_MINOR@
+# OFFLOAD_ARCHS + mips64el, but why?
+[@OFFLOAD_ARCHS@ mips64el] @LLVM_LIBDIR@/libomptarget*.so.@LLVM_VERSION@.@LLVM_VERSION_MINOR@
diff --git a/debian/rules b/debian/rules
index ed25533b..9eb09491 100755
--- a/debian/rules
+++ b/debian/rules
@@ -322,9 +322,9 @@ ifneq (,$(filter $(DEB_HOST_ARCH),sparc sparc64))
 STAGE_1_CMAKE_EXTRA += -DLLVM_PARALLEL_LINK_JOBS=4
 endif
 
-ifneq (,$(filter $(DEB_HOST_ARCH),i386 hurd-i386 armel mipsel mips64el powerpc riscv64))
+ifneq (,$(filter $(DEB_HOST_ARCH),i386 hurd-i386 armel mipsel mips64el powerpc))
 # For some reason, in the stage2 build, when clang is used to compile
-# itself. The atomic detection is failing on armel and riscv64. Forcing the inclusion
+# itself. The atomic detection is failing on armel. Forcing the inclusion
 # everywhere and in all stages
 LDFLAGS_EXTRA += -latomic
 endif
@@ -641,7 +641,7 @@ ifeq ($(SKIP_COMMON_PACKAGES),yes)
 endif
 
 # Enable offloading (or not)
-OFFLOAD_ARCHS = amd64 arm64 loong64 ppc64el
+OFFLOAD_ARCHS = amd64 arm64 loong64 ppc64el riscv64
 OFFLOAD_ENABLE=yes
 ifeq (,$(filter $(DEB_HOST_ARCH), $(OFFLOAD_ARCHS)))
   OFFLOAD_ENABLE=no

Reply via email to