diff options
Diffstat (limited to 'sys-apps/iproute2/files/iproute2-6.6.0-musl-c99.patch')
-rw-r--r-- | sys-apps/iproute2/files/iproute2-6.6.0-musl-c99.patch | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/sys-apps/iproute2/files/iproute2-6.6.0-musl-c99.patch b/sys-apps/iproute2/files/iproute2-6.6.0-musl-c99.patch new file mode 100644 index 000000000000..c277bd6d1128 --- /dev/null +++ b/sys-apps/iproute2/files/iproute2-6.6.0-musl-c99.patch @@ -0,0 +1,75 @@ +From 12416003e4c691afc732d26f0a07c3890c24b396 Mon Sep 17 00:00:00 2001 +From: Gabi Falk <gabifalk@gmx.com> +Date: Fri, 10 May 2024 14:36:12 +0000 +Subject: [PATCH] bridge/vlan.c: bridge/vlan.c: fix build with gcc 14 on musl + systems + +On glibc based systems the definition of 'struct timeval' is pulled in +with inclusion of <stdlib.h> header, but on musl based systems it +doesn't work this way. Missing definition triggers an +incompatible-pointer-types error with gcc 14 (warning on previous +versions of gcc): + +../include/json_print.h:80:30: warning: 'struct timeval' declared inside parameter list will not be visible outside of this definition or declaration + 80 | _PRINT_FUNC(tv, const struct timeval *) + | ^~~~~~~ +../include/json_print.h:50:37: note: in definition of macro '_PRINT_FUNC' + 50 | type value); \ + | ^~~~ +../include/json_print.h:80:30: warning: 'struct timeval' declared inside parameter list will not be visible outside of this definition or declaration + 80 | _PRINT_FUNC(tv, const struct timeval *) + | ^~~~~~~ +../include/json_print.h:55:45: note: in definition of macro '_PRINT_FUNC' + 55 | type value) \ + | ^~~~ +../include/json_print.h: In function 'print_tv': +../include/json_print.h:58:48: error: passing argument 5 of 'print_color_tv' from incompatible pointer type [-Wincompatible-pointer-types] + 58 | value); \ + | ^~~~~ + | | + | const struct timeval * + +Link: https://lore.kernel.org/netdev/20240510143613.1531283-1-gabifalk@gmx.com/T/#u +Signed-off-by: Gabi Falk <gabifalk@gmx.com> +--- + bridge/vlan.c | 1 + + bridge/vni.c | 1 + + vdpa/vdpa.c | 1 + + 3 files changed, 3 insertions(+) + +diff --git a/bridge/vlan.c b/bridge/vlan.c +index 5352eb24..0a7e6c45 100644 +--- a/bridge/vlan.c ++++ b/bridge/vlan.c +@@ -4,6 +4,7 @@ + #include <unistd.h> + #include <fcntl.h> + #include <sys/socket.h> ++#include <sys/time.h> + #include <net/if.h> + #include <netinet/in.h> + #include <linux/if_bridge.h> +diff --git a/bridge/vni.c b/bridge/vni.c +index a7abe6de..e1f981fc 100644 +--- a/bridge/vni.c ++++ b/bridge/vni.c +@@ -10,6 +10,7 @@ + #include <string.h> + #include <fcntl.h> + #include <sys/socket.h> ++#include <sys/time.h> + #include <net/if.h> + #include <netinet/in.h> + #include <linux/if_link.h> +diff --git a/vdpa/vdpa.c b/vdpa/vdpa.c +index 6e4a9c11..43f87824 100644 +--- a/vdpa/vdpa.c ++++ b/vdpa/vdpa.c +@@ -3,6 +3,7 @@ + #include <stdio.h> + #include <getopt.h> + #include <errno.h> ++#include <sys/time.h> + #include <linux/genetlink.h> + #include <linux/if_ether.h> + #include <linux/vdpa.h> |