openwrt/package/network/utils/iproute2/patches/010-bridge-mst-fix-a-musl-build-issue.patch

69 lines
2.4 KiB
Diff
Raw Normal View History

iproute2: update to 6.11.0 Release Notes: https://lore.kernel.org/netdev/20240717090601.20b2871f@hermes.local/T/ https://lwn.net/Articles/990423/ Remove patch `401-bridge-vlan.c-bridge-vlan.c-fix-build-with-gcc-14-on.patch` because it is upstream now. Backport two patches to fix build problems in bridge/mst.c Small size increase: 38538 bin/packages/mips_24kc-old/base/devlink_6.9.0-r1_mips_24kc.ipk 7713 bin/packages/mips_24kc-old/base/genl_6.9.0-r1_mips_24kc.ipk 31875 bin/packages/mips_24kc-old/base/ip-bridge_6.9.0-r1_mips_24kc.ipk 187733 bin/packages/mips_24kc-old/base/ip-full_6.9.0-r1_mips_24kc.ipk 126538 bin/packages/mips_24kc-old/base/ip-tiny_6.9.0-r1_mips_24kc.ipk 7619 bin/packages/mips_24kc-old/base/nstat_6.9.0-r1_mips_24kc.ipk 20704 bin/packages/mips_24kc-old/base/rdma_6.9.0-r1_mips_24kc.ipk 37607 bin/packages/mips_24kc-old/base/ss_6.9.0-r1_mips_24kc.ipk 158909 bin/packages/mips_24kc-old/base/tc-bpf_6.9.0-r1_mips_24kc.ipk 160459 bin/packages/mips_24kc-old/base/tc-full_6.9.0-r1_mips_24kc.ipk 135846 bin/packages/mips_24kc-old/base/tc-tiny_6.9.0-r1_mips_24kc.ipk 38669 bin/packages/mips_24kc-new/base/devlink_6.11.0-r1_mips_24kc.ipk 7719 bin/packages/mips_24kc-new/base/genl_6.11.0-r1_mips_24kc.ipk 32676 bin/packages/mips_24kc-new/base/ip-bridge_6.11.0-r1_mips_24kc.ipk 188920 bin/packages/mips_24kc-new/base/ip-full_6.11.0-r1_mips_24kc.ipk 127313 bin/packages/mips_24kc-new/base/ip-tiny_6.11.0-r1_mips_24kc.ipk 7612 bin/packages/mips_24kc-new/base/nstat_6.11.0-r1_mips_24kc.ipk 21065 bin/packages/mips_24kc-new/base/rdma_6.11.0-r1_mips_24kc.ipk 37726 bin/packages/mips_24kc-new/base/ss_6.11.0-r1_mips_24kc.ipk 158921 bin/packages/mips_24kc-new/base/tc-bpf_6.11.0-r1_mips_24kc.ipk 160510 bin/packages/mips_24kc-new/base/tc-full_6.11.0-r1_mips_24kc.ipk 136352 bin/packages/mips_24kc-new/base/tc-tiny_6.11.0-r1_mips_24kc.ipk Link: https://github.com/openwrt/openwrt/pull/16589 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-10-03 19:51:54 +00:00
From 6a77abab92516e65f07f8657fc4e384c4541ce0e Mon Sep 17 00:00:00 2001
From: Dario Binacchi <dario.binacchi@amarulasolutions.com>
Date: Sun, 22 Sep 2024 16:50:10 +0200
Subject: bridge: mst: fix a musl build issue
This patch fixes a compilation error raised by the bump to version 6.11.0
in Buildroot using musl as the C library for the cross-compilation
toolchain.
After setting the CFLGAS
ifeq ($(BR2_TOOLCHAIN_USES_MUSL),y)
IPROUTE2_CFLAGS += -D__UAPI_DEF_IN6_ADDR=0 -D__UAPI_DEF_SOCKADDR_IN6=0 \
-D__UAPI_DEF_IPV6_MREQ=0
endif
to fix the following errors:
In file included from ../../../host/mips64-buildroot-linux-musl/sysroot/usr/include/arpa/inet.h:9,
from ../include/libnetlink.h:14,
from mst.c:10:
../../../host/mips64-buildroot-linux-musl/sysroot/usr/include/netinet/in.h:23:8: error: redefinition of 'struct in6_addr'
23 | struct in6_addr {
| ^~~~~~~~
In file included from ../include/uapi/linux/if_bridge.h:19,
from mst.c:7:
../include/uapi/linux/in6.h:33:8: note: originally defined here
33 | struct in6_addr {
| ^~~~~~~~
../../../host/mips64-buildroot-linux-musl/sysroot/usr/include/netinet/in.h:34:8: error: redefinition of 'struct sockaddr_in6'
34 | struct sockaddr_in6 {
| ^~~~~~~~~~~~
../include/uapi/linux/in6.h:50:8: note: originally defined here
50 | struct sockaddr_in6 {
| ^~~~~~~~~~~~
../../../host/mips64-buildroot-linux-musl/sysroot/usr/include/netinet/in.h:42:8: error: redefinition of 'struct ipv6_mreq'
42 | struct ipv6_mreq {
| ^~~~~~~~~
../include/uapi/linux/in6.h:60:8: note: originally defined here
60 | struct ipv6_mreq {
I got this further errors
../include/uapi/linux/in6.h:72:25: error: field 'flr_dst' has incomplete type
72 | struct in6_addr flr_dst;
| ^~~~~~~
../include/uapi/linux/if_bridge.h:711:41: error: field 'ip6' has incomplete type
711 | struct in6_addr ip6;
| ^~~
fixed by including the netinet/in.h header.
Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
bridge/mst.c | 1 +
1 file changed, 1 insertion(+)
--- a/bridge/mst.c
+++ b/bridge/mst.c
@@ -4,6 +4,7 @@
*/
#include <stdio.h>
+#include <netinet/in.h>
#include <linux/if_bridge.h>
#include <net/if.h>