[openwrt/openwrt] tools: cpio: fix compilation with GCC15

LEDE Commits lede-commits at lists.infradead.org
Thu Apr 17 07:29:23 PDT 2025


robimarko pushed a commit to openwrt/openwrt.git, branch main:
https://git.openwrt.org/c5041094ba06b3cdfb9458f1cb5acb00a9cbacd3

commit c5041094ba06b3cdfb9458f1cb5acb00a9cbacd3
Author: Robert Marko <robimarko at gmail.com>
AuthorDate: Wed Apr 16 13:56:22 2025 +0200

    tools: cpio: fix compilation with GCC15
    
    Fedora 42 updated to GCC15 which now defaults to GNU23 as the default
    instead of GNU17[1], and this breaks cpio compilation.
    
    Its been reported upstream [2], so import the patch attached to the bug
    report that fixes compilation with GCC15.
    
    [1] https://gcc.gnu.org/gcc-15/porting_to.html#c23
    [2] https://savannah.gnu.org/bugs/?66297
    
    Link: https://github.com/openwrt/openwrt/pull/18506
    Signed-off-by: Robert Marko <robimarko at gmail.com>
---
 tools/cpio/patches/cpio-c23.patch | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/tools/cpio/patches/cpio-c23.patch b/tools/cpio/patches/cpio-c23.patch
new file mode 100644
index 0000000000..825f369d6e
--- /dev/null
+++ b/tools/cpio/patches/cpio-c23.patch
@@ -0,0 +1,23 @@
+--- a/src/extern.h
++++ b/src/extern.h
+@@ -97,7 +97,8 @@ extern char input_is_special;
+ extern char output_is_special;
+ extern char input_is_seekable;
+ extern char output_is_seekable;
+-extern int (*xstat) ();
++//void not good enough
++extern int (*xstat) (const char * restrict,  struct stat * restrict);
+ extern void (*copy_function) ();
+ extern char *change_directory_option;
+ 
+--- a/src/global.c
++++ b/src/global.c
+@@ -185,7 +185,7 @@ bool to_stdout_option = false;
+ 
+ /* A pointer to either lstat or stat, depending on whether
+    dereferencing of symlinks is done for input files.  */
+-int (*xstat) ();
++int (*xstat) (const char * restrict,  struct stat * restrict);
+ 
+ /* Which copy operation to perform. (-i, -o, -p) */
+ void (*copy_function) () = 0;




More information about the lede-commits mailing list