Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 1/2] package/iozone: fix parallel build of the linux-noaio target
@ 2026-10-22 22:27 Yegor Yefremov
  2026-10-22 22:27 ` [Buildroot] [PATCH 2/2] package/iozone: bump to version 3.511 Yegor Yefremov
  2026-10-23  7:31 ` [Buildroot] [PATCH 1/2] package/iozone: fix parallel build of the linux-noaio target Thomas Petazzoni via buildroot
  0 siblings, 2 replies; 3+ messages in thread
From: Yegor Yefremov @ 2026-10-22 22:27 UTC (permalink / raw)
  To: buildroot; +Cc: Gilles Talis

With uClibc, iozone is built with the linux-noaio target, which lists
libbif.o as a prerequisite although libbif.o is built by the
iozone_linux-noaio.o rule. With a parallel build, make also builds
libbif.o with its built-in rule, without -DHAVE_ANSIC_C, so the K&R
code path is used, which fails with GCC >= 15 (C23):

  libbif.c:191:1: error: number of arguments doesn't match prototype
  libbif.c:170:1: error: prototype declaration
  libbif.c:193:9: error: too many arguments to function 'do_eof'; expected 0, have 1

Commit d7233ae04854 ("package/iozone: Fix parallel build problem")
fixed the same issue for the linux targets only. Add a patch doing the
same for the linux-noaio and linux-noth targets, which were added by
0001-Add-new-targets-for-iozone.patch.

This issue has been present since commit 75891397abe6 ("package/gcc:
add support for GCC 15.x"); before GCC 15, libbif.c built with the
wrong flags but didn't fail. It therefore affects 2025.08 and later,
i.e. 2025.11.x, 2026.02.x, 2026.05.x and 2026.08.x when GCC 15 is used.

Fixes: 75891397abe60dbe3d82a1ec39654ff81d1b1406 ("package/gcc: add support for GCC 15.x")
Assisted-by: Claude:claude-opus-5-5
Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
---
 ...from-linux-noaio-and-linux-noth-deps.patch | 48 +++++++++++++++++++
 1 file changed, 48 insertions(+)
 create mode 100644 package/iozone/0005-remove-libbif.o-from-linux-noaio-and-linux-noth-deps.patch

diff --git a/package/iozone/0005-remove-libbif.o-from-linux-noaio-and-linux-noth-deps.patch b/package/iozone/0005-remove-libbif.o-from-linux-noaio-and-linux-noth-deps.patch
new file mode 100644
index 0000000000..0c4987d4df
--- /dev/null
+++ b/package/iozone/0005-remove-libbif.o-from-linux-noaio-and-linux-noth-deps.patch
@@ -0,0 +1,48 @@
+From 3bfbc2fe58400d32aabbceaa19a4348981931d9d Mon Sep 17 00:00:00 2001
+From: Yegor Yefremov <yegorslists@googlemail.com>
+Date: Thu, 22 Oct 2026 22:59:56 +0200
+Subject: [PATCH] remove libbif.o from linux-noaio and linux-noth deps
+
+libbif.o is built by the iozone_linux-noaio.o and iozone_linux-noth.o
+rules, with -DHAVE_ANSIC_C. Listing it as a prerequisite of the
+linux-noaio and linux-noth targets lets make build it in parallel with
+its built-in rule, without -DHAVE_ANSIC_C, so the K&R code path is
+used, which fails with GCC >= 15 (C23):
+
+libbif.c:191:1: error: number of arguments doesn't match prototype
+libbif.c:193:9: error: too many arguments to function 'do_eof'; expected 0, have 1
+
+Do the same as the previous patch did for the linux targets.
+
+Upstream: N/A, linux-noaio and linux-noth are Buildroot-specific targets
+Assisted-by: Claude:claude-opus-5-5
+Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
+---
+ src/current/makefile | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/current/makefile b/src/current/makefile
+index ba5759f..168fe93 100755
+--- a/src/current/makefile
++++ b/src/current/makefile
+@@ -180,7 +180,7 @@ linux:	iozone_linux.o fileop_linux.o pit_server.o
+ #
+ # GNU 'C' compiler Linux build with threads, largefiles
+ #
+-linux-noaio: iozone_linux-noaio.o libbif.o fileop_linux.o pit_server.o
++linux-noaio: iozone_linux-noaio.o fileop_linux.o pit_server.o
+ 	$(CC)  $(CFLAGS) $(LDFLAGS) iozone_linux-noaio.o libbif.o \
+ 		-lpthread -lrt -o iozone
+ 	$(CC)  $(CFLAGS) -Dlinux fileop_linux.o -o fileop
+@@ -189,7 +189,7 @@ linux-noaio: iozone_linux-noaio.o libbif.o fileop_linux.o pit_server.o
+ #
+ # GNU 'C' compiler Linux build with largefiles
+ #
+-linux-noth: iozone_linux-noth.o libbif.o fileop_linux.o pit_server.o
++linux-noth: iozone_linux-noth.o fileop_linux.o pit_server.o
+ 	$(CC)  $(CFLAGS) $(LDFLAGS) iozone_linux-noth.o libbif.o \
+ 		-lrt -o iozone
+ 	$(CC)  $(CFLAGS) -Dlinux fileop_linux.o -o fileop
+-- 
+2.34.1
+
-- 
2.34.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2026-10-23  7:31 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-10-22 22:27 [Buildroot] [PATCH 1/2] package/iozone: fix parallel build of the linux-noaio target Yegor Yefremov
2026-10-22 22:27 ` [Buildroot] [PATCH 2/2] package/iozone: bump to version 3.511 Yegor Yefremov
2026-10-23  7:31 ` [Buildroot] [PATCH 1/2] package/iozone: fix parallel build of the linux-noaio target Thomas Petazzoni via buildroot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox