From e3bbd70789113f57d2755a23f1b065183306148b Mon Sep 17 00:00:00 2001 From: Rosen Penev Date: Thu, 14 Nov 2024 14:44:37 -0800 Subject: [PATCH] nbd: fix compilation with GCC14 Upstream backport. Signed-off-by: Rosen Penev --- net/nbd/Makefile | 2 +- net/nbd/patches/010-gcc14.patch | 37 +++++++++++++++++++++++++++++++++ 2 files changed, 38 insertions(+), 1 deletion(-) create mode 100644 net/nbd/patches/010-gcc14.patch diff --git a/net/nbd/Makefile b/net/nbd/Makefile index d1aaa76a0..e0e8bc6e4 100644 --- a/net/nbd/Makefile +++ b/net/nbd/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=nbd PKG_VERSION:=3.25 -PKG_RELEASE:=1 +PKG_RELEASE:=2 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz PKG_SOURCE_URL:=https://github.com/NetworkBlockDevice/nbd/releases/download/$(PKG_NAME)-$(PKG_VERSION) diff --git a/net/nbd/patches/010-gcc14.patch b/net/nbd/patches/010-gcc14.patch new file mode 100644 index 000000000..73caec3cd --- /dev/null +++ b/net/nbd/patches/010-gcc14.patch @@ -0,0 +1,37 @@ +From 4664b8dd3bc124c27b160720113339c1da97c2c4 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Mon, 20 May 2024 17:50:51 -0700 +Subject: [PATCH] nbd-client: Fix build on musl + gcc14 + +GCC-14 has promoted incompatible-pointer-types warning into error which is +now flagged especially with when building on musl + +Fixes following error + +| ../nbd-3.26.1/nbd-client.c: In function 'openunix': +| ../nbd-3.26.1/nbd-client.c:345:27: error: passing argument 2 of 'connect' from incompatible pointer type [-Wincompatible-pointer-types] +| 345 | if (connect(sock, &un_addr, sizeof(un_addr)) == -1) { +| | ^~~~~~~~ +| | | +| | struct sockaddr_un * +| In file included from ../nbd-3.26.1/nbd-client.c:25: +| /mnt/b/yoe/master/build/tmp/work/core2-64-yoe-linux-musl/nbd/3.26.1/recipe-sysroot/usr/include/sys/socket.h:386:19: note: expected 'const struct sockaddr *' but argument is of type 'struct sockaddr_un *' +| 386 | int connect (int, const struct sockaddr *, socklen_t); +| | ^~~~~~~~~~~~~~~~~~~~~~~ + +Signed-off-by: Khem Raj +--- + nbd-client.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/nbd-client.c ++++ b/nbd-client.c +@@ -341,7 +341,7 @@ int openunix(const char *path) { + return -1; + }; + +- if (connect(sock, &un_addr, sizeof(un_addr)) == -1) { ++ if (connect(sock, (struct sockaddr*)&un_addr, sizeof(un_addr)) == -1) { + err_nonfatal("CONNECT failed"); + close(sock); + return -1;