From: Hauke Mehrtens Date: Wed, 21 Dec 2022 22:32:23 +0000 (+0100) Subject: iproute2: Fix build with GCC 12 and glibc 2.36 X-Git-Tag: v23.05.0-rc1~1467 X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=fb15cb4ce9559021d463b5cb3816d8a9eeb8f3f9;p=openwrt%2Fstaging%2Fhauke.git iproute2: Fix build with GCC 12 and glibc 2.36 This fixes the detection of name_to_handle_at() when GCC 12 and glibc 2.36 are used. Signed-off-by: Hauke Mehrtens --- diff --git a/package/network/utils/iproute2/patches/320-configure-Remove-include-sys-stat.h.patch b/package/network/utils/iproute2/patches/320-configure-Remove-include-sys-stat.h.patch new file mode 100644 index 0000000000..02bb20297d --- /dev/null +++ b/package/network/utils/iproute2/patches/320-configure-Remove-include-sys-stat.h.patch @@ -0,0 +1,43 @@ +From 3a3a2f6be704c970938eb8dac4eb0118f1c2fb06 Mon Sep 17 00:00:00 2001 +From: Hauke Mehrtens +Date: Wed, 21 Dec 2022 23:26:28 +0100 +Subject: [PATCH iproute2 v2] configure: Remove include + +The check_name_to_handle_at() function in the configure script is +including sys/stat.h. This include fails with glibc 2.36 like this: +```` +In file included from /linux-5.15.84/include/uapi/linux/stat.h:5, + from /toolchain-x86_64_gcc-12.2.0_glibc/include/bits/statx.h:31, + from /toolchain-x86_64_gcc-12.2.0_glibc/include/sys/stat.h:465, + from config.YExfMc/name_to_handle_at_test.c:3: +/linux-5.15.84/include/uapi/linux/types.h:10:2: warning: #warning "Attempt to use kernel headers from user space, see https://kernelnewbies.org/KernelHeaders" [-Wcpp] + 10 | #warning "Attempt to use kernel headers from user space, see https://kernelnewbies.org/KernelHeaders" + | ^~~~~~~ +In file included from /linux-5.15.84/include/uapi/linux/posix_types.h:5, + from /linux-5.15.84/include/uapi/linux/types.h:14: +/linux-5.15.84/include/uapi/linux/stddef.h:5:10: fatal error: linux/compiler_types.h: No such file or directory + 5 | #include + | ^~~~~~~~~~~~~~~~~~~~~~~~ +compilation terminated. +```` + +Just removing the include works, the manpage of name_to_handle_at() says +only fcntl.h is needed. + +Fixes: c5b72cc56bf8 ("lib/fs: fix issue when {name,open}_to_handle_at() is not implemented") +Tested-by: Heiko Thiery +Signed-off-by: Hauke Mehrtens +--- + configure | 1 - + 1 file changed, 1 deletion(-) + +--- a/configure ++++ b/configure +@@ -215,7 +215,6 @@ check_name_to_handle_at() + cat >$TMPDIR/name_to_handle_at_test.c < +-#include + #include + int main(int argc, char **argv) + {