package/flex: fix GCC 15.x build issue
Fixes:
https://autobuild.buildroot.net/results/924b1015d4b81385409ef00f1a14be3ca1959c8e/
As part of building flex for the target a few files are built for the host,
including a rpl_malloc() implementation containing a malloc() forward
declaration without any function parameters.
GCC 15 defaults to -std=gnu23, which handles function declarations without
parameters differently from earlier C standards leading to compilation
errors:
../lib/malloc.c:6:12: warning: conflicting types for built-in function 'malloc'; expected 'void *(long unsigned int)' [-Wbuiltin-declaration-mismatch]
6 | void *malloc ();
| ^~~~~~
../lib/malloc.c:5:1: note: 'malloc' is declared in header '<stdlib.h>'
4 | #include <sys/types.h>
+++ |+#include <stdlib.h>
5 |
../lib/malloc.c: In function 'rpl_malloc':
../lib/malloc.c:16:15: error: too many arguments to function 'malloc'; expected 0, have 1
https://gcc.gnu.org/gcc-15/porting_to.html#c23-fn-decls-without-parameters
Add a patch submitted upstream to correct the prototype.
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Signed-off-by: Julien Olivain <ju.o@free.fr>
(cherry picked from commit 7b98e2ce2c)
Signed-off-by: Thomas Perale <thomas.perale@mind.be>
This commit is contained in:
committed by
Thomas Perale
parent
89c82ec8e8
commit
af6298b6d9
27
package/flex/0004-Match-malloc-signature-to-its-use.patch
Normal file
27
package/flex/0004-Match-malloc-signature-to-its-use.patch
Normal file
@@ -0,0 +1,27 @@
|
||||
From 4b142954b54a57a9b0af0a9661056a9c39a8fa95 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
|
||||
|
||||
Upstream: https://github.com/westes/flex/pull/674
|
||||
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
|
||||
---
|
||||
lib/malloc.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/lib/malloc.c b/lib/malloc.c
|
||||
index 75e8ef9..701b9b3 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. */
|
||||
--
|
||||
2.39.5
|
||||
|
||||
Reference in New Issue
Block a user