summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta-oe/recipes-benchmark/lmbench/lmbench/0001-Fix-build-errors-related-to-incorrect-function-param.patch252
-rw-r--r--meta-oe/recipes-benchmark/lmbench/lmbench_3.0-a9.bb1
2 files changed, 253 insertions, 0 deletions
diff --git a/meta-oe/recipes-benchmark/lmbench/lmbench/0001-Fix-build-errors-related-to-incorrect-function-param.patch b/meta-oe/recipes-benchmark/lmbench/lmbench/0001-Fix-build-errors-related-to-incorrect-function-param.patch
new file mode 100644
index 0000000000..30f52023cd
--- /dev/null
+++ b/meta-oe/recipes-benchmark/lmbench/lmbench/0001-Fix-build-errors-related-to-incorrect-function-param.patch
@@ -0,0 +1,252 @@
1From 8a6b5f649fe7f42aff4f69a8d99c522adb22f54c Mon Sep 17 00:00:00 2001
2From: "mark.yang" <mark.yang@lge.com>
3Date: Thu, 10 Apr 2025 13:19:07 +0900
4Subject: [PATCH] Fix build errors related to incorrect function parameters in
5 gcc-15
6
7* see more details
8 http://errors.yoctoproject.org/Errors/Details/851798/
9
10 lat_rpc.c:172:1: error: conflicting types for 'client_rpc_xact_1'; have 'char *(char *, CLIENT *)' {aka 'char *(char *, struct __rpc_client *)'}
11 172 | client_rpc_xact_1(char *argp, CLIENT *clnt)
12 | ^~~~~~~~~~~~~~~~~
13 bench.h:349:14: note: previous declaration of 'client_rpc_xact_1' with type 'char *(void)'
14 349 | extern char *client_rpc_xact_1();
15 | ^~~~~~~~~~~~~~~~~
16 lat_rpc.c: In function 'rpc_xact_1':
17 lat_rpc.c:189:1: warning: old-style function definition [-Wold-style-definition]
18 189 | rpc_xact_1(msg, transp)
19 | ^~~~~~~~~~
20 lat_rpc.c:192:1: error: number of arguments doesn't match prototype
21 192 | {
22 | ^
23 bench.h:348:14: error: prototype declaration
24 348 | extern char *rpc_xact_1();
25 | ^~~~~~~~~~
26
27 Fix errors due to old-style function declarations
28
29 The code was using old-style function declarations without proper prototypes,
30 which causes compilation errors with newer GCC versions. This patch updates
31 the function declarations to use modern C syntax with proper parameter types.
32
33Upstream-Status: Submitted [https://sourceforge.net/p/lmbench/patches/3]
34Signed-off-by: mark.yang <mark.yang@lge.com>
35---
36 src/bench.h | 4 ++--
37 src/lat_rpc.c | 24 ++++++++++--------------
38 src/lat_udp.c | 4 ++--
39 src/lmdd.c | 18 +++++++++---------
40 src/lmhttp.c | 4 ++--
41 5 files changed, 25 insertions(+), 29 deletions(-)
42
43diff --git a/src/bench.h b/src/bench.h
44index 1768ef7..4fc2822 100644
45--- a/src/bench.h
46+++ b/src/bench.h
47@@ -345,7 +345,7 @@ extern int sched_pin(int cpu);
48 #define XACT_VERS ((u_long)1)
49 #define RPC_XACT ((u_long)1)
50 #define RPC_EXIT ((u_long)2)
51-extern char *rpc_xact_1();
52-extern char *client_rpc_xact_1();
53+extern char *rpc_xact_1(char *msg, struct svc_req *rqstp);
54+extern char *client_rpc_xact_1(char *argp, CLIENT *clnt);
55
56 #endif /* _BENCH_H */
57diff --git a/src/lat_rpc.c b/src/lat_rpc.c
58index 9c02192..e1450af 100644
59--- a/src/lat_rpc.c
60+++ b/src/lat_rpc.c
61@@ -185,17 +185,15 @@ client_rpc_xact_1(char *argp, CLIENT *clnt)
62 * The remote procedure[s] that will be called
63 */
64 /* ARGSUSED */
65-char *
66-rpc_xact_1(msg, transp)
67- char *msg;
68- register SVCXPRT *transp;
69+char *
70+rpc_xact_1(char *msg, struct svc_req *rqstp /* transp is unused */)
71 {
72 static char r = 123;
73
74 return &r;
75 }
76
77-static void xact_prog_1();
78+static void xact_prog_1(struct svc_req *rqstp, register SVCXPRT *transp);
79
80 void
81 server_main()
82@@ -233,16 +231,14 @@ server_main()
83 }
84
85 static void
86-xact_prog_1(rqstp, transp)
87- struct svc_req *rqstp;
88- register SVCXPRT *transp;
89+xact_prog_1(struct svc_req *rqstp, register SVCXPRT *transp)
90 {
91 union {
92 char rpc_xact_1_arg;
93 } argument;
94 char *result;
95- bool_t (*xdr_argument)(), (*xdr_result)();
96- char *(*local)();
97+ bool_t (*xdr_argument)(XDR *, void *), (*xdr_result)(XDR *, void *);
98+ char *(*local)(char *, struct svc_req *);
99
100 switch (rqstp->rq_proc) {
101 case NULLPROC:
102@@ -250,9 +246,9 @@ xact_prog_1(rqstp, transp)
103 return;
104
105 case RPC_XACT:
106- xdr_argument = xdr_char;
107- xdr_result = xdr_char;
108- local = (char *(*)()) rpc_xact_1;
109+ xdr_argument = (bool_t (*)(XDR *, void *))xdr_char;
110+ xdr_result = (bool_t (*)(XDR *, void *))xdr_char;
111+ local = rpc_xact_1;
112 break;
113
114 case RPC_EXIT:
115@@ -269,7 +265,7 @@ xact_prog_1(rqstp, transp)
116 svcerr_decode(transp);
117 return;
118 }
119- result = (*local)(&argument, rqstp);
120+ result = local(&argument.rpc_xact_1_arg, rqstp);
121 if (result != NULL && !svc_sendreply(transp, (xdrproc_t)xdr_result, result)) {
122 svcerr_systemerr(transp);
123 }
124diff --git a/src/lat_udp.c b/src/lat_udp.c
125index cdd2e9b..292d5c4 100644
126--- a/src/lat_udp.c
127+++ b/src/lat_udp.c
128@@ -19,7 +19,7 @@ char *id = "$Id$\n";
129
130 void client_main(int ac, char **av);
131 void server_main();
132-void timeout();
133+void timeout(int sig);
134 void init(iter_t iterations, void* cookie);
135 void cleanup(iter_t iterations, void* cookie);
136 void doit(iter_t iterations, void* cookie);
137@@ -164,7 +164,7 @@ cleanup(iter_t iterations, void* cookie)
138 }
139
140 void
141-timeout()
142+timeout(__attribute__((unused)) int sig)
143 {
144 fprintf(stderr, "Recv timed out\n");
145 exit(1);
146diff --git a/src/lmdd.c b/src/lmdd.c
147index dee37b4..da64b04 100644
148--- a/src/lmdd.c
149+++ b/src/lmdd.c
150@@ -76,7 +76,7 @@ int norepeats = -1;
151 bds_msg *m1, *m2;
152 #endif
153
154-uint64 getarg();
155+uint64 getarg(char *s, int ac, char **av);
156 int been_there(uint64 off);
157 int getfile(char *s, int ac, char **av);
158
159@@ -148,7 +148,7 @@ char *cmds[] = {
160
161
162 void error(char *);
163-void done();
164+void done(int sig);
165 #ifdef DBG
166 extern int dbg;
167 #endif
168@@ -162,7 +162,7 @@ main(int ac, char **av)
169 int Fork, misses, mismatch, outpat, inpat, in, timeopen, gotcnt;
170 int slp;
171 uint64 skip, size, count;
172- void chkarg();
173+ void chkarg(char *arg);
174 int i;
175 uint64 off = 0;
176 int touch;
177@@ -332,7 +332,7 @@ main(int ac, char **av)
178 register int moved;
179
180 if (gotcnt && count-- <= 0) {
181- done();
182+ done(0);
183 }
184
185 /*
186@@ -445,7 +445,7 @@ main(int ac, char **av)
187 perror("read");
188 }
189 if (moved <= 0) {
190- done();
191+ done(0);
192 }
193 if (inpat != -1) {
194 register int foo, cnt;
195@@ -458,7 +458,7 @@ main(int ac, char **av)
196 (uint)(off + foo*sizeof(int)),
197 buf[foo]);
198 if (mismatch != -1 && --misses == 0) {
199- done();
200+ done(0);
201 }
202 }
203 }
204@@ -523,7 +523,7 @@ main(int ac, char **av)
205 if (moved2 != moved) {
206 fprintf(stderr, "write: wanted=%d got=%d\n",
207 moved, moved2);
208- done();
209+ done(0);
210 }
211 if ((Wtmax != -1) || (Wtmin != -1)) {
212 int mics = stop(&start_tv, &stop_tv);
213@@ -560,7 +560,7 @@ main(int ac, char **av)
214 perror("write");
215 }
216 if (moved2 != moved) {
217- done();
218+ done(0);
219 }
220
221 if (touch) {
222@@ -626,7 +626,7 @@ chkarg(char *arg)
223 }
224
225 void
226-done(void)
227+done(__attribute__((unused)) int sig)
228 {
229 int i;
230 int step;
231diff --git a/src/lmhttp.c b/src/lmhttp.c
232index 41d9949..c2f3cb9 100644
233--- a/src/lmhttp.c
234+++ b/src/lmhttp.c
235@@ -26,7 +26,7 @@ char *buf;
236 char *bufs[3];
237 int Dflg, dflg, nflg, lflg, fflg, zflg;
238 int data, logfile;
239-void die();
240+void die(int sig);
241 void worker();
242 char *http_time(void);
243 char *date(time_t *tt);
244@@ -387,7 +387,7 @@ logit(int sock, char *name, int size)
245 nbytes += len;
246 }
247
248-void die()
249+void die(__attribute__((unused)) int sig)
250 {
251 if (nbytes) {
252 write(logfile, logbuf, nbytes);
diff --git a/meta-oe/recipes-benchmark/lmbench/lmbench_3.0-a9.bb b/meta-oe/recipes-benchmark/lmbench/lmbench_3.0-a9.bb
index 2533f6033c..acd4d6decf 100644
--- a/meta-oe/recipes-benchmark/lmbench/lmbench_3.0-a9.bb
+++ b/meta-oe/recipes-benchmark/lmbench/lmbench_3.0-a9.bb
@@ -29,6 +29,7 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/lmbench/lmbench-${PV}.tgz \
29 file://0001-doc-Fix-typos-in-lat_unix_connect-manual-page.patch \ 29 file://0001-doc-Fix-typos-in-lat_unix_connect-manual-page.patch \
30 file://0001-bench.h-Fix-typo-in-specifying-string.h.patch \ 30 file://0001-bench.h-Fix-typo-in-specifying-string.h.patch \
31 file://0001-scripts-build-Fix-the-tests-to-build-with-clang15.patch \ 31 file://0001-scripts-build-Fix-the-tests-to-build-with-clang15.patch \
32 file://0001-Fix-build-errors-related-to-incorrect-function-param.patch \
32 " 33 "
33SRC_URI[sha256sum] = "cbd5777d15f44eab7666dcac418054c3c09df99826961a397d9acf43d8a2a551" 34SRC_URI[sha256sum] = "cbd5777d15f44eab7666dcac418054c3c09df99826961a397d9acf43d8a2a551"
34 35