summaryrefslogtreecommitdiffstats
path: root/meta-oe
diff options
context:
space:
mode:
authorDaniel Klauer <daniel.klauer@gin.de>2026-02-10 19:09:11 +0100
committerKhem Raj <raj.khem@gmail.com>2026-02-10 21:11:46 -0800
commitadd2d94ab7d4170cece4e20af829a7221c572d5f (patch)
tree4a83c2112d7bd7410ac40fdbddd16c294b7bba80 /meta-oe
parent476b723696dc08de246bba060316f282a7726520 (diff)
downloadmeta-openembedded-add2d94ab7d4170cece4e20af829a7221c572d5f.tar.gz
nbench-byte: Fix sysinfo generation in parallel build
The project Makefile uses a script (sysinfo.sh) to non-atomically generate two .c files (sysinfo.c, sysinfoc.c) which are then included in the build. Since the script always overwrites both .c files, the Makefile should only invoke it once, not twice in parallel. Otherwise the .c files may be corrupted and cause random build failures in parallel builds. Requires at least GNU make 4.3, for Grouped Targets support [1]. [1] https://lists.gnu.org/archive/html/info-gnu/2020-01/msg00004.html Reviewed-by: Silvio Fricke <silvio.fricke@gin.de> Signed-off-by: Daniel Klauer <daniel.klauer@gin.de> Signed-off-by: Khem Raj <raj.khem@gmail.com>
Diffstat (limited to 'meta-oe')
-rw-r--r--meta-oe/recipes-benchmark/nbench-byte/nbench-byte/Makefile-Fix-sysinfo-generation-in-parallel-build.patch69
-rw-r--r--meta-oe/recipes-benchmark/nbench-byte/nbench-byte/sysinfo.sh-Fix-typo-in-rm-command.patch27
-rw-r--r--meta-oe/recipes-benchmark/nbench-byte/nbench-byte_2.2.3.bb4
3 files changed, 99 insertions, 1 deletions
diff --git a/meta-oe/recipes-benchmark/nbench-byte/nbench-byte/Makefile-Fix-sysinfo-generation-in-parallel-build.patch b/meta-oe/recipes-benchmark/nbench-byte/nbench-byte/Makefile-Fix-sysinfo-generation-in-parallel-build.patch
new file mode 100644
index 0000000000..b5f60b1c87
--- /dev/null
+++ b/meta-oe/recipes-benchmark/nbench-byte/nbench-byte/Makefile-Fix-sysinfo-generation-in-parallel-build.patch
@@ -0,0 +1,69 @@
1From 26e13ce45ffeb2f233d1dd7e4321cb65ab10b0fb Mon Sep 17 00:00:00 2001
2From: Daniel Klauer <daniel.klauer@gin.de>
3Date: Fri, 6 Feb 2026 17:13:49 +0100
4Subject: [PATCH] Makefile: Fix sysinfo generation in parallel build
5
6sysinfo.sh non-atomically overwrites both sysinfo.c and sysinfoc.c,
7so it should only be invoked once, not twice in parallel.
8
9Requires at least GNU make 4.3, for Grouped Targets support [1].
10
11Should fix random build failures like this one:
12
13| NOTE: make -j 20 -e MAKEFLAGS=
14[...]
15| ./sysinfo.sh x86_64-gin-linux-gcc [...]
16| ./sysinfo.sh x86_64-gin-linux-gcc [...]
17[...]
18| x86_64-gin-linux-gcc [...] \
19| -c nbench0.c
20| In file included from nbench0.c:219:
21| sysinfo.c: In function 'main':
22| sysinfo.c:11:1: error: 'fer' undeclared (first use in this function)
23| 11 | fer);
24| | ^~~
25| sysinfo.c:11:1: note: each undeclared identifier is reported only once for each function it appears in
26| sysinfo.c:11:4: error: expected ';' before ')' token
27| 11 | fer);
28| | ^
29| | ;
30| sysinfo.c:11:4: error: expected statement before ')' token
31| In file included from nbench0.c:317:
32| sysinfoc.c:5:4: error: expected ';' before ')' token
33| 5 | fer);
34| | ^
35| | ;
36| sysinfoc.c:5:4: error: expected statement before ')' token
37| make: *** [Makefile:115: nbench0.o] Error 1
38| make: *** Waiting for unfinished jobs....
39| ERROR: oe_runmake failed
40| WARNING: exit code 1 from a shell command.
41NOTE: recipe nbench-byte-2.2.3-r0: task do_compile: Failed
42
43[1] https://lists.gnu.org/archive/html/info-gnu/2020-01/msg00004.html
44Upstream-Status: Inactive-Upstream [lastrelease 2003, no vcs]
45Signed-off-by: Daniel Klauer <daniel.klauer@gin.de>
46---
47 Makefile | 6 ++----
48 1 file changed, 2 insertions(+), 4 deletions(-)
49
50diff --git a/Makefile b/Makefile
51index edd9ea2..66b2ddc 100644
52--- a/Makefile
53+++ b/Makefile
54@@ -95,10 +95,8 @@ DEFINES= -DLINUX $(NO_UNAME)
55
56 ##########################################################################
57 # For LINUX-like systems with gcc
58-sysinfoc.c: Makefile
59- ./sysinfo.sh $(CC) $(MACHINE) $(DEFINES) $(CFLAGS)
60-
61-sysinfo.c: Makefile
62+# sysinfo.sh generates both sysinfo.c and sysinfoc.c
63+sysinfo.c sysinfoc.c &: Makefile
64 ./sysinfo.sh $(CC) $(MACHINE) $(DEFINES) $(CFLAGS)
65
66 ##########################################################################
67--
682.43.0
69
diff --git a/meta-oe/recipes-benchmark/nbench-byte/nbench-byte/sysinfo.sh-Fix-typo-in-rm-command.patch b/meta-oe/recipes-benchmark/nbench-byte/nbench-byte/sysinfo.sh-Fix-typo-in-rm-command.patch
new file mode 100644
index 0000000000..c6a37c3e56
--- /dev/null
+++ b/meta-oe/recipes-benchmark/nbench-byte/nbench-byte/sysinfo.sh-Fix-typo-in-rm-command.patch
@@ -0,0 +1,27 @@
1From 0019af6eb5188f5111a0f2008c0002b545382b67 Mon Sep 17 00:00:00 2001
2From: Daniel Klauer <daniel.klauer@gin.de>
3Date: Fri, 6 Feb 2026 17:14:53 +0100
4Subject: [PATCH] sysinfo.sh: Fix typo in rm command
5
6Upstream-Status: Inactive-Upstream [lastrelease 2003, no vcs]
7Signed-off-by: Daniel Klauer <daniel.klauer@gin.de>
8---
9 sysinfo.sh | 2 +-
10 1 file changed, 1 insertion(+), 1 deletion(-)
11
12diff --git a/sysinfo.sh b/sysinfo.sh
13index 57754fe..1373699 100755
14--- a/sysinfo.sh
15+++ b/sysinfo.sh
16@@ -61,7 +61,7 @@ if ($* hello.c -o hello) >/dev/null 2>&1; then
17 fi
18 fi
19
20-rm -f sysinfo.crm sysinfoc.c hello
21+rm -f sysinfo.c sysinfoc.c hello
22
23 # this bombs out on Ultrix which expect "cut -d"
24
25--
262.43.0
27
diff --git a/meta-oe/recipes-benchmark/nbench-byte/nbench-byte_2.2.3.bb b/meta-oe/recipes-benchmark/nbench-byte/nbench-byte_2.2.3.bb
index da03ebb291..538ff24c0a 100644
--- a/meta-oe/recipes-benchmark/nbench-byte/nbench-byte_2.2.3.bb
+++ b/meta-oe/recipes-benchmark/nbench-byte/nbench-byte_2.2.3.bb
@@ -10,7 +10,9 @@ SECTION = "console/utils"
10SRC_URI = "https://fossies.org/linux/misc/old/${BP}.tar.gz \ 10SRC_URI = "https://fossies.org/linux/misc/old/${BP}.tar.gz \
11 file://nbench_32bits.patch \ 11 file://nbench_32bits.patch \
12 file://Makefile-add-more-dependencies-to-pointer.h.patch \ 12 file://Makefile-add-more-dependencies-to-pointer.h.patch \
13 file://0001-Fix-build-error-with-gcc-15.patch" 13 file://0001-Fix-build-error-with-gcc-15.patch \
14 file://Makefile-Fix-sysinfo-generation-in-parallel-build.patch \
15 file://sysinfo.sh-Fix-typo-in-rm-command.patch"
14 16
15SRC_URI[sha256sum] = "723dd073f80e9969639eb577d2af4b540fc29716b6eafdac488d8f5aed9101ac" 17SRC_URI[sha256sum] = "723dd073f80e9969639eb577d2af4b540fc29716b6eafdac488d8f5aed9101ac"
16 18