[1/2] package/qemu: fix disabling fp-bench test compilation

Message ID 20240501120050.670109-1-dario.binacchi@amarulasolutions.com
State New
Headers show
Series
  • [1/2] package/qemu: fix disabling fp-bench test compilation
Related show

Commit Message

Dario Binacchi May 1, 2024, noon UTC
With the bump to version 8.1.1, the patch that disabled the compilation
of the fp-bench test is no longer applicable, even though the package
compilation process does not report any errors in applying the patch
itself. The new patch does not disable the test by default but only if
the file fenv.h is not missing, with the hope that this approach will be
considered acceptable by the maintainer and merged upstream.

The patch is an adaptation of the one sent upstream.

Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
---
 .checkpackageignore                           |  2 +-
 ...fp-disable-fp-bench-build-by-default.patch | 28 -----------
 ...on-t-build-fp-bench-test-if-fenv.h-i.patch | 49 +++++++++++++++++++
 3 files changed, 50 insertions(+), 29 deletions(-)
 delete mode 100644 package/qemu/0001-tests-fp-disable-fp-bench-build-by-default.patch
 create mode 100644 package/qemu/0001-tests-fp-meson-don-t-build-fp-bench-test-if-fenv.h-i.patch

Comments

Romain Naour May 1, 2024, 8:28 p.m. UTC | #1
Hello Dario, All,

Le 01/05/2024 à 14:00, Dario Binacchi a écrit :
> With the bump to version 8.1.1, the patch that disabled the compilation
> of the fp-bench test is no longer applicable, even though the package
> compilation process does not report any errors in applying the patch
> itself. The new patch does not disable the test by default but only if
> the file fenv.h is not missing, with the hope that this approach will be
> considered acceptable by the maintainer and merged upstream.
> 
> The patch is an adaptation of the one sent upstream.

Thanks for sending it upstream.

> 
> Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
> ---
>  .checkpackageignore                           |  2 +-
>  ...fp-disable-fp-bench-build-by-default.patch | 28 -----------
>  ...on-t-build-fp-bench-test-if-fenv.h-i.patch | 49 +++++++++++++++++++
>  3 files changed, 50 insertions(+), 29 deletions(-)
>  delete mode 100644 package/qemu/0001-tests-fp-disable-fp-bench-build-by-default.patch
>  create mode 100644 package/qemu/0001-tests-fp-meson-don-t-build-fp-bench-test-if-fenv.h-i.patch
> 
> diff --git a/.checkpackageignore b/.checkpackageignore
> index 1b336ce7a3ee..c16e17cc35e4 100644
> --- a/.checkpackageignore
> +++ b/.checkpackageignore
> @@ -1073,7 +1073,7 @@ package/python3/0028-fix-building-on-older-distributions.patch lib_patch.Upstrea
>  package/python3/0029-configure.ac-fixup-CC-print-multiarch-output-for-mus.patch lib_patch.Upstream
>  package/python3/0030-Add-an-option-to-disable-the-berkeleydb-module.patch lib_patch.Upstream
>  package/python3/0031-lib-crypt-uClibc-ng-doesn-t-set-errno-when-encryptio.patch lib_patch.Upstream
> -package/qemu/0001-tests-fp-disable-fp-bench-build-by-default.patch lib_patch.Upstream
> +package/qemu/0001-tests-fp-meson-don-t-build-fp-bench-test-if-fenv.h-i.patch lib_patch.Upstream

We want to remove .checkpackageignore file.
All patches listed here are not yet using "Upstream:" tag.

See:
https://nightly.buildroot.org/manual.html#_additional_patch_documentation

>  package/qemu/0002-softmmu-qemu-seccomp.c-add-missing-header-for-CLONE_.patch lib_patch.Upstream
>  package/qextserialport/0001-Create-a-main-include-file-QExtSerialPort.patch lib_patch.Upstream
>  package/qextserialport/0002-Tell-qmake-to-add-a-pkgconfig-file-to-ease-usage-wit.patch lib_patch.Upstream
> diff --git a/package/qemu/0001-tests-fp-disable-fp-bench-build-by-default.patch b/package/qemu/0001-tests-fp-disable-fp-bench-build-by-default.patch
> deleted file mode 100644
> index fb7a9a69897b..000000000000
> --- a/package/qemu/0001-tests-fp-disable-fp-bench-build-by-default.patch
> +++ /dev/null
> @@ -1,28 +0,0 @@
> -From 83d976d6d7f0357659d5daa0f01c52048a609e88 Mon Sep 17 00:00:00 2001
> -From: Romain Naour <romain.naour@gmail.com>
> -Date: Wed, 25 Aug 2021 21:55:53 +0200
> -Subject: [PATCH] tests/fp: disable fp-bench build by default
> -
> -Fixes:
> -https://lists.nongnu.org/archive/html/qemu-devel/2021-03/msg00947.html
> -
> -Signed-off-by: Romain Naour <romain.naour@gmail.com>
> ----
> - tests/fp/meson.build | 1 +
> - 1 file changed, 1 insertion(+)
> -
> -diff --git a/tests/fp/meson.build b/tests/fp/meson.build
> -index 8bd0979f67..2fe019d2c6 100644
> ---- a/tests/fp/meson.build
> -+++ b/tests/fp/meson.build
> -@@ -640,6 +640,7 @@ fpbench = executable(
> -   dependencies: [qemuutil],
> -   include_directories: [sfinc, include_directories(tfdir)],
> -   c_args: fpcflags,
> -+  build_by_default: false,
> - )
> - 
> - fptestlog2 = executable(
> --- 
> -2.35.1
> -
> diff --git a/package/qemu/0001-tests-fp-meson-don-t-build-fp-bench-test-if-fenv.h-i.patch b/package/qemu/0001-tests-fp-meson-don-t-build-fp-bench-test-if-fenv.h-i.patch
> new file mode 100644
> index 000000000000..836754ba231a
> --- /dev/null
> +++ b/package/qemu/0001-tests-fp-meson-don-t-build-fp-bench-test-if-fenv.h-i.patch
> @@ -0,0 +1,49 @@
> +From b4a692f46135af1011bf0adbfeb19abf354ca191 Mon Sep 17 00:00:00 2001
> +From: Dario Binacchi <dario.binacchi@amarulasolutions.com>
> +Date: Tue, 30 Apr 2024 09:40:55 +0200
> +Subject: [PATCH] tests/fp/meson: don't build fp-bench test if fenv.h is
> + missing
> +
> +The fp-bench test (i. e. tests/fp/fp-bench.c) use fenv.h that is not
> +always provided by the libc (uClibc). The patch disables its compilation
> +in case the header is not available.
> +
> +The patch is based on a suggestion from Paolo Bonzini, which you can
> +find at the following link.
> +
> +Link: https://lists.nongnu.org/archive/html/qemu-devel/2021-03/msg00492.html
> +Suggested-by: Paolo Bonzini <pbonzini@redhat.com>
> +Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
> +[Upstream status: https://patchwork.ozlabs.org/project/qemu-devel/patch/20240430164752.645521-1-dario.binacchi@amarulasolutions.com/]

Please, use "Upstream:" tag instead (without [...])

Upstream:
https://patchwork.ozlabs.org/project/qemu-devel/patch/20240430164752.645521-1-dario.binacchi@amarulasolutions.com/

Best regards,
Romain


> +---
> + tests/fp/meson.build | 14 ++++++++------
> + 1 file changed, 8 insertions(+), 6 deletions(-)
> +
> +diff --git a/tests/fp/meson.build b/tests/fp/meson.build
> +index cbc17392d678..cd052667e940 100644
> +--- a/tests/fp/meson.build
> ++++ b/tests/fp/meson.build
> +@@ -126,12 +126,14 @@ test('fp-test-mulAdd', fptest,
> +            ['f16_mulAdd', 'f32_mulAdd', 'f64_mulAdd', 'f128_mulAdd'],
> +      suite: ['softfloat-slow', 'softfloat-ops-slow', 'slow'], timeout: 90)
> + 
> +-executable(
> +-  'fp-bench',
> +-  ['fp-bench.c', '../../fpu/softfloat.c'],
> +-  dependencies: [qemuutil, libtestfloat, libsoftfloat],
> +-  c_args: fpcflags,
> +-)
> ++if cc.has_header('fenv.h')
> ++  executable(
> ++    'fp-bench',
> ++    ['fp-bench.c', '../../fpu/softfloat.c'],
> ++    dependencies: [qemuutil, libtestfloat, libsoftfloat],
> ++    c_args: fpcflags,
> ++  )
> ++endif
> + 
> + fptestlog2 = executable(
> +   'fp-test-log2',
> +-- 
> +2.43.0
> +

To unsubscribe from this group and stop receiving emails from it, send an email to linux-amarula+unsubscribe@amarulasolutions.com.

Patch

diff --git a/.checkpackageignore b/.checkpackageignore
index 1b336ce7a3ee..c16e17cc35e4 100644
--- a/.checkpackageignore
+++ b/.checkpackageignore
@@ -1073,7 +1073,7 @@  package/python3/0028-fix-building-on-older-distributions.patch lib_patch.Upstrea
 package/python3/0029-configure.ac-fixup-CC-print-multiarch-output-for-mus.patch lib_patch.Upstream
 package/python3/0030-Add-an-option-to-disable-the-berkeleydb-module.patch lib_patch.Upstream
 package/python3/0031-lib-crypt-uClibc-ng-doesn-t-set-errno-when-encryptio.patch lib_patch.Upstream
-package/qemu/0001-tests-fp-disable-fp-bench-build-by-default.patch lib_patch.Upstream
+package/qemu/0001-tests-fp-meson-don-t-build-fp-bench-test-if-fenv.h-i.patch lib_patch.Upstream
 package/qemu/0002-softmmu-qemu-seccomp.c-add-missing-header-for-CLONE_.patch lib_patch.Upstream
 package/qextserialport/0001-Create-a-main-include-file-QExtSerialPort.patch lib_patch.Upstream
 package/qextserialport/0002-Tell-qmake-to-add-a-pkgconfig-file-to-ease-usage-wit.patch lib_patch.Upstream
diff --git a/package/qemu/0001-tests-fp-disable-fp-bench-build-by-default.patch b/package/qemu/0001-tests-fp-disable-fp-bench-build-by-default.patch
deleted file mode 100644
index fb7a9a69897b..000000000000
--- a/package/qemu/0001-tests-fp-disable-fp-bench-build-by-default.patch
+++ /dev/null
@@ -1,28 +0,0 @@ 
-From 83d976d6d7f0357659d5daa0f01c52048a609e88 Mon Sep 17 00:00:00 2001
-From: Romain Naour <romain.naour@gmail.com>
-Date: Wed, 25 Aug 2021 21:55:53 +0200
-Subject: [PATCH] tests/fp: disable fp-bench build by default
-
-Fixes:
-https://lists.nongnu.org/archive/html/qemu-devel/2021-03/msg00947.html
-
-Signed-off-by: Romain Naour <romain.naour@gmail.com>
----
- tests/fp/meson.build | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/tests/fp/meson.build b/tests/fp/meson.build
-index 8bd0979f67..2fe019d2c6 100644
---- a/tests/fp/meson.build
-+++ b/tests/fp/meson.build
-@@ -640,6 +640,7 @@ fpbench = executable(
-   dependencies: [qemuutil],
-   include_directories: [sfinc, include_directories(tfdir)],
-   c_args: fpcflags,
-+  build_by_default: false,
- )
- 
- fptestlog2 = executable(
--- 
-2.35.1
-
diff --git a/package/qemu/0001-tests-fp-meson-don-t-build-fp-bench-test-if-fenv.h-i.patch b/package/qemu/0001-tests-fp-meson-don-t-build-fp-bench-test-if-fenv.h-i.patch
new file mode 100644
index 000000000000..836754ba231a
--- /dev/null
+++ b/package/qemu/0001-tests-fp-meson-don-t-build-fp-bench-test-if-fenv.h-i.patch
@@ -0,0 +1,49 @@ 
+From b4a692f46135af1011bf0adbfeb19abf354ca191 Mon Sep 17 00:00:00 2001
+From: Dario Binacchi <dario.binacchi@amarulasolutions.com>
+Date: Tue, 30 Apr 2024 09:40:55 +0200
+Subject: [PATCH] tests/fp/meson: don't build fp-bench test if fenv.h is
+ missing
+
+The fp-bench test (i. e. tests/fp/fp-bench.c) use fenv.h that is not
+always provided by the libc (uClibc). The patch disables its compilation
+in case the header is not available.
+
+The patch is based on a suggestion from Paolo Bonzini, which you can
+find at the following link.
+
+Link: https://lists.nongnu.org/archive/html/qemu-devel/2021-03/msg00492.html
+Suggested-by: Paolo Bonzini <pbonzini@redhat.com>
+Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
+[Upstream status: https://patchwork.ozlabs.org/project/qemu-devel/patch/20240430164752.645521-1-dario.binacchi@amarulasolutions.com/]
+---
+ tests/fp/meson.build | 14 ++++++++------
+ 1 file changed, 8 insertions(+), 6 deletions(-)
+
+diff --git a/tests/fp/meson.build b/tests/fp/meson.build
+index cbc17392d678..cd052667e940 100644
+--- a/tests/fp/meson.build
++++ b/tests/fp/meson.build
+@@ -126,12 +126,14 @@ test('fp-test-mulAdd', fptest,
+            ['f16_mulAdd', 'f32_mulAdd', 'f64_mulAdd', 'f128_mulAdd'],
+      suite: ['softfloat-slow', 'softfloat-ops-slow', 'slow'], timeout: 90)
+ 
+-executable(
+-  'fp-bench',
+-  ['fp-bench.c', '../../fpu/softfloat.c'],
+-  dependencies: [qemuutil, libtestfloat, libsoftfloat],
+-  c_args: fpcflags,
+-)
++if cc.has_header('fenv.h')
++  executable(
++    'fp-bench',
++    ['fp-bench.c', '../../fpu/softfloat.c'],
++    dependencies: [qemuutil, libtestfloat, libsoftfloat],
++    c_args: fpcflags,
++  )
++endif
+ 
+ fptestlog2 = executable(
+   'fp-test-log2',
+-- 
+2.43.0
+