From b77684d2c1897c27da5718b7a18b6f9ad3e41bc1 Mon Sep 17 00:00:00 2001 From: Hauke Mehrtens Date: Sat, 3 May 2025 01:12:59 +0200 Subject: [PATCH] dns320l-mcu: Fix compilation with GCC 14 This fixes the following compile problem: ``` dns320l-daemon.c: In function 'main': dns320l-daemon.c:740:18: error: implicit declaration of function 'isprint' [-Wimplicit-function-declaration] 740 | else if (isprint (optopt)) | ^~~~~~~ dns320l-daemon.c:50:1: note: include '' or provide a declaration of 'isprint' 49 | #include "dns320l-daemon.h" +++ |+#include 50 | dns320l-daemon.c:799:5: error: implicit declaration of function 'umask' [-Wimplicit-function-declaration] 799 | umask(0); | ^~~~~ dns320l-daemon.c:864:5: error: 'return' with no value, in function returning non-void [-Wreturn-mismatch] 864 | return; | ^~~~~~ dns320l-daemon.c:691:5: note: declared here 691 | int main(int argc, char *argv[]) | ^~~~ ``` Link: https://github.com/openwrt/openwrt/pull/18688 Signed-off-by: Hauke Mehrtens --- package/utils/dns320l-mcu/Makefile | 2 +- .../patches/010-gcc-14-fixes.patch | 50 +++++++++++++++++++ 2 files changed, 51 insertions(+), 1 deletion(-) create mode 100644 package/utils/dns320l-mcu/patches/010-gcc-14-fixes.patch diff --git a/package/utils/dns320l-mcu/Makefile b/package/utils/dns320l-mcu/Makefile index 9488096a16e..042cce74098 100644 --- a/package/utils/dns320l-mcu/Makefile +++ b/package/utils/dns320l-mcu/Makefile @@ -1,7 +1,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=dns320l-mcu -PKG_RELEASE:=1 +PKG_RELEASE:=2 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL=https://github.com/wigyori/dns320l-daemon.git diff --git a/package/utils/dns320l-mcu/patches/010-gcc-14-fixes.patch b/package/utils/dns320l-mcu/patches/010-gcc-14-fixes.patch new file mode 100644 index 00000000000..dfda9c3710a --- /dev/null +++ b/package/utils/dns320l-mcu/patches/010-gcc-14-fixes.patch @@ -0,0 +1,50 @@ +dns320l-mcu: Fix compilation with GCC 14 + +This fixes the following compile problem: +``` +dns320l-daemon.c: In function 'main': +dns320l-daemon.c:740:18: error: implicit declaration of function 'isprint' [-Wimplicit-function-declaration] + 740 | else if (isprint (optopt)) + | ^~~~~~~ +dns320l-daemon.c:50:1: note: include '' or provide a declaration of 'isprint' + 49 | #include "dns320l-daemon.h" + +++ |+#include + 50 | +dns320l-daemon.c:799:5: error: implicit declaration of function 'umask' [-Wimplicit-function-declaration] + 799 | umask(0); + | ^~~~~ +dns320l-daemon.c:864:5: error: 'return' with no value, in function returning non-void [-Wreturn-mismatch] + 864 | return; + | ^~~~~~ +dns320l-daemon.c:691:5: note: declared here + 691 | int main(int argc, char *argv[]) + | ^~~~ +``` + +--- a/dns320l-daemon.c ++++ b/dns320l-daemon.c +@@ -26,6 +26,7 @@ + + */ + ++#include + #include + #include + #include +@@ -39,6 +40,7 @@ + #include + #include + #include ++#include + #include + #include + #include +@@ -861,7 +863,7 @@ int main(int argc, char *argv[]) + if (fd < 0) + { + syslog(LOG_ERR, "error %d opening %s: %s", errno, stDaemonConfig.portName, strerror (errno)); +- return; ++ return EXIT_FAILURE; + } + + set_interface_attribs (fd, B115200, 0); // set speed to 115,200 bps, 8n1 (no parity) -- 2.47.2