[openwrt/openwrt] iproute2: Fix build with GCC 12 and glibc 2.36

LEDE Commits lede-commits at lists.infradead.org
Mon Dec 26 06:19:06 PST 2022


hauke pushed a commit to openwrt/openwrt.git, branch master:
https://git.openwrt.org/fb15cb4ce9559021d463b5cb3816d8a9eeb8f3f9

commit fb15cb4ce9559021d463b5cb3816d8a9eeb8f3f9
Author: Hauke Mehrtens <hauke at hauke-m.de>
AuthorDate: Wed Dec 21 23:32:23 2022 +0100

    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 <hauke at hauke-m.de>
---
 .../320-configure-Remove-include-sys-stat.h.patch  | 43 ++++++++++++++++++++++
 1 file changed, 43 insertions(+)

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 <hauke at hauke-m.de>
+Date: Wed, 21 Dec 2022 23:26:28 +0100
+Subject: [PATCH iproute2 v2] configure: Remove include <sys/stat.h>
+
+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 <linux/compiler_types.h>
+      |          ^~~~~~~~~~~~~~~~~~~~~~~~
+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 <heiko.thiery at gmail.com>
+Signed-off-by: Hauke Mehrtens <hauke at hauke-m.de>
+---
+ 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 <<EOF
+ #define _GNU_SOURCE
+ #include <sys/types.h>
+-#include <sys/stat.h>
+ #include <fcntl.h>
+ int main(int argc, char **argv)
+ {




More information about the lede-commits mailing list