mirror of
git://git.openembedded.org/meta-openembedded
synced 2026-01-01 13:58:06 +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
|
||||
|
||||
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"
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user