iproute2: fix tc-tiny build failure
authorRui Salvaterra <rsalvaterra@gmail.com>
Sat, 5 Oct 2024 19:34:17 +0000 (20:34 +0100)
committerHauke Mehrtens <hauke@hauke-m.de>
Sun, 6 Oct 2024 01:43:14 +0000 (03:43 +0200)
htobe64 usage requires including endian.h, otherwise tc-tiny fails to build.

Fixes: 626236638197 ("iproute2: update to 6.11.0")
Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16609
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
package/network/utils/iproute2/patches/012-libnetlink-fix-build-with-musl-and-gcc-14.patch [new file with mode: 0644]

diff --git a/package/network/utils/iproute2/patches/012-libnetlink-fix-build-with-musl-and-gcc-14.patch b/package/network/utils/iproute2/patches/012-libnetlink-fix-build-with-musl-and-gcc-14.patch
new file mode 100644 (file)
index 0000000..749176a
--- /dev/null
@@ -0,0 +1,28 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Natanael Copa <ncopa@alpinelinux.org>
+Date: Thu, 8 Aug 2024 09:19:01 +0200
+Subject: libnetlink: fix build with musl and gcc 14
+
+Fixes compilation error with musl libc and gcc 14:
+
+../include/libnetlink.h: In function 'rta_getattr_be64':
+../include/libnetlink.h:280:16: error: implicit declaration of function 'htobe64' [-Wimplicit-function-declaration]
+  280 |         return htobe64(rta_getattr_u64(rta));
+      |                ^~~~~~~
+
+Reference: https://man7.org/linux/man-pages/man3/endian.3.html
+Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
+---
+ include/libnetlink.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/include/libnetlink.h
++++ b/include/libnetlink.h
+@@ -2,6 +2,7 @@
+ #ifndef __LIBNETLINK_H__
+ #define __LIBNETLINK_H__ 1
++#include <endian.h>
+ #include <stdio.h>
+ #include <string.h>
+ #include <asm/types.h>