[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#984057: infinipath-psm: diff for NMU version 3.3+20.604758e7-6.2 (was: Bug#984057: infinipath-psm: ftbfs with GCC-11)



Control: tags 984057 + patch pending

Christoph Biedl wrote...

> After staring at this for a while I think upstream did some creepy
> things gcc is understandably
                             un
>                              happy, but overall this code in sysdep.h
> 
> | static __inline__ uint32_t ips_cmpxchg(volatile uint32_t *ptr,
> | 				       uint32_t old, uint32_t new)
> | {
> |     uint32_t prev;
> |     struct xchg_dummy { uint32_t a[100]; };
> | 
> |     asm volatile(LOCK_PREFIX "cmpxchgl %1,%2"
> | 		 : "=a"(prev)
> | 		 : "q"(new), "m"(*(struct xchg_dummy *)ptr), "0"(old)
> | 		 : "memory");
> | 
> |     return prev;
> | }
> 
> is okay-ish. And so, unless someone finds a saner way (I guess it's
> replacing the 100 with a better value, possibly architecture-dependent),
> I'd just disable the warning, patch attached, makes the build pass.

After some more discussion on this here at the Karlsruhe BSP, also
playing with godbolt, we figured this is indeed rather an overcautious
gcc warning, and muting it should not do harm.


So here we go:

to fix the issues with this package, I've prepared an NMU for
infinipath-psm (versioned as 3.3+20.604758e7-6.2), debdiff below. An
upload to DELAYED/5 will follow shortly. Please feel free to tell me if
I should delay it longer.

Regards,

    Christoph
diff -Nru infinipath-psm-3.3+20.604758e7/debian/changelog infinipath-psm-3.3+20.604758e7/debian/changelog
--- infinipath-psm-3.3+20.604758e7/debian/changelog	2021-01-03 08:42:58.000000000 +0100
+++ infinipath-psm-3.3+20.604758e7/debian/changelog	2022-10-16 13:18:17.000000000 +0200
@@ -1,3 +1,10 @@
+infinipath-psm (3.3+20.604758e7-6.2) unstable; urgency=medium
+
+  * Non-maintainer upload
+  * Work around FTBFS with gcc-12. Closes: #984057
+
+ -- Christoph Biedl <debian.axhn@manchmal.in-ulm.de>  Sun, 16 Oct 2022 13:18:17 +0200
+
 infinipath-psm (3.3+20.604758e7-6.1) unstable; urgency=medium
 
   * Non-maintainer upload.
diff -Nru infinipath-psm-3.3+20.604758e7/debian/patches/0004-gcc-11-warning.patch infinipath-psm-3.3+20.604758e7/debian/patches/0004-gcc-11-warning.patch
--- infinipath-psm-3.3+20.604758e7/debian/patches/0004-gcc-11-warning.patch	1970-01-01 01:00:00.000000000 +0100
+++ infinipath-psm-3.3+20.604758e7/debian/patches/0004-gcc-11-warning.patch	2022-10-16 13:18:17.000000000 +0200
@@ -0,0 +1,22 @@
+Description: Disable warning in the cmpxchgl wrapper
+Author: Christoph Biedl <debian.axhn@manchmal.in-ulm.de> 
+Origin: no # upstream is dead
+Bug-Debian: https://bugs.debian.org/984057
+Last-Update: 2022-10-16
+
+--- a/include/linux-i386/sysdep.h
++++ b/include/linux-i386/sysdep.h
+@@ -106,10 +106,13 @@
+     uint32_t prev;
+     struct xchg_dummy { uint32_t a[100]; };
+ 
++#pragma GCC diagnostic push
++#pragma GCC diagnostic ignored "-Warray-bounds"
+     asm volatile(LOCK_PREFIX "cmpxchgl %1,%2"
+ 		 : "=a"(prev)
+ 		 : "q"(new), "m"(*(struct xchg_dummy *)ptr), "0"(old)
+ 		 : "memory");
++#pragma GCC diagnostic pop
+ 
+     return prev;
+ }
diff -Nru infinipath-psm-3.3+20.604758e7/debian/patches/series infinipath-psm-3.3+20.604758e7/debian/patches/series
--- infinipath-psm-3.3+20.604758e7/debian/patches/series	2021-01-03 08:42:58.000000000 +0100
+++ infinipath-psm-3.3+20.604758e7/debian/patches/series	2022-10-16 13:18:17.000000000 +0200
@@ -1,3 +1,4 @@
 0001-Fix-truncation-warnings-with-gcc7.patch
 0002-Include-sys-sysmacros.h-to-avoid-warning-about-minor.patch
 0003-gcc8.patch
+0004-gcc-11-warning.patch

Attachment: signature.asc
Description: PGP signature


Reply to: