diff --git a/meta-oe/recipes-support/daemonize/daemonize/0001-fix-getopt.c-too-many-arguments-to-function-write-er.patch b/meta-oe/recipes-support/daemonize/daemonize/0001-fix-getopt.c-too-many-arguments-to-function-write-er.patch new file mode 100644 index 0000000000..3a79dba682 --- /dev/null +++ b/meta-oe/recipes-support/daemonize/daemonize/0001-fix-getopt.c-too-many-arguments-to-function-write-er.patch @@ -0,0 +1,46 @@ +From c47fdcc0a900aea93b1967c20db42743171ab1ac Mon Sep 17 00:00:00 2001 +From: "mark.yang" +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 +--- + 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 + + #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 + diff --git a/meta-oe/recipes-support/daemonize/daemonize_git.bb b/meta-oe/recipes-support/daemonize/daemonize_git.bb index f46dec59fc..b0712e521b 100644 --- a/meta-oe/recipes-support/daemonize/daemonize_git.bb +++ b/meta-oe/recipes-support/daemonize/daemonize_git.bb @@ -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"