From: Khem Raj Date: Mon, 24 Mar 2025 16:33:28 +0000 (-0700) Subject: which: Fix build with gcc-15 on musl X-Git-Tag: yocto-5.2~54 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=17993bc259c603bdbdb54c930c2c054fd178b391;p=thirdparty%2Fopenembedded%2Fopenembedded-core-contrib.git which: Fix build with gcc-15 on musl Signed-off-by: Khem Raj Signed-off-by: Richard Purdie --- diff --git a/meta/recipes-extended/which/which-2.21/0001-getopt-Fix-signature-of-getenv-function.patch b/meta/recipes-extended/which/which-2.21/0001-getopt-Fix-signature-of-getenv-function.patch new file mode 100644 index 00000000000..e006d797d3c --- /dev/null +++ b/meta/recipes-extended/which/which-2.21/0001-getopt-Fix-signature-of-getenv-function.patch @@ -0,0 +1,39 @@ +From 16a1647fc26953fab659de5f55d4c0defdfb894f Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sat, 22 Mar 2025 17:56:19 -0700 +Subject: [PATCH] getopt: Fix signature of getenv function + +This happens on musl systems using GCC 15 + +../which-2.21/getopt.h:106:12: error: conflicting types for 'getopt'; have 'int(void)' + 106 | extern int getopt (); + | ^~~~~~ + +Upstream-Status: Submitted [https://lists.gnu.org/archive/html/which-bugs/2025-03/msg00000.html] +Signed-off-by: Khem Raj +--- + getopt.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/getopt.c ++++ b/getopt.c +@@ -209,7 +209,7 @@ static char *posixly_correct; + /* Avoid depending on library functions or files + whose names are inconsistent. */ + +-char *getenv (); ++char *getenv (const char*); + + static char * + my_index (str, chr) +--- a/getopt.h ++++ b/getopt.h +@@ -103,7 +103,7 @@ struct option + errors, only prototype getopt for the GNU C library. */ + extern int getopt (int argc, char *const *argv, const char *shortopts); + #else /* not __GNU_LIBRARY__ */ +-extern int getopt (); ++extern int getopt (int, char * const [], const char *); + #endif /* __GNU_LIBRARY__ */ + extern int getopt_long (int argc, char *const *argv, const char *shortopts, + const struct option *longopts, int *longind); diff --git a/meta/recipes-extended/which/which_2.21.bb b/meta/recipes-extended/which/which_2.21.bb index a8cb45f8fce..6e855bca3fe 100644 --- a/meta/recipes-extended/which/which_2.21.bb +++ b/meta/recipes-extended/which/which_2.21.bb @@ -18,6 +18,7 @@ EXTRA_OECONF = "--disable-iberty" SRC_URI = "${GNU_MIRROR}/which/which-${PV}.tar.gz \ file://automake.patch \ + file://0001-getopt-Fix-signature-of-getenv-function.patch \ " SRC_URI[sha256sum] = "f4a245b94124b377d8b49646bf421f9155d36aa7614b6ebf83705d3ffc76eaad"