Source: fftw3
Severity: important
Version: 3.3.10-1
X-Debbugs-CC: [email protected] [email protected]

Dear Debian fftw3 package maintainers,

According to https://wiki.debian.org/ArchitectureSpecificsMemo#armhf , NEON 
instructions
are not guaranteed on armhf platform. However, your debian/rules explicitly 
enabled NEON
support in armhf build. This should be a violation to architecture baseline.

Please consider fixing this issue. Ubuntu is providing an example patch for it, 
and it
can be used as a reference (patch attached).

Thanks,
Boyuan Yang
diff -pruN 3.3.10-1/debian/changelog 3.3.10-1ubuntu1/debian/changelog
--- 3.3.10-1/debian/changelog	2022-11-30 16:40:47.000000000 +0000
+++ 3.3.10-1ubuntu1/debian/changelog	2023-02-08 21:34:53.000000000 +0000
@@ -1,3 +1,12 @@
+fftw3 (3.3.10-1ubuntu1) lunar; urgency=medium
+
+  * Sync with Debian. Remaining changes:
+    - Disable neon for armhf single precision builds to avoid crashes
+      (LP: #1843733)
+    - Skip 'build' autopkgtest on i386
+
+ -- Jeremy Bicha <[email protected]>  Wed, 08 Feb 2023 16:34:53 -0500
+
 fftw3 (3.3.10-1) unstable; urgency=medium
 
   * Team upload.
diff -pruN 3.3.10-1/debian/control 3.3.10-1ubuntu1/debian/control
--- 3.3.10-1/debian/control	2022-11-30 16:40:47.000000000 +0000
+++ 3.3.10-1ubuntu1/debian/control	2023-02-08 21:34:53.000000000 +0000
@@ -1,5 +1,6 @@
 Source: fftw3
-Maintainer: Debian Science Maintainers <[email protected]>
+Maintainer: Ubuntu Developers <[email protected]>
+XSBC-Original-Maintainer: Debian Science Maintainers <[email protected]>
 Uploaders: Paul Brossier <[email protected]>,
            Julian Taylor <[email protected]>
 Section: libs
diff -pruN 3.3.10-1/debian/rules 3.3.10-1ubuntu1/debian/rules
--- 3.3.10-1/debian/rules	2022-11-30 16:40:47.000000000 +0000
+++ 3.3.10-1ubuntu1/debian/rules	2023-02-08 21:34:53.000000000 +0000
@@ -48,7 +48,10 @@ endif
 ifeq ($(DEB_HOST_ARCH), powerpc)
 	archconfflags_single := --enable-altivec
 endif
-ifneq (,$(filter $(DEB_HOST_ARCH), armhf arm64))
+ifneq (,$(filter $(ARCHITECTURE), armhf))
+	archconfflags_single := --with-slow-timer
+endif
+ifneq (,$(filter $(DEB_HOST_ARCH), arm64))
 	archconfflags_single := --enable-neon --with-slow-timer
 endif
 endif
diff -pruN 3.3.10-1/debian/tests/build 3.3.10-1ubuntu1/debian/tests/build
--- 3.3.10-1/debian/tests/build	2022-11-30 16:40:47.000000000 +0000
+++ 3.3.10-1ubuntu1/debian/tests/build	2023-02-08 21:34:53.000000000 +0000
@@ -1,6 +1,11 @@
 #!/bin/bash
 set -efu
 
+# do not test crosscompilation, we only natively build libfftw3
+if dpkg-query -W libfftw3-dev:i386 2>&1; then
+  exit 77
+fi
+
 cd $AUTOPKGTEST_TMP
 
 # only float and double are available on all platforms
@@ -46,11 +51,11 @@ int main(int argc, const char *argv[])
 EOF
 
 echo "smoke testing double library"
-gcc -std=c99 double.c -DPRECISION="1e-15" -lfftw3
+gcc -std=c99 double.c -DPRECISION="1e-15" -lfftw3 || i686-linux-gnu-gcc -std=c99 double.c -DPRECISION="1e-15" -lfftw3
 ./a.out
 
 sed -e "s/double/float/g" -e "s/fftw_/fftwf_/g" double.c > float.c
 echo "smoke testing float library"
-gcc -std=c99 float.c  -DPRECISION="1e-6" -lfftw3f
+gcc -std=c99 float.c  -DPRECISION="1e-6" -lfftw3f || i686-linux-gnu-gcc -std=c99 float.c  -DPRECISION="1e-6" -lfftw3f
 ./a.out
 
diff -pruN 3.3.10-1/debian/tests/control 3.3.10-1ubuntu1/debian/tests/control
--- 3.3.10-1/debian/tests/control	2022-11-30 16:40:47.000000000 +0000
+++ 3.3.10-1ubuntu1/debian/tests/control	2023-02-08 21:34:53.000000000 +0000
@@ -3,3 +3,4 @@ Depends: libfftw3-bin
 
 Tests: build
 Depends: build-essential, libfftw3-dev
+Restrictions: skippable

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to