From 4ab21b1f5664557f5a758d36c0f8381468de1797 Mon Sep 17 00:00:00 2001 From: Rosen Penev Date: Fri, 11 Jul 2025 20:23:36 -0700 Subject: [PATCH] cligen: fix compilation with GCC 15 Upstream has this fixed in a massive patch. Signed-off-by: Rosen Penev --- utils/cligen/Makefile | 2 +- utils/cligen/patches/010-gcc15.patch | 50 ++++++++++++++++++++++++++++ 2 files changed, 51 insertions(+), 1 deletion(-) create mode 100644 utils/cligen/patches/010-gcc15.patch diff --git a/utils/cligen/Makefile b/utils/cligen/Makefile index ff8f63275e..e36ea77977 100644 --- a/utils/cligen/Makefile +++ b/utils/cligen/Makefile @@ -8,7 +8,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=cligen PKG_VERSION:=7.4.0 -PKG_RELEASE:=1 +PKG_RELEASE:=2 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://codeload.github.com/clicon/$(PKG_NAME)/tar.gz/$(PKG_VERSION)? diff --git a/utils/cligen/patches/010-gcc15.patch b/utils/cligen/patches/010-gcc15.patch new file mode 100644 index 0000000000..6d257b73ce --- /dev/null +++ b/utils/cligen/patches/010-gcc15.patch @@ -0,0 +1,50 @@ +--- a/cligen_getline.c ++++ b/cligen_getline.c +@@ -41,12 +41,12 @@ + + /********************* exported variables ********************************/ + +-int (*gl_in_hook)() = NULL; +-int (*gl_out_hook)() = NULL; +-int (*gl_tab_hook)() = NULL; +-int (*gl_qmark_hook)() = NULL; +-int (*gl_susp_hook)() = NULL; +-int (*gl_interrupt_hook)() = NULL; ++int (*gl_in_hook)(void *, char *) = NULL; ++int (*gl_out_hook)(void *, char *) = NULL; ++int (*gl_tab_hook)(cligen_handle, int *) = NULL; ++int (*gl_qmark_hook)(cligen_handle, char *) = NULL; ++int (*gl_susp_hook)(void *, char *, int, int *) = NULL; ++int (*gl_interrupt_hook)(cligen_handle) = NULL; + + /******************** internal interface *********************************/ + +@@ -55,7 +55,7 @@ static void gl_init1(void); + static void gl_cleanup(void); /* to undo gl_init1 */ + void gl_char_init(void); /* get ready for no echo input */ + void gl_char_cleanup(void); /* undo gl_char_init */ +-static size_t (*gl_strlen)(const char *) = (size_t(*)())strlen; ++static size_t (*gl_strlen)(const char *) = strlen; + /* returns printable prompt width */ + + static int gl_addchar(cligen_handle h, int c); /* install specified char */ +@@ -1409,7 +1409,7 @@ gl_fixup(cligen_handle h, + /******************* strlen stuff **************************************/ + + void +-gl_strwidth(size_t (*func)()) ++gl_strwidth(size_t (*func)(const char *)) + { + if (func != 0) { + gl_strlen = func; +--- a/cligen_getline.h ++++ b/cligen_getline.h +@@ -23,7 +23,7 @@ + /* + * Types + */ +-typedef size_t (*gl_strwidth_proc)(char *); ++typedef size_t (*gl_strwidth_proc)(const char *); + + /* + * Prototypes -- 2.30.2