new file mode 100644
@@ -0,0 +1,37 @@
+From bf254c75b1e0d2641ebbd7fc85fb183f36a62ea7 Mon Sep 17 00:00:00 2001
+From: Richard Barnes <rbarnes@umn.edu>
+Date: Wed, 2 Oct 2024 10:35:09 -0700
+Subject: [PATCH] Match `malloc` signature to its use
+
+The gnulib fallback declares "void *malloc ();" with an empty parameter
+list and calls it with one argument. That meant "unspecified" in C89 and
+means "none" in C23, so a compiler defaulting to C23 -- GCC 15 and later
+-- rejects the call:
+
+ lib/malloc.c:16:15: error: too many arguments to function 'malloc';
+ expected 0, have 1
+
+The file is built by stage1flex with the build host's compiler before
+flex can build itself, so neither CFLAGS nor BUILD_CFLAGS reaches that
+command line and no flag in the recipe can silence it.
+
+Upstream-Status: Backport [https://github.com/westes/flex/commit/bf254c75b1e0d2641ebbd7fc85fb183f36a62ea7]
+
+Signed-off-by: Aurelien DESBRIERES <aurelien@hackers.camp>
+---
+ lib/malloc.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/lib/malloc.c b/lib/malloc.c
+index 75e8ef97c..701b9b39d 100755
+--- a/lib/malloc.c
++++ b/lib/malloc.c
+@@ -3,7 +3,7 @@
+
+ #include <sys/types.h>
+
+- void *malloc ();
++ void *malloc (size_t n);
+
+ /* Allocate an N-byte block of memory from the heap.
+ If N is zero, allocate a 1-byte block. */
@@ -19,6 +19,7 @@ SRC_URI = "${GITHUB_BASE_URI}/download/v${PV}/flex-${PV}.tar.gz \
file://check-funcs.patch \
file://0001-Emit-no-line-directives-if-gen_line_dirs-is-false.patch \
file://0001-build-tests-add-missing-parser-scanner-dependencies.patch \
+ file://0001-lib-malloc.c-match-malloc-signature-to-its-use.patch \
"
SRC_URI[md5sum] = "2882e3179748cc9f9c23ec593d6adc8d"
lib/malloc.c declares "void *malloc ();" with an empty parameter list and calls it with one argument. That meant "unspecified" in C89 and means "none" in C23, so a host compiler defaulting to C23 -- GCC 15 and later -- rejects the call: lib/malloc.c:16:15: error: too many arguments to function 'malloc'; expected 0, have 1 The file is built by stage1flex with the build host's compiler before flex can build itself, so neither CFLAGS nor BUILD_CFLAGS reaches that command line and no flag in the recipe can silence it. Upstream fixed it in bf254c75b1e0 and the patch falls out when flex next releases. Gentoo carries the same backport as flex-2.6.4-fix-malloc-prototype.patch. Signed-off-by: Aurelien DESBRIERES <aurelien@hackers.camp> --- ....c-match-malloc-signature-to-its-use.patch | 37 +++++++++++++++++++ meta/recipes-devtools/flex/flex_2.6.4.bb | 1 + 2 files changed, 38 insertions(+) create mode 100644 meta/recipes-devtools/flex/flex/0001-lib-malloc.c-match-malloc-signature-to-its-use.patch