mirror of
git://git.openembedded.org/meta-openembedded
synced 2026-09-30 16:20:40 +00:00
daemonize: fix build with gcc-15
* fix build with gcc-15.0.1 submitted to upstream: https://github.com/bmc/daemonize/pull/37 following error: ../git/getopt.c: In function 'x_getopt': ../git/getopt.c:51:16: error: too many arguments to function 'write'; expected 0, have 3 51 | (void) write(2, argv[0], (unsigned)strlen(argv[0])); | ^~~~~ ~ ../git/getopt.c:78:17: note: in expansion of macro 'ERR' 78 | ERR(": illegal option -- ", c); | ^~~ ../git/getopt.c:48:20: note: declared here 48 | extern int write(); | ^~~~~ Signed-off-by: mark.yang <mark.yang@lge.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
parent
cc493b34d8
commit
70463638b5
@ -0,0 +1,46 @@
|
|||||||
|
From c47fdcc0a900aea93b1967c20db42743171ab1ac Mon Sep 17 00:00:00 2001
|
||||||
|
From: "mark.yang" <mark.yang@lge.com>
|
||||||
|
Date: Thu, 27 Mar 2025 16:46:42 +0900
|
||||||
|
Subject: [PATCH] fix getopt.c too many arguments to function 'write' error in
|
||||||
|
gcc-15.0.1
|
||||||
|
|
||||||
|
In the original code, write() was declared as 'extern int write();',
|
||||||
|
which is interpreted as a function taking no parameters.
|
||||||
|
This caused errors when actually calling it with 3 parameters.
|
||||||
|
The current fix to declare it as 'extern int write(int, const void *, unsigned);'
|
||||||
|
is the correct solution.
|
||||||
|
This properly defines the write function to accept 3 parameters.
|
||||||
|
|
||||||
|
../git/getopt.c: In function 'x_getopt':
|
||||||
|
../git/getopt.c:51:16: error: too many arguments to function 'write'; expected 0, have 3
|
||||||
|
51 | (void) write(2, argv[0], (unsigned)strlen(argv[0]));\
|
||||||
|
| ^~~~~ ~
|
||||||
|
../git/getopt.c:78:17: note: in expansion of macro 'ERR'
|
||||||
|
78 | ERR(": illegal option -- ", c);
|
||||||
|
| ^~~
|
||||||
|
../git/getopt.c:48:20: note: declared here
|
||||||
|
48 | extern int write();\
|
||||||
|
| ^~~~~
|
||||||
|
|
||||||
|
Upstream-Status: Submitted [https://github.com/bmc/daemonize/pull/37]
|
||||||
|
Signed-off-by: mark.yang <mark.yang@lge.com>
|
||||||
|
---
|
||||||
|
getopt.c | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/getopt.c b/getopt.c
|
||||||
|
index 3f37c55..f298da7 100644
|
||||||
|
--- a/getopt.c
|
||||||
|
+++ b/getopt.c
|
||||||
|
@@ -45,7 +45,7 @@
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
|
#define ERR(s, c) if(x_opterr){\
|
||||||
|
- extern int write();\
|
||||||
|
+ extern int write(int, const void *, unsigned);\
|
||||||
|
char errbuf[2];\
|
||||||
|
errbuf[0] = c; errbuf[1] = '\n';\
|
||||||
|
(void) write(2, argv[0], (unsigned)strlen(argv[0]));\
|
||||||
|
--
|
||||||
|
2.34.1
|
||||||
|
|
||||||
@ -7,7 +7,9 @@ PV = "1.7.8"
|
|||||||
inherit autotools
|
inherit autotools
|
||||||
|
|
||||||
SRCREV = "18869a797dab12bf1c917ba3b4782fef484c407c"
|
SRCREV = "18869a797dab12bf1c917ba3b4782fef484c407c"
|
||||||
SRC_URI = "git://github.com/bmc/daemonize.git;branch=master;protocol=https \
|
SRC_URI = " \
|
||||||
|
git://github.com/bmc/daemonize.git;branch=master;protocol=https \
|
||||||
|
file://0001-fix-getopt.c-too-many-arguments-to-function-write-er.patch \
|
||||||
"
|
"
|
||||||
|
|
||||||
S = "${WORKDIR}/git"
|
S = "${WORKDIR}/git"
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user