From 3daacde7bcbc1c7bedc688f42cff696023b200b0 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Tue, 14 Jan 2025 19:23:15 +0100 Subject: [PATCH] Update iproute2 --- iproute2/Makefile | 25 +-- ...10-bridge-mst-fix-a-musl-build-issue.patch | 68 ------- ...e-mst-fix-a-further-musl-build-issue.patch | 51 ----- ...tlink-fix-build-with-musl-and-gcc-14.patch | 28 --- iproute2/patches/013-endian.h.patch | 22 +++ iproute2/patches/014-basename.patch | 29 +++ iproute2/patches/015-limits.h.patch | 84 +++++++++ iproute2/patches/016-limits.h.patch | 26 +++ iproute2/patches/017-linux-limits.patch | 178 ++++++++++++++++++ iproute2/patches/018-linux-limits.patch | 37 ++++ .../patches/175-reduce-dynamic-syms.patch | 45 ----- ...0-rdma-include-libgen.h-for-basename.patch | 10 - 12 files changed, 381 insertions(+), 222 deletions(-) delete mode 100644 iproute2/patches/010-bridge-mst-fix-a-musl-build-issue.patch delete mode 100644 iproute2/patches/011-bridge-mst-fix-a-further-musl-build-issue.patch delete mode 100644 iproute2/patches/012-libnetlink-fix-build-with-musl-and-gcc-14.patch create mode 100644 iproute2/patches/013-endian.h.patch create mode 100644 iproute2/patches/014-basename.patch create mode 100644 iproute2/patches/015-limits.h.patch create mode 100644 iproute2/patches/016-limits.h.patch create mode 100644 iproute2/patches/017-linux-limits.patch create mode 100644 iproute2/patches/018-linux-limits.patch delete mode 100644 iproute2/patches/175-reduce-dynamic-syms.patch delete mode 100644 iproute2/patches/400-rdma-include-libgen.h-for-basename.patch diff --git a/iproute2/Makefile b/iproute2/Makefile index c2508f71b..ca6793d49 100644 --- a/iproute2/Makefile +++ b/iproute2/Makefile @@ -8,12 +8,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=iproute2 -PKG_VERSION:=6.11.0 -PKG_RELEASE:=1 +PKG_VERSION:=6.12.0 +PKG_RELEASE:=2 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz PKG_SOURCE_URL:=@KERNEL/linux/utils/net/iproute2 -PKG_HASH:=1f795398a04aeaacd06a8f6ace2cfd913c33fa5953ca99daae83bb5c534611c3 +PKG_HASH:=bbd141ef7b5d0127cc2152843ba61f274dc32814fa3e0f13e7d07a080bef53d9 PKG_BUILD_PARALLEL:=1 PKG_BUILD_DEPENDS:=iptables PKG_LICENSE:=GPL-2.0 @@ -77,14 +77,7 @@ $(call Package/iproute2/Default) VARIANT:=tcfull PROVIDES:=tc ALTERNATIVES:=400:/sbin/tc:/usr/libexec/tc-full - DEPENDS:=+kmod-sched-core +(PACKAGE_devlink||PACKAGE_rdma):libmnl +libbpf +libxtables +tc-mod-iptables -endef - -define Package/tc-mod-iptables -$(call Package/iproute2/Default) - TITLE:=Traffic control module - iptables action - VARIANT:=tcfull - DEPENDS:=+libxtables +libbpf + DEPENDS:=+kmod-sched-core +(PACKAGE_devlink||PACKAGE_rdma):libmnl +libbpf +libxtables endef define Package/genl @@ -102,7 +95,7 @@ endef define Package/ss $(call Package/iproute2/Default) TITLE:=Socket statistics utility - DEPENDS:=+libnl-tiny +(PACKAGE_devlink||PACKAGE_rdma):libmnl +kmod-netlink-diag + DEPENDS:=+libnl-tiny +(PACKAGE_devlink||PACKAGE_rdma):libmnl +libbpf +kmod-netlink-diag endef define Package/nstat @@ -232,11 +225,6 @@ define Package/tc-full/install $(INSTALL_BIN) $(PKG_BUILD_DIR)/tc/tc $(1)/usr/libexec/tc-full endef -define Package/tc-mod-iptables/install - $(INSTALL_DIR) $(1)/usr/lib/tc - $(CP) $(PKG_BUILD_DIR)/tc/m_xt.so $(1)/usr/lib/tc -endef - define Package/genl/install $(INSTALL_DIR) $(1)/usr/sbin $(INSTALL_BIN) $(PKG_BUILD_DIR)/genl/genl $(1)/usr/sbin/ @@ -269,9 +257,6 @@ endef $(eval $(call BuildPackage,ip-tiny)) $(eval $(call BuildPackage,ip-full)) -# build tc-mod-iptables before its dependents, to avoid -# spurious rebuilds when building multiple variants. -$(eval $(call BuildPackage,tc-mod-iptables)) $(eval $(call BuildPackage,tc-tiny)) $(eval $(call BuildPackage,tc-bpf)) $(eval $(call BuildPackage,tc-full)) diff --git a/iproute2/patches/010-bridge-mst-fix-a-musl-build-issue.patch b/iproute2/patches/010-bridge-mst-fix-a-musl-build-issue.patch deleted file mode 100644 index 1630415eb..000000000 --- a/iproute2/patches/010-bridge-mst-fix-a-musl-build-issue.patch +++ /dev/null @@ -1,68 +0,0 @@ -From 6a77abab92516e65f07f8657fc4e384c4541ce0e Mon Sep 17 00:00:00 2001 -From: Dario Binacchi -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 -Signed-off-by: Stephen Hemminger ---- - bridge/mst.c | 1 + - 1 file changed, 1 insertion(+) - ---- a/bridge/mst.c -+++ b/bridge/mst.c -@@ -4,6 +4,7 @@ - */ - - #include -+#include - #include - #include - diff --git a/iproute2/patches/011-bridge-mst-fix-a-further-musl-build-issue.patch b/iproute2/patches/011-bridge-mst-fix-a-further-musl-build-issue.patch deleted file mode 100644 index 1bdab398f..000000000 --- a/iproute2/patches/011-bridge-mst-fix-a-further-musl-build-issue.patch +++ /dev/null @@ -1,51 +0,0 @@ -From 043ef90e2fa94397eb5c85330889ca4146a6d58a Mon Sep 17 00:00:00 2001 -From: Dario Binacchi -Date: Sun, 22 Sep 2024 16:50:11 +0200 -Subject: bridge: mst: fix a further musl build issue - -This patch fixes the following build errors: - -In file included from mst.c:11: -../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 * -../include/json_print.h:80:1: note: in expansion of macro '_PRINT_FUNC' - 80 | _PRINT_FUNC(tv, const struct timeval *) - | ^~~~~~~~~~~ -../include/json_print.h:50:42: note: expected 'const struct timeval *' but argument is of type 'const struct timeval *' - 50 | type value); \ - | ^ -../include/json_print.h:80:1: note: in expansion of macro '_PRINT_FUNC' - 80 | _PRINT_FUNC(tv, const struct timeval *) - -Signed-off-by: Dario Binacchi -Signed-off-by: Stephen Hemminger ---- - bridge/mst.c | 1 + - 1 file changed, 1 insertion(+) - ---- a/bridge/mst.c -+++ b/bridge/mst.c -@@ -4,6 +4,7 @@ - */ - - #include -+#include - #include - #include - #include diff --git a/iproute2/patches/012-libnetlink-fix-build-with-musl-and-gcc-14.patch b/iproute2/patches/012-libnetlink-fix-build-with-musl-and-gcc-14.patch deleted file mode 100644 index 749176a8d..000000000 --- a/iproute2/patches/012-libnetlink-fix-build-with-musl-and-gcc-14.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Natanael Copa -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 ---- - 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 - #include - #include - #include diff --git a/iproute2/patches/013-endian.h.patch b/iproute2/patches/013-endian.h.patch new file mode 100644 index 000000000..a81c3b5ee --- /dev/null +++ b/iproute2/patches/013-endian.h.patch @@ -0,0 +1,22 @@ +From c8b3ecc22ed0edaf0259eaf7d1a5c04f300ad6e4 Mon Sep 17 00:00:00 2001 +From: Stephen Hemminger +Date: Thu, 12 Dec 2024 11:24:18 -0800 +Subject: [PATCH] libnetlink: add missing endian.h + +Need endian.h to get htobe64 with musl. + +Signed-off-by: Stephen Hemminger +--- + include/libnetlink.h | 1 + + 1 file changed, 1 insertion(+) + +--- a/include/libnetlink.h ++++ b/include/libnetlink.h +@@ -4,6 +4,7 @@ + + #include + #include ++#include + #include + #include + #include diff --git a/iproute2/patches/014-basename.patch b/iproute2/patches/014-basename.patch new file mode 100644 index 000000000..f98238ec6 --- /dev/null +++ b/iproute2/patches/014-basename.patch @@ -0,0 +1,29 @@ +From fa3949b792e275f75d7d6200dc2036ef7fff8816 Mon Sep 17 00:00:00 2001 +From: Stephen Hemminger +Date: Thu, 12 Dec 2024 11:21:56 -0800 +Subject: [PATCH] rdma: add missing header for basename + +The function basename prototype is in libgen.h +Fixes build on musl + +Signed-off-by: Stephen Hemminger +--- + rdma/rdma.h | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +--- a/rdma/rdma.h ++++ b/rdma/rdma.h +@@ -10,11 +10,12 @@ + #include + #include + #include ++#include ++#include + #include + #include + #include + #include +-#include + #include + + #include "list.h" diff --git a/iproute2/patches/015-limits.h.patch b/iproute2/patches/015-limits.h.patch new file mode 100644 index 000000000..e212b88eb --- /dev/null +++ b/iproute2/patches/015-limits.h.patch @@ -0,0 +1,84 @@ +From 7e23da91fca6e5dedeb32a7d308cf20982e897c3 Mon Sep 17 00:00:00 2001 +From: Stephen Hemminger +Date: Tue, 10 Dec 2024 13:38:08 -0800 +Subject: [PATCH] ip: rearrange and prune header files + +The recent report of issues with missing limits.h impacting musl +suggested looking at what files are and are not included in ip code. + +The standard practice is to put standard headers first, then system, +then local headers. Used iwyu to get suggestions about missing +and extraneous headers. + +Signed-off-by: Stephen Hemminger +--- + ip/iplink.c | 13 +++++-------- + ip/ipnetns.c | 19 +++++++++---------- + 2 files changed, 14 insertions(+), 18 deletions(-) + +--- a/ip/iplink.c ++++ b/ip/iplink.c +@@ -11,17 +11,14 @@ + #include + #include + #include ++#include ++#include ++#include ++ + #include ++#include + #include +-#include + #include +-#include +-#include +-#include +-#include +-#include +-#include +-#include + + #include "rt_names.h" + #include "utils.h" +--- a/ip/ipnetns.c ++++ b/ip/ipnetns.c +@@ -1,21 +1,21 @@ + /* SPDX-License-Identifier: GPL-2.0 */ + #define _ATFILE_SOURCE +-#include +-#include +-#include +-#include +-#include +-#include +-#include ++ + #include ++#include + #include +-#include + #include + #include + #include + #include + #include +-#include ++#include ++ ++#include ++#include ++#include ++#include ++#include + + #include + +@@ -23,7 +23,6 @@ + #include "list.h" + #include "ip_common.h" + #include "namespace.h" +-#include "json_print.h" + + static int usage(void) + { diff --git a/iproute2/patches/016-limits.h.patch b/iproute2/patches/016-limits.h.patch new file mode 100644 index 000000000..c20404f6f --- /dev/null +++ b/iproute2/patches/016-limits.h.patch @@ -0,0 +1,26 @@ +From f982f30e166a02e09097de05129449031ba51f76 Mon Sep 17 00:00:00 2001 +From: Stephen Hemminger +Date: Thu, 12 Dec 2024 11:29:44 -0800 +Subject: [PATCH] cg_map: use limits.h + +Prefer limits.h from system headers over linux/limits.h +Fixes build with musl. + +Signed-off-by: Stephen Hemminger +--- + lib/cg_map.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +--- a/lib/cg_map.c ++++ b/lib/cg_map.c +@@ -9,8 +9,9 @@ + #include + #include + #include ++#include ++ + #include +-#include + #include + + #include "cg_map.h" diff --git a/iproute2/patches/017-linux-limits.patch b/iproute2/patches/017-linux-limits.patch new file mode 100644 index 000000000..0c5d13840 --- /dev/null +++ b/iproute2/patches/017-linux-limits.patch @@ -0,0 +1,178 @@ +From ac547ad027e3d4e283202ecb487cf54707234491 Mon Sep 17 00:00:00 2001 +From: Stephen Hemminger +Date: Thu, 12 Dec 2024 14:15:59 -0800 +Subject: [PATCH] flower: replace XATTR_SIZE_MAX + +The flower tc parser was using XATTR_SIZE_MAX from linux/limits.h, +but this constant is intended to before extended filesystem attributes +not for TC. Replace it with a local define. + +This fixes issue on systems with musl and XATTR_SIZE_MAX is not +defined in limits.h there. + +Signed-off-by: Stephen Hemminger +--- + tc/f_flower.c | 37 ++++++++++++++++++++----------------- + 1 file changed, 20 insertions(+), 17 deletions(-) + +--- a/tc/f_flower.c ++++ b/tc/f_flower.c +@@ -10,7 +10,7 @@ + #include + #include + #include +-#include ++ + #include + #include + #include +@@ -22,6 +22,9 @@ + #include "tc_util.h" + #include "rt_names.h" + ++/* maximum length of options string */ ++#define FLOWER_OPTS_MAX 4096 ++ + #ifndef IPPROTO_L2TP + #define IPPROTO_L2TP 115 + #endif +@@ -1252,7 +1255,7 @@ static int flower_check_enc_opt_key(char + + static int flower_parse_enc_opts_geneve(char *str, struct nlmsghdr *n) + { +- char key[XATTR_SIZE_MAX], mask[XATTR_SIZE_MAX]; ++ char key[FLOWER_OPTS_MAX], mask[FLOWER_OPTS_MAX]; + int data_len, key_len, mask_len, err; + char *token, *slash; + struct rtattr *nest; +@@ -1265,7 +1268,7 @@ static int flower_parse_enc_opts_geneve( + if (slash) + *slash = '\0'; + +- if ((key_len + strlen(token) > XATTR_SIZE_MAX) || ++ if ((key_len + strlen(token) > FLOWER_OPTS_MAX) || + flower_check_enc_opt_key(token)) + return -1; + +@@ -1275,7 +1278,7 @@ static int flower_parse_enc_opts_geneve( + + if (!slash) { + /* Pad out mask when not provided */ +- if (mask_len + strlen(token) > XATTR_SIZE_MAX) ++ if (mask_len + strlen(token) > FLOWER_OPTS_MAX) + return -1; + + data_len = strlen(rindex(token, ':')); +@@ -1288,7 +1291,7 @@ static int flower_parse_enc_opts_geneve( + continue; + } + +- if (mask_len + strlen(slash + 1) > XATTR_SIZE_MAX) ++ if (mask_len + strlen(slash + 1) > FLOWER_OPTS_MAX) + return -1; + + strcpy(&mask[mask_len], slash + 1); +@@ -1318,7 +1321,7 @@ static int flower_parse_enc_opts_geneve( + + static int flower_parse_enc_opts_vxlan(char *str, struct nlmsghdr *n) + { +- char key[XATTR_SIZE_MAX], mask[XATTR_SIZE_MAX]; ++ char key[FLOWER_OPTS_MAX], mask[FLOWER_OPTS_MAX]; + struct rtattr *nest; + char *slash; + int err; +@@ -1326,14 +1329,14 @@ static int flower_parse_enc_opts_vxlan(c + slash = strchr(str, '/'); + if (slash) { + *slash++ = '\0'; +- if (strlen(slash) > XATTR_SIZE_MAX) ++ if (strlen(slash) > FLOWER_OPTS_MAX) + return -1; + strcpy(mask, slash); + } else { + strcpy(mask, "0xffffffff"); + } + +- if (strlen(str) > XATTR_SIZE_MAX) ++ if (strlen(str) > FLOWER_OPTS_MAX) + return -1; + strcpy(key, str); + +@@ -1355,7 +1358,7 @@ static int flower_parse_enc_opts_vxlan(c + + static int flower_parse_enc_opts_erspan(char *str, struct nlmsghdr *n) + { +- char key[XATTR_SIZE_MAX], mask[XATTR_SIZE_MAX]; ++ char key[FLOWER_OPTS_MAX], mask[FLOWER_OPTS_MAX]; + struct rtattr *nest; + char *slash; + int err; +@@ -1364,7 +1367,7 @@ static int flower_parse_enc_opts_erspan( + slash = strchr(str, '/'); + if (slash) { + *slash++ = '\0'; +- if (strlen(slash) > XATTR_SIZE_MAX) ++ if (strlen(slash) > FLOWER_OPTS_MAX) + return -1; + strcpy(mask, slash); + } else { +@@ -1376,7 +1379,7 @@ static int flower_parse_enc_opts_erspan( + strcpy(mask + index, ":0xffffffff:0xff:0xff"); + } + +- if (strlen(str) > XATTR_SIZE_MAX) ++ if (strlen(str) > FLOWER_OPTS_MAX) + return -1; + strcpy(key, str); + +@@ -1398,7 +1401,7 @@ static int flower_parse_enc_opts_erspan( + + static int flower_parse_enc_opts_gtp(char *str, struct nlmsghdr *n) + { +- char key[XATTR_SIZE_MAX], mask[XATTR_SIZE_MAX]; ++ char key[FLOWER_OPTS_MAX], mask[FLOWER_OPTS_MAX]; + struct rtattr *nest; + char *slash; + int err; +@@ -1406,13 +1409,13 @@ static int flower_parse_enc_opts_gtp(cha + slash = strchr(str, '/'); + if (slash) { + *slash++ = '\0'; +- if (strlen(slash) > XATTR_SIZE_MAX) ++ if (strlen(slash) > FLOWER_OPTS_MAX) + return -1; + strcpy(mask, slash); + } else + strcpy(mask, "ff:ff"); + +- if (strlen(str) > XATTR_SIZE_MAX) ++ if (strlen(str) > FLOWER_OPTS_MAX) + return -1; + strcpy(key, str); + +@@ -1433,7 +1436,7 @@ static int flower_parse_enc_opts_gtp(cha + + static int flower_parse_enc_opts_pfcp(char *str, struct nlmsghdr *n) + { +- char key[XATTR_SIZE_MAX], mask[XATTR_SIZE_MAX]; ++ char key[FLOWER_OPTS_MAX], mask[FLOWER_OPTS_MAX]; + struct rtattr *nest; + char *slash; + int err; +@@ -1442,14 +1445,14 @@ static int flower_parse_enc_opts_pfcp(ch + slash = strchr(str, '/'); + if (slash) { + *slash++ = '\0'; +- if (strlen(slash) > XATTR_SIZE_MAX) ++ if (strlen(slash) > FLOWER_OPTS_MAX) + return -1; + strcpy(mask, slash); + } else { + strcpy(mask, "ff:ffffffffffffffff"); + } + +- if (strlen(str) > XATTR_SIZE_MAX) ++ if (strlen(str) > FLOWER_OPTS_MAX) + return -1; + strcpy(key, str); + diff --git a/iproute2/patches/018-linux-limits.patch b/iproute2/patches/018-linux-limits.patch new file mode 100644 index 000000000..8c2669acd --- /dev/null +++ b/iproute2/patches/018-linux-limits.patch @@ -0,0 +1,37 @@ +From 458dce5d0431f0589aca1bc841904b5d1db3bbce Mon Sep 17 00:00:00 2001 +From: Stephen Hemminger +Date: Thu, 12 Dec 2024 14:18:35 -0800 +Subject: [PATCH] uapi: remove no longer used linux/limits.h + +Code is now using limits.h instead. + +Signed-off-by: Stephen Hemminger +--- + include/uapi/linux/limits.h | 21 --------------------- + 1 file changed, 21 deletions(-) + delete mode 100644 include/uapi/linux/limits.h + +--- a/include/uapi/linux/limits.h ++++ /dev/null +@@ -1,21 +0,0 @@ +-/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +-#ifndef _LINUX_LIMITS_H +-#define _LINUX_LIMITS_H +- +-#define NR_OPEN 1024 +- +-#define NGROUPS_MAX 65536 /* supplemental group IDs are available */ +-#define ARG_MAX 131072 /* # bytes of args + environ for exec() */ +-#define LINK_MAX 127 /* # links a file may have */ +-#define MAX_CANON 255 /* size of the canonical input queue */ +-#define MAX_INPUT 255 /* size of the type-ahead buffer */ +-#define NAME_MAX 255 /* # chars in a file name */ +-#define PATH_MAX 4096 /* # chars in a path name including nul */ +-#define PIPE_BUF 4096 /* # bytes in atomic write to a pipe */ +-#define XATTR_NAME_MAX 255 /* # chars in an extended attribute name */ +-#define XATTR_SIZE_MAX 65536 /* size of an extended attribute value (64k) */ +-#define XATTR_LIST_MAX 65536 /* size of extended attribute namelist (64k) */ +- +-#define RTSIG_MAX 32 +- +-#endif diff --git a/iproute2/patches/175-reduce-dynamic-syms.patch b/iproute2/patches/175-reduce-dynamic-syms.patch deleted file mode 100644 index c3892e5a0..000000000 --- a/iproute2/patches/175-reduce-dynamic-syms.patch +++ /dev/null @@ -1,45 +0,0 @@ ---- a/tc/Makefile -+++ b/tc/Makefile -@@ -114,7 +114,7 @@ LDLIBS += -L. -lm - - ifeq ($(SHARED_LIBS),y) - LDLIBS += -ldl --LDFLAGS += -Wl,-export-dynamic -+LDFLAGS += -Wl,--dynamic-list=dynsyms.list - endif - - TCLIB := tc_core.o -@@ -144,7 +144,7 @@ MODDESTDIR := $(DESTDIR)$(LIBDIR)/tc - all: tc $(TCSO) - - tc: $(TCOBJ) $(LIBNETLINK) libtc.a -- $(QUIET_LINK)$(CC) $^ $(LDFLAGS) $(LDLIBS) -o $@ -+ $(QUIET_LINK)$(CC) $(filter-out dynsyms.list, $^) $(LDFLAGS) $(LDLIBS) -o $@ - - libtc.a: $(TCLIB) - $(QUIET_AR)$(AR) rcs $@ $^ -@@ -166,6 +166,7 @@ install: all - clean: - rm -f $(TCOBJ) $(TCLIB) libtc.a tc *.so emp_ematch.tab.h; \ - rm -f emp_ematch.tab.* -+ rm -f dynsyms.list - - q_atm.so: q_atm.c - $(QUIET_CC)$(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -shared -fpic -o q_atm.so q_atm.c -latm -@@ -205,4 +206,16 @@ static-syms.h: $(wildcard *.c) - sed -n '/'$$s'[^ ]* =/{s:.* \([^ ]*'$$s'[^ ]*\) .*:extern char \1[] __attribute__((weak)); if (!strcmp(sym, "\1")) return \1;:;p}' $$files ; \ - done > $@ - -+else -+ -+tc: dynsyms.list -+m_xt.so: dynsyms.list -+dynsyms.list: $(wildcard *.c) -+ files="$(filter-out $(patsubst %.so,%.c,$(TCSO)), $^)" ; \ -+ echo "{" > $@ ; \ -+ for s in `grep -B 3 '\> $@ ; \ -+ echo "show_stats; print_nl; print_tm; parse_rtattr; parse_rtattr_flags; get_u32; matches; addattr_l; addattr_nest; addattr_nest_end; };" >> $@ -+ - endif diff --git a/iproute2/patches/400-rdma-include-libgen.h-for-basename.patch b/iproute2/patches/400-rdma-include-libgen.h-for-basename.patch deleted file mode 100644 index 530d2bcff..000000000 --- a/iproute2/patches/400-rdma-include-libgen.h-for-basename.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- a/rdma/rdma.h -+++ b/rdma/rdma.h -@@ -16,6 +16,7 @@ - #include - #include - #include -+#include - - #include "list.h" - #include "utils.h"