From 6e9c10daa147196ea946c73c0beddfd681706cbb Mon Sep 17 00:00:00 2001 From: Fabrice Fontaine Date: Mon, 27 Sep 2021 18:35:16 +0200 Subject: [PATCH] package/iwd: fix musl build Fix the following build failure with musl raised since bump to version 1.18 in commit 1a7be12e1e10cc09e3a28a8d04a352bbbb63ba3a: src/netconfig.c: In function 'netconfig_ipv6_to_string': src/netconfig.c:188:18: error: 'struct in6_addr' has no member named '__in6_u'; did you mean '__in6_union'? 188 | memcpy(in6_addr.__in6_u.__u6_addr8, addr, 16); | ^~~~~~~ | __in6_union Fixes: - http://autobuild.buildroot.org/results/2c4e6cf22e6fb5582470930241904878070f1144 Signed-off-by: Fabrice Fontaine Reviewed-by: Peter Seiderer Signed-off-by: Arnout Vandecappelle (Essensium/Mind) --- ...nfig-Remove-usage-of-in6_addr__in6_u.patch | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 package/iwd/0002-netconfig-Remove-usage-of-in6_addr__in6_u.patch diff --git a/package/iwd/0002-netconfig-Remove-usage-of-in6_addr__in6_u.patch b/package/iwd/0002-netconfig-Remove-usage-of-in6_addr__in6_u.patch new file mode 100644 index 0000000000..f6b3d24516 --- /dev/null +++ b/package/iwd/0002-netconfig-Remove-usage-of-in6_addr__in6_u.patch @@ -0,0 +1,32 @@ +From 42bd5ba7c2665c5bf95ba102a8115c4cf01d31d7 Mon Sep 17 00:00:00 2001 +From: Andrew Zaborowski +Date: Thu, 16 Sep 2021 01:58:29 +0200 +Subject: netconfig: Remove usage of in6_addr.__in6_u + +in6_addr.__in6_u.__u6_addr8 is glibc-specific and named differently in +the headers shipped with musl libc for example. The POSIX compliant and +universal way of accessing it is in6_addr.s6_addr. + +[Retrieved from: +https://git.kernel.org/pub/scm/network/wireless/iwd.git/commit/?id=42bd5ba7c2665c5bf95ba102a8115c4cf01d31d7] +Signed-off-by: Fabrice Fontaine +--- + src/netconfig.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/netconfig.c b/src/netconfig.c +index ce95db0b..421270c9 100644 +--- a/src/netconfig.c ++++ b/src/netconfig.c +@@ -171,7 +171,7 @@ static inline char *netconfig_ipv6_to_string(const uint8_t *addr) + struct in6_addr in6_addr; + char *addr_str = l_malloc(INET6_ADDRSTRLEN); + +- memcpy(in6_addr.__in6_u.__u6_addr8, addr, 16); ++ memcpy(in6_addr.s6_addr, addr, 16); + + if (L_WARN_ON(unlikely(!inet_ntop(AF_INET6, &in6_addr, addr_str, + INET6_ADDRSTRLEN)))) { +-- +cgit 1.2.3-1.el7 +