buildroot.busybox.net archive mirror
 help / color / mirror / Atom feed
* [Buildroot] [PATCH v3 0/2] Update LTP to 20230127, fixes
@ 2023-04-16 20:17 Petr Vorel
  2023-04-16 20:17 ` [Buildroot] [PATCH v3 1/2] package/ltp-testsuite: require 5.11 headers for musl Petr Vorel
  2023-04-16 20:17 ` [Buildroot] [PATCH v3 2/2] package/ltp-testsuite: bump version to 20230127 Petr Vorel
  0 siblings, 2 replies; 5+ messages in thread
From: Petr Vorel @ 2023-04-16 20:17 UTC (permalink / raw)
  To: buildroot; +Cc: Thomas Petazzoni, Anders Roxell, Yann E . MORIN

From: Petr Vorel <petr.vorel@gmail.com>

Hi,

changes v2->v3:
* new commit: require 5.11 headers for musl (Yann)
* backport was squashed to version update (Yann)

Petr Vorel (2):
  package/ltp-testsuite: require 5.11 headers for musl
  package/ltp-testsuite: bump version to 20230127

 ...onfigure.ac-fix-mount_attr-detection.patch |  54 +++++
 ...ysinfo.h-to-fix-build-with-MUSL-libc.patch | 211 ------------------
 package/ltp-testsuite/Config.in               |   1 +
 package/ltp-testsuite/ltp-testsuite.hash      |   5 +-
 package/ltp-testsuite/ltp-testsuite.mk        |   2 +-
 5 files changed, 58 insertions(+), 215 deletions(-)
 create mode 100644 package/ltp-testsuite/0001-configure.ac-fix-mount_attr-detection.patch
 delete mode 100644 package/ltp-testsuite/0001-lapi-Add-sysinfo.h-to-fix-build-with-MUSL-libc.patch

-- 
2.40.0

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Buildroot] [PATCH v3 1/2] package/ltp-testsuite: require 5.11 headers for musl
  2023-04-16 20:17 [Buildroot] [PATCH v3 0/2] Update LTP to 20230127, fixes Petr Vorel
@ 2023-04-16 20:17 ` Petr Vorel
  2023-04-16 20:45   ` Yann E. MORIN
  2023-04-16 20:17 ` [Buildroot] [PATCH v3 2/2] package/ltp-testsuite: bump version to 20230127 Petr Vorel
  1 sibling, 1 reply; 5+ messages in thread
From: Petr Vorel @ 2023-04-16 20:17 UTC (permalink / raw)
  To: buildroot; +Cc: Thomas Petazzoni, Anders Roxell, Yann E . MORIN

From: Petr Vorel <petr.vorel@gmail.com>

Remove sysinfo.h out of tree workaround for musl. Kernel headers were
fixed in a85cbe6159ff ("uapi: move constants from <linux/kernel.h> to
<linux/const.h>") in v5.11, and got backported to stable/LTS kernels.

There might unfixed toolchains being used, if users complain, we can
carry on rebasing the patch or try to ask upstream to include it.

Signed-off-by: Petr Vorel <petr.vorel@gmail.com>
---
New in v3
Change is in separate commit to be more visible.

Kind regards,
Petr

 ...ysinfo.h-to-fix-build-with-MUSL-libc.patch | 211 ------------------
 package/ltp-testsuite/Config.in               |   1 +
 2 files changed, 1 insertion(+), 211 deletions(-)
 delete mode 100644 package/ltp-testsuite/0001-lapi-Add-sysinfo.h-to-fix-build-with-MUSL-libc.patch

diff --git a/package/ltp-testsuite/0001-lapi-Add-sysinfo.h-to-fix-build-with-MUSL-libc.patch b/package/ltp-testsuite/0001-lapi-Add-sysinfo.h-to-fix-build-with-MUSL-libc.patch
deleted file mode 100644
index 1553908cf8..0000000000
--- a/package/ltp-testsuite/0001-lapi-Add-sysinfo.h-to-fix-build-with-MUSL-libc.patch
+++ /dev/null
@@ -1,211 +0,0 @@
-From f34c6ca3d543968e900d6327d8b5900db63f08ad Mon Sep 17 00:00:00 2001
-From: Petr Vorel <petr.vorel@gmail.com>
-Date: Thu, 1 Oct 2020 23:28:39 +0200
-Subject: [PATCH] lapi: Add sysinfo.h to fix build with MUSL libc
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-The reason is to avoid indirect <linux/sysinfo.h> include when using
-some network headers: <linux/netlink.h> or others -> <linux/kernel.h>
--> <linux/sysinfo.h>
-
-This indirect include causes on MUSL redefinition of struct sysinfo when
-included both <sys/sysinfo.h> and some of UAPI headers:
-
-In file included from x86_64-buildroot-linux-musl/sysroot/usr/include/linux/kernel.h:5,
-                 from x86_64-buildroot-linux-musl/sysroot/usr/include/linux/netlink.h:5,
-                 from ../include/tst_netlink.h:14,
-                 from tst_crypto.c:13:
-x86_64-buildroot-linux-musl/sysroot/usr/include/linux/sysinfo.h:8:8: error: redefinition of ‘struct sysinfo’
- struct sysinfo {
-        ^~~~~~~
-In file included from ../include/tst_safe_macros.h:15,
-                 from ../include/tst_test.h:93,
-                 from tst_crypto.c:11:
-x86_64-buildroot-linux-musl/sysroot/usr/include/sys/sysinfo.h:10:8: note: originally defined here
-
-Signed-off-by: Petr Vorel <petr.vorel@gmail.com>
-
-[ upstream status:
-https://patchwork.ozlabs.org/project/ltp/patch/20201001231256.6930-1-petr.vorel@gmail.com/,
-rebased for 20220527 ]
-
-But this patch is not going to get upstreamed because it got fixed in Linux kernel:
-a85cbe6159ff "uapi: move constants from <linux/kernel.h> to <linux/const.h>"
-
-This patch was also backported to stable and LTS versions,
-which we use since buildroot 54584d233b "{linux, linux-headers}: bump
-5.{4, 10}.x 4.{4, 9, 14, 19} series".
-We just wait for all musl based toolchains to be rebuilt. ]
-
-Signed-off-by: Petr Vorel <petr.vorel@gmail.com>
----
- include/lapi/sysinfo.h                        | 22 +++++++++++++++++++
- include/tst_safe_macros.h                     |  2 +-
- lib/safe_macros.c                             |  2 +-
- lib/tst_memutils.c                            |  2 +-
- testcases/kernel/mem/mtest01/mtest01.c        |  2 +-
- testcases/kernel/syscalls/madvise/madvise06.c |  2 +-
- testcases/kernel/syscalls/sysinfo/sysinfo01.c |  2 +-
- testcases/kernel/syscalls/sysinfo/sysinfo02.c |  2 +-
- testcases/kernel/syscalls/sysinfo/sysinfo03.c |  2 +-
- .../interfaces/pthread_cond_broadcast/1-2.c   |  2 +-
- 10 files changed, 31 insertions(+), 9 deletions(-)
- create mode 100644 include/lapi/sysinfo.h
-
-diff --git a/include/lapi/sysinfo.h b/include/lapi/sysinfo.h
-new file mode 100644
-index 000000000..d0e0e93d7
---- /dev/null
-+++ b/include/lapi/sysinfo.h
-@@ -0,0 +1,22 @@
-+// SPDX-License-Identifier: GPL-2.0-or-later
-+/*
-+ * Copyright (c) 2020 Petr Vorel <petr.vorel@gmail.com>
-+ */
-+
-+#ifndef SYSINFO_H__
-+
-+/*
-+ * Don't use <sys/sysinfo.h> as it breaks build MUSL toolchain.
-+ * Use <linux/sysinfo.h> instead.
-+ *
-+ * Some kernel UAPI headers do indirect <linux/sysinfo.h> include:
-+ * <linux/netlink.h> or others -> <linux/kernel.h> -> <linux/sysinfo.h>
-+ *
-+ * This indirect include causes on MUSL redefinition of struct sysinfo when
-+ * included both <sys/sysinfo.h> and some of UAPI headers:
-+ */
-+#include <linux/sysinfo.h>
-+
-+#define SYSINFO_H__
-+
-+#endif /* SYSINFO_H__ */
-diff --git a/include/tst_safe_macros.h b/include/tst_safe_macros.h
-index 81c4b0844..a8c02d7df 100644
---- a/include/tst_safe_macros.h
-+++ b/include/tst_safe_macros.h
-@@ -12,7 +12,7 @@
- #include <sys/resource.h>
- #include <sys/stat.h>
- #include <sys/vfs.h>
--#include <sys/sysinfo.h>
-+#include <linux/sysinfo.h>
- #include <fcntl.h>
- #include <libgen.h>
- #include <signal.h>
-diff --git a/lib/safe_macros.c b/lib/safe_macros.c
-index a5b6bc504..87d922a92 100644
---- a/lib/safe_macros.c
-+++ b/lib/safe_macros.c
-@@ -11,7 +11,7 @@
- #include <sys/wait.h>
- #include <sys/mount.h>
- #include <sys/xattr.h>
--#include <sys/sysinfo.h>
-+#include "lapi/sysinfo.h"
- #include <errno.h>
- #include <fcntl.h>
- #include <libgen.h>
-diff --git a/lib/tst_memutils.c b/lib/tst_memutils.c
-index 0d20bb17c..21a3a5ba0 100644
---- a/lib/tst_memutils.c
-+++ b/lib/tst_memutils.c
-@@ -6,7 +6,7 @@
- #include <stdio.h>
- #include <unistd.h>
- #include <limits.h>
--#include <sys/sysinfo.h>
-+#include "lapi/sysinfo.h"
- #include <stdlib.h>
-
- #define TST_NO_DEFAULT_MAIN
-diff --git a/testcases/kernel/mem/mtest01/mtest01.c b/testcases/kernel/mem/mtest01/mtest01.c
-index fb991ce8b..0fccd5405 100644
---- a/testcases/kernel/mem/mtest01/mtest01.c
-+++ b/testcases/kernel/mem/mtest01/mtest01.c
-@@ -20,7 +20,6 @@
-  */
-
- #include <sys/types.h>
--#include <sys/sysinfo.h>
- #include <sys/wait.h>
- #include <limits.h>
- #include <signal.h>
-@@ -29,6 +28,7 @@
- #include <unistd.h>
-
- #include "lapi/abisize.h"
-+#include "lapi/sysinfo.h"
- #include "tst_test.h"
-
- #define FIVE_HUNDRED_MB         (500ULL*1024*1024)
-diff --git a/testcases/kernel/syscalls/madvise/madvise06.c b/testcases/kernel/syscalls/madvise/madvise06.c
-index 6d218801c..8af11a030 100644
---- a/testcases/kernel/syscalls/madvise/madvise06.c
-+++ b/testcases/kernel/syscalls/madvise/madvise06.c
-@@ -46,7 +46,7 @@
- #include <errno.h>
- #include <stdio.h>
- #include <sys/mount.h>
--#include <sys/sysinfo.h>
-+#include "lapi/sysinfo.h"
- #include "tst_test.h"
-
- #define CHUNK_SZ (400*1024*1024L)
-diff --git a/testcases/kernel/syscalls/sysinfo/sysinfo01.c b/testcases/kernel/syscalls/sysinfo/sysinfo01.c
-index 2ea44a2be..a237345ef 100644
---- a/testcases/kernel/syscalls/sysinfo/sysinfo01.c
-+++ b/testcases/kernel/syscalls/sysinfo/sysinfo01.c
-@@ -69,7 +69,7 @@
- #include <sys/types.h>
- #include <sys/stat.h>
- #include <sys/signal.h>
--#include <sys/sysinfo.h>
-+#include "lapi/sysinfo.h"
-
- #include "test.h"
-
-diff --git a/testcases/kernel/syscalls/sysinfo/sysinfo02.c b/testcases/kernel/syscalls/sysinfo/sysinfo02.c
-index 7ad0e8bdc..61fa1ab75 100644
---- a/testcases/kernel/syscalls/sysinfo/sysinfo02.c
-+++ b/testcases/kernel/syscalls/sysinfo/sysinfo02.c
-@@ -65,7 +65,7 @@
- #include <sys/types.h>
- #include <sys/stat.h>
- #include <sys/signal.h>
--#include <sys/sysinfo.h>
-+#include "lapi/sysinfo.h"
- #include <stdint.h>
-
- #include "test.h"
-diff --git a/testcases/kernel/syscalls/sysinfo/sysinfo03.c b/testcases/kernel/syscalls/sysinfo/sysinfo03.c
-index af7cb6421..dc5ae65e3 100644
---- a/testcases/kernel/syscalls/sysinfo/sysinfo03.c
-+++ b/testcases/kernel/syscalls/sysinfo/sysinfo03.c
-@@ -13,7 +13,7 @@
-
-  */
-
--#include <sys/sysinfo.h>
-+#include "lapi/sysinfo.h"
- #include "lapi/namespaces_constants.h"
- #include "lapi/posix_clocks.h"
- #include "tst_test.h"
-diff --git a/testcases/open_posix_testsuite/conformance/interfaces/pthread_cond_broadcast/1-2.c b/testcases/open_posix_testsuite/conformance/interfaces/pthread_cond_broadcast/1-2.c
-index 22e7c3638..572701f9f 100644
---- a/testcases/open_posix_testsuite/conformance/interfaces/pthread_cond_broadcast/1-2.c
-+++ b/testcases/open_posix_testsuite/conformance/interfaces/pthread_cond_broadcast/1-2.c
-@@ -43,7 +43,7 @@
- #include <sys/wait.h>
- #include <semaphore.h>
- #ifdef	__linux__
--#include <sys/sysinfo.h>
-+#include "lapi/sysinfo.h"
- #endif
-
- #include "../testfrmw/testfrmw.h"
---
-2.36.1
-
diff --git a/package/ltp-testsuite/Config.in b/package/ltp-testsuite/Config.in
index 272c2ede37..b42082e2cc 100644
--- a/package/ltp-testsuite/Config.in
+++ b/package/ltp-testsuite/Config.in
@@ -12,6 +12,7 @@ config BR2_PACKAGE_LTP_TESTSUITE
 	bool "ltp-testsuite"
 	depends on BR2_USE_MMU # fork()
 	depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
+	depends on !BR2_TOOLCHAIN_USES_MUSL || BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_11
 	depends on BR2_PACKAGE_LTP_TESTSUITE_ARCH_SUPPORTS
 	select BR2_PACKAGE_LIBTIRPC if !BR2_TOOLCHAIN_HAS_NATIVE_RPC
 	select BR2_PACKAGE_MUSL_FTS if !BR2_TOOLCHAIN_USES_GLIBC
-- 
2.40.0

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [Buildroot] [PATCH v3 2/2] package/ltp-testsuite: bump version to 20230127
  2023-04-16 20:17 [Buildroot] [PATCH v3 0/2] Update LTP to 20230127, fixes Petr Vorel
  2023-04-16 20:17 ` [Buildroot] [PATCH v3 1/2] package/ltp-testsuite: require 5.11 headers for musl Petr Vorel
@ 2023-04-16 20:17 ` Petr Vorel
  2023-04-16 20:45   ` Yann E. MORIN
  1 sibling, 1 reply; 5+ messages in thread
From: Petr Vorel @ 2023-04-16 20:17 UTC (permalink / raw)
  To: buildroot; +Cc: Thomas Petazzoni, Anders Roxell, Yann E . MORIN

From: Petr Vorel <petr.vorel@gmail.com>

Backport fix for buildroot toolchain

Fixes:
 - http://autobuild.buildroot.org/results/4dbb72e1bf081afd3cd944571b9beeefc7608865

Signed-off-by: Petr Vorel <petr.vorel@gmail.com>
---
changes v2->v3
* backport was squashed to version update (Yann)

 ...onfigure.ac-fix-mount_attr-detection.patch | 54 +++++++++++++++++++
 package/ltp-testsuite/ltp-testsuite.hash      |  5 +-
 package/ltp-testsuite/ltp-testsuite.mk        |  2 +-
 3 files changed, 57 insertions(+), 4 deletions(-)
 create mode 100644 package/ltp-testsuite/0001-configure.ac-fix-mount_attr-detection.patch

diff --git a/package/ltp-testsuite/0001-configure.ac-fix-mount_attr-detection.patch b/package/ltp-testsuite/0001-configure.ac-fix-mount_attr-detection.patch
new file mode 100644
index 0000000000..740d3a6d6a
--- /dev/null
+++ b/package/ltp-testsuite/0001-configure.ac-fix-mount_attr-detection.patch
@@ -0,0 +1,54 @@
+From 30353a1eb3ee8940f38d6a0e8f5f39352fd8a179 Mon Sep 17 00:00:00 2001
+From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
+Date: Sun, 26 Feb 2023 20:25:54 +0100
+Subject: [PATCH] configure.ac: fix mount_attr detection
+Upstream: https://github.com/linux-test-project/ltp/commit/30353a1eb3ee8940f38d6a0e8f5f39352fd8a179
+
+Commit b857f8723f30a4b9554bf6b0ff8fa52fd07e8b60 tried to fix build with
+latest glibc which provides mount_attr in sys/mount.h. Unfortunately,
+the following build failure is still raised because sys/mount is now
+unconditionally included in include/lapi/fsmount.h:
+
+In file included from fsconfig01.c:9:
+../../../../include/lapi/fsmount.h:55:8: error: redefinition of 'struct mount_attr'
+   55 | struct mount_attr {
+      |        ^~~~~~~~~~
+In file included from ../../../../include/lapi/fsmount.h:14:
+/home/autobuild/autobuild/instance-4/output-1/host/armeb-buildroot-linux-gnueabi/sysroot/usr/include/sys/mount.h:210:8: note: originally defined here
+  210 | struct mount_attr
+      |        ^~~~~~~~~~
+
+Fixes: b857f8723 ("lapi/fsmount: resolve conflict in different header files")
+Fixes: http://autobuild.buildroot.org/results/4dbb72e1bf081afd3cd944571b9beeefc7608865
+Link: https://lore.kernel.org/ltp/20230226192554.669332-1-fontaine.fabrice@gmail.com/
+Reviewed-by: Li Wang <liwang@redhat.com>
+[ pvorel: fix from b857f8723 is needed for glibc before glibc-2.37~426,
+i.e. without fix 774058d729 ("linux: Fix sys/mount.h usage with kernel headers")
+(which was backported to 2.35 and 2.34 maintenance). ]
+Reviewed-by: Petr Vorel <pvorel@suse.cz>
+Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
+---
+ configure.ac | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 114468ae3..4c8763376 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -224,10 +224,10 @@ AC_CHECK_TYPES([struct __kernel_old_timeval, struct __kernel_old_timespec, struc
+ 
+ AC_CHECK_TYPES([struct futex_waitv],,,[#include <linux/futex.h>])
+ AC_CHECK_TYPES([struct mount_attr],,,[
+-#ifdef HAVE_LINUX_MOUNT_H
+-# include <linux/mount.h>
+-#else
++#ifdef HAVE_MOUNT_SETATTR
+ # include <sys/mount.h>
++#elif HAVE_LINUX_MOUNT_H
++# include <linux/mount.h>
+ #endif
+ ])
+ 
+-- 
+2.40.0
+
diff --git a/package/ltp-testsuite/ltp-testsuite.hash b/package/ltp-testsuite/ltp-testsuite.hash
index 8b411a8ffe..59ba5d0045 100644
--- a/package/ltp-testsuite/ltp-testsuite.hash
+++ b/package/ltp-testsuite/ltp-testsuite.hash
@@ -1,5 +1,4 @@
-# From: https://github.com/linux-test-project/ltp/releases/download/20220527/ltp-full-20220527.tar.bz2.sha1
-sha1  c8d658cd3ab1f5a5c7b5bf56398d3a9525012c6b  ltp-full-20220930.tar.xz
+# From: https://github.com/linux-test-project/ltp/releases/download/20230127/ltp-full-20230127.tar.xz.sha256
+sha256  254412a52c7238f35a247337da186f485e76fb64c6549ed849b3442fc7a417ef  ltp-full-20230127.tar.xz
 # Locally computed
 sha256  8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643  COPYING
-sha256  533ab63915b916640667ecce17ee4998006d80d394d4b1f1d105a7aa1df50d38  ltp-full-20220930.tar.xz
diff --git a/package/ltp-testsuite/ltp-testsuite.mk b/package/ltp-testsuite/ltp-testsuite.mk
index 34412d562f..78271b0730 100644
--- a/package/ltp-testsuite/ltp-testsuite.mk
+++ b/package/ltp-testsuite/ltp-testsuite.mk
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-LTP_TESTSUITE_VERSION = 20220930
+LTP_TESTSUITE_VERSION = 20230127
 LTP_TESTSUITE_SOURCE = ltp-full-$(LTP_TESTSUITE_VERSION).tar.xz
 LTP_TESTSUITE_SITE = https://github.com/linux-test-project/ltp/releases/download/$(LTP_TESTSUITE_VERSION)
 
-- 
2.40.0

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [Buildroot] [PATCH v3 1/2] package/ltp-testsuite: require 5.11 headers for musl
  2023-04-16 20:17 ` [Buildroot] [PATCH v3 1/2] package/ltp-testsuite: require 5.11 headers for musl Petr Vorel
@ 2023-04-16 20:45   ` Yann E. MORIN
  0 siblings, 0 replies; 5+ messages in thread
From: Yann E. MORIN @ 2023-04-16 20:45 UTC (permalink / raw)
  To: Petr Vorel; +Cc: Thomas Petazzoni, Anders Roxell, buildroot

Petr, All,

On 2023-04-16 22:17 +0200, Petr Vorel spake thusly:
> From: Petr Vorel <petr.vorel@gmail.com>
> 
> Remove sysinfo.h out of tree workaround for musl. Kernel headers were
> fixed in a85cbe6159ff ("uapi: move constants from <linux/kernel.h> to
> <linux/const.h>") in v5.11, and got backported to stable/LTS kernels.
> 
> There might unfixed toolchains being used, if users complain, we can
> carry on rebasing the patch or try to ask upstream to include it.

I've reworded the commit log in a more logical fashion (I believe), and
applied to master, thanks.

Regards,
Yann E. MORIN.

> Signed-off-by: Petr Vorel <petr.vorel@gmail.com>
> ---
> New in v3
> Change is in separate commit to be more visible.
> 
> Kind regards,
> Petr
> 
>  ...ysinfo.h-to-fix-build-with-MUSL-libc.patch | 211 ------------------
>  package/ltp-testsuite/Config.in               |   1 +
>  2 files changed, 1 insertion(+), 211 deletions(-)
>  delete mode 100644 package/ltp-testsuite/0001-lapi-Add-sysinfo.h-to-fix-build-with-MUSL-libc.patch
> 
> diff --git a/package/ltp-testsuite/0001-lapi-Add-sysinfo.h-to-fix-build-with-MUSL-libc.patch b/package/ltp-testsuite/0001-lapi-Add-sysinfo.h-to-fix-build-with-MUSL-libc.patch
> deleted file mode 100644
> index 1553908cf8..0000000000
> --- a/package/ltp-testsuite/0001-lapi-Add-sysinfo.h-to-fix-build-with-MUSL-libc.patch
> +++ /dev/null
> @@ -1,211 +0,0 @@
> -From f34c6ca3d543968e900d6327d8b5900db63f08ad Mon Sep 17 00:00:00 2001
> -From: Petr Vorel <petr.vorel@gmail.com>
> -Date: Thu, 1 Oct 2020 23:28:39 +0200
> -Subject: [PATCH] lapi: Add sysinfo.h to fix build with MUSL libc
> -MIME-Version: 1.0
> -Content-Type: text/plain; charset=UTF-8
> -Content-Transfer-Encoding: 8bit
> -
> -The reason is to avoid indirect <linux/sysinfo.h> include when using
> -some network headers: <linux/netlink.h> or others -> <linux/kernel.h>
> --> <linux/sysinfo.h>
> -
> -This indirect include causes on MUSL redefinition of struct sysinfo when
> -included both <sys/sysinfo.h> and some of UAPI headers:
> -
> -In file included from x86_64-buildroot-linux-musl/sysroot/usr/include/linux/kernel.h:5,
> -                 from x86_64-buildroot-linux-musl/sysroot/usr/include/linux/netlink.h:5,
> -                 from ../include/tst_netlink.h:14,
> -                 from tst_crypto.c:13:
> -x86_64-buildroot-linux-musl/sysroot/usr/include/linux/sysinfo.h:8:8: error: redefinition of ‘struct sysinfo’
> - struct sysinfo {
> -        ^~~~~~~
> -In file included from ../include/tst_safe_macros.h:15,
> -                 from ../include/tst_test.h:93,
> -                 from tst_crypto.c:11:
> -x86_64-buildroot-linux-musl/sysroot/usr/include/sys/sysinfo.h:10:8: note: originally defined here
> -
> -Signed-off-by: Petr Vorel <petr.vorel@gmail.com>
> -
> -[ upstream status:
> -https://patchwork.ozlabs.org/project/ltp/patch/20201001231256.6930-1-petr.vorel@gmail.com/,
> -rebased for 20220527 ]
> -
> -But this patch is not going to get upstreamed because it got fixed in Linux kernel:
> -a85cbe6159ff "uapi: move constants from <linux/kernel.h> to <linux/const.h>"
> -
> -This patch was also backported to stable and LTS versions,
> -which we use since buildroot 54584d233b "{linux, linux-headers}: bump
> -5.{4, 10}.x 4.{4, 9, 14, 19} series".
> -We just wait for all musl based toolchains to be rebuilt. ]
> -
> -Signed-off-by: Petr Vorel <petr.vorel@gmail.com>
> ----
> - include/lapi/sysinfo.h                        | 22 +++++++++++++++++++
> - include/tst_safe_macros.h                     |  2 +-
> - lib/safe_macros.c                             |  2 +-
> - lib/tst_memutils.c                            |  2 +-
> - testcases/kernel/mem/mtest01/mtest01.c        |  2 +-
> - testcases/kernel/syscalls/madvise/madvise06.c |  2 +-
> - testcases/kernel/syscalls/sysinfo/sysinfo01.c |  2 +-
> - testcases/kernel/syscalls/sysinfo/sysinfo02.c |  2 +-
> - testcases/kernel/syscalls/sysinfo/sysinfo03.c |  2 +-
> - .../interfaces/pthread_cond_broadcast/1-2.c   |  2 +-
> - 10 files changed, 31 insertions(+), 9 deletions(-)
> - create mode 100644 include/lapi/sysinfo.h
> -
> -diff --git a/include/lapi/sysinfo.h b/include/lapi/sysinfo.h
> -new file mode 100644
> -index 000000000..d0e0e93d7
> ---- /dev/null
> -+++ b/include/lapi/sysinfo.h
> -@@ -0,0 +1,22 @@
> -+// SPDX-License-Identifier: GPL-2.0-or-later
> -+/*
> -+ * Copyright (c) 2020 Petr Vorel <petr.vorel@gmail.com>
> -+ */
> -+
> -+#ifndef SYSINFO_H__
> -+
> -+/*
> -+ * Don't use <sys/sysinfo.h> as it breaks build MUSL toolchain.
> -+ * Use <linux/sysinfo.h> instead.
> -+ *
> -+ * Some kernel UAPI headers do indirect <linux/sysinfo.h> include:
> -+ * <linux/netlink.h> or others -> <linux/kernel.h> -> <linux/sysinfo.h>
> -+ *
> -+ * This indirect include causes on MUSL redefinition of struct sysinfo when
> -+ * included both <sys/sysinfo.h> and some of UAPI headers:
> -+ */
> -+#include <linux/sysinfo.h>
> -+
> -+#define SYSINFO_H__
> -+
> -+#endif /* SYSINFO_H__ */
> -diff --git a/include/tst_safe_macros.h b/include/tst_safe_macros.h
> -index 81c4b0844..a8c02d7df 100644
> ---- a/include/tst_safe_macros.h
> -+++ b/include/tst_safe_macros.h
> -@@ -12,7 +12,7 @@
> - #include <sys/resource.h>
> - #include <sys/stat.h>
> - #include <sys/vfs.h>
> --#include <sys/sysinfo.h>
> -+#include <linux/sysinfo.h>
> - #include <fcntl.h>
> - #include <libgen.h>
> - #include <signal.h>
> -diff --git a/lib/safe_macros.c b/lib/safe_macros.c
> -index a5b6bc504..87d922a92 100644
> ---- a/lib/safe_macros.c
> -+++ b/lib/safe_macros.c
> -@@ -11,7 +11,7 @@
> - #include <sys/wait.h>
> - #include <sys/mount.h>
> - #include <sys/xattr.h>
> --#include <sys/sysinfo.h>
> -+#include "lapi/sysinfo.h"
> - #include <errno.h>
> - #include <fcntl.h>
> - #include <libgen.h>
> -diff --git a/lib/tst_memutils.c b/lib/tst_memutils.c
> -index 0d20bb17c..21a3a5ba0 100644
> ---- a/lib/tst_memutils.c
> -+++ b/lib/tst_memutils.c
> -@@ -6,7 +6,7 @@
> - #include <stdio.h>
> - #include <unistd.h>
> - #include <limits.h>
> --#include <sys/sysinfo.h>
> -+#include "lapi/sysinfo.h"
> - #include <stdlib.h>
> -
> - #define TST_NO_DEFAULT_MAIN
> -diff --git a/testcases/kernel/mem/mtest01/mtest01.c b/testcases/kernel/mem/mtest01/mtest01.c
> -index fb991ce8b..0fccd5405 100644
> ---- a/testcases/kernel/mem/mtest01/mtest01.c
> -+++ b/testcases/kernel/mem/mtest01/mtest01.c
> -@@ -20,7 +20,6 @@
> -  */
> -
> - #include <sys/types.h>
> --#include <sys/sysinfo.h>
> - #include <sys/wait.h>
> - #include <limits.h>
> - #include <signal.h>
> -@@ -29,6 +28,7 @@
> - #include <unistd.h>
> -
> - #include "lapi/abisize.h"
> -+#include "lapi/sysinfo.h"
> - #include "tst_test.h"
> -
> - #define FIVE_HUNDRED_MB         (500ULL*1024*1024)
> -diff --git a/testcases/kernel/syscalls/madvise/madvise06.c b/testcases/kernel/syscalls/madvise/madvise06.c
> -index 6d218801c..8af11a030 100644
> ---- a/testcases/kernel/syscalls/madvise/madvise06.c
> -+++ b/testcases/kernel/syscalls/madvise/madvise06.c
> -@@ -46,7 +46,7 @@
> - #include <errno.h>
> - #include <stdio.h>
> - #include <sys/mount.h>
> --#include <sys/sysinfo.h>
> -+#include "lapi/sysinfo.h"
> - #include "tst_test.h"
> -
> - #define CHUNK_SZ (400*1024*1024L)
> -diff --git a/testcases/kernel/syscalls/sysinfo/sysinfo01.c b/testcases/kernel/syscalls/sysinfo/sysinfo01.c
> -index 2ea44a2be..a237345ef 100644
> ---- a/testcases/kernel/syscalls/sysinfo/sysinfo01.c
> -+++ b/testcases/kernel/syscalls/sysinfo/sysinfo01.c
> -@@ -69,7 +69,7 @@
> - #include <sys/types.h>
> - #include <sys/stat.h>
> - #include <sys/signal.h>
> --#include <sys/sysinfo.h>
> -+#include "lapi/sysinfo.h"
> -
> - #include "test.h"
> -
> -diff --git a/testcases/kernel/syscalls/sysinfo/sysinfo02.c b/testcases/kernel/syscalls/sysinfo/sysinfo02.c
> -index 7ad0e8bdc..61fa1ab75 100644
> ---- a/testcases/kernel/syscalls/sysinfo/sysinfo02.c
> -+++ b/testcases/kernel/syscalls/sysinfo/sysinfo02.c
> -@@ -65,7 +65,7 @@
> - #include <sys/types.h>
> - #include <sys/stat.h>
> - #include <sys/signal.h>
> --#include <sys/sysinfo.h>
> -+#include "lapi/sysinfo.h"
> - #include <stdint.h>
> -
> - #include "test.h"
> -diff --git a/testcases/kernel/syscalls/sysinfo/sysinfo03.c b/testcases/kernel/syscalls/sysinfo/sysinfo03.c
> -index af7cb6421..dc5ae65e3 100644
> ---- a/testcases/kernel/syscalls/sysinfo/sysinfo03.c
> -+++ b/testcases/kernel/syscalls/sysinfo/sysinfo03.c
> -@@ -13,7 +13,7 @@
> -
> -  */
> -
> --#include <sys/sysinfo.h>
> -+#include "lapi/sysinfo.h"
> - #include "lapi/namespaces_constants.h"
> - #include "lapi/posix_clocks.h"
> - #include "tst_test.h"
> -diff --git a/testcases/open_posix_testsuite/conformance/interfaces/pthread_cond_broadcast/1-2.c b/testcases/open_posix_testsuite/conformance/interfaces/pthread_cond_broadcast/1-2.c
> -index 22e7c3638..572701f9f 100644
> ---- a/testcases/open_posix_testsuite/conformance/interfaces/pthread_cond_broadcast/1-2.c
> -+++ b/testcases/open_posix_testsuite/conformance/interfaces/pthread_cond_broadcast/1-2.c
> -@@ -43,7 +43,7 @@
> - #include <sys/wait.h>
> - #include <semaphore.h>
> - #ifdef	__linux__
> --#include <sys/sysinfo.h>
> -+#include "lapi/sysinfo.h"
> - #endif
> -
> - #include "../testfrmw/testfrmw.h"
> ---
> -2.36.1
> -
> diff --git a/package/ltp-testsuite/Config.in b/package/ltp-testsuite/Config.in
> index 272c2ede37..b42082e2cc 100644
> --- a/package/ltp-testsuite/Config.in
> +++ b/package/ltp-testsuite/Config.in
> @@ -12,6 +12,7 @@ config BR2_PACKAGE_LTP_TESTSUITE
>  	bool "ltp-testsuite"
>  	depends on BR2_USE_MMU # fork()
>  	depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
> +	depends on !BR2_TOOLCHAIN_USES_MUSL || BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_11
>  	depends on BR2_PACKAGE_LTP_TESTSUITE_ARCH_SUPPORTS
>  	select BR2_PACKAGE_LIBTIRPC if !BR2_TOOLCHAIN_HAS_NATIVE_RPC
>  	select BR2_PACKAGE_MUSL_FTS if !BR2_TOOLCHAIN_USES_GLIBC
> -- 
> 2.40.0
> 

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [Buildroot] [PATCH v3 2/2] package/ltp-testsuite: bump version to 20230127
  2023-04-16 20:17 ` [Buildroot] [PATCH v3 2/2] package/ltp-testsuite: bump version to 20230127 Petr Vorel
@ 2023-04-16 20:45   ` Yann E. MORIN
  0 siblings, 0 replies; 5+ messages in thread
From: Yann E. MORIN @ 2023-04-16 20:45 UTC (permalink / raw)
  To: Petr Vorel; +Cc: Thomas Petazzoni, Anders Roxell, buildroot

Petr, All,

On 2023-04-16 22:17 +0200, Petr Vorel spake thusly:
> From: Petr Vorel <petr.vorel@gmail.com>
> 
> Backport fix for buildroot toolchain

This is not specific to Buildrot; it is a conflict between glibc headers
and kernel headers.

I've slightly reworded that, and applied to master, thanks.

Regards,
Yann E. MORIN.

> Fixes:
>  - http://autobuild.buildroot.org/results/4dbb72e1bf081afd3cd944571b9beeefc7608865
> 
> Signed-off-by: Petr Vorel <petr.vorel@gmail.com>
> ---
> changes v2->v3
> * backport was squashed to version update (Yann)
> 
>  ...onfigure.ac-fix-mount_attr-detection.patch | 54 +++++++++++++++++++
>  package/ltp-testsuite/ltp-testsuite.hash      |  5 +-
>  package/ltp-testsuite/ltp-testsuite.mk        |  2 +-
>  3 files changed, 57 insertions(+), 4 deletions(-)
>  create mode 100644 package/ltp-testsuite/0001-configure.ac-fix-mount_attr-detection.patch
> 
> diff --git a/package/ltp-testsuite/0001-configure.ac-fix-mount_attr-detection.patch b/package/ltp-testsuite/0001-configure.ac-fix-mount_attr-detection.patch
> new file mode 100644
> index 0000000000..740d3a6d6a
> --- /dev/null
> +++ b/package/ltp-testsuite/0001-configure.ac-fix-mount_attr-detection.patch
> @@ -0,0 +1,54 @@
> +From 30353a1eb3ee8940f38d6a0e8f5f39352fd8a179 Mon Sep 17 00:00:00 2001
> +From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
> +Date: Sun, 26 Feb 2023 20:25:54 +0100
> +Subject: [PATCH] configure.ac: fix mount_attr detection
> +Upstream: https://github.com/linux-test-project/ltp/commit/30353a1eb3ee8940f38d6a0e8f5f39352fd8a179
> +
> +Commit b857f8723f30a4b9554bf6b0ff8fa52fd07e8b60 tried to fix build with
> +latest glibc which provides mount_attr in sys/mount.h. Unfortunately,
> +the following build failure is still raised because sys/mount is now
> +unconditionally included in include/lapi/fsmount.h:
> +
> +In file included from fsconfig01.c:9:
> +../../../../include/lapi/fsmount.h:55:8: error: redefinition of 'struct mount_attr'
> +   55 | struct mount_attr {
> +      |        ^~~~~~~~~~
> +In file included from ../../../../include/lapi/fsmount.h:14:
> +/home/autobuild/autobuild/instance-4/output-1/host/armeb-buildroot-linux-gnueabi/sysroot/usr/include/sys/mount.h:210:8: note: originally defined here
> +  210 | struct mount_attr
> +      |        ^~~~~~~~~~
> +
> +Fixes: b857f8723 ("lapi/fsmount: resolve conflict in different header files")
> +Fixes: http://autobuild.buildroot.org/results/4dbb72e1bf081afd3cd944571b9beeefc7608865
> +Link: https://lore.kernel.org/ltp/20230226192554.669332-1-fontaine.fabrice@gmail.com/
> +Reviewed-by: Li Wang <liwang@redhat.com>
> +[ pvorel: fix from b857f8723 is needed for glibc before glibc-2.37~426,
> +i.e. without fix 774058d729 ("linux: Fix sys/mount.h usage with kernel headers")
> +(which was backported to 2.35 and 2.34 maintenance). ]
> +Reviewed-by: Petr Vorel <pvorel@suse.cz>
> +Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
> +---
> + configure.ac | 6 +++---
> + 1 file changed, 3 insertions(+), 3 deletions(-)
> +
> +diff --git a/configure.ac b/configure.ac
> +index 114468ae3..4c8763376 100644
> +--- a/configure.ac
> ++++ b/configure.ac
> +@@ -224,10 +224,10 @@ AC_CHECK_TYPES([struct __kernel_old_timeval, struct __kernel_old_timespec, struc
> + 
> + AC_CHECK_TYPES([struct futex_waitv],,,[#include <linux/futex.h>])
> + AC_CHECK_TYPES([struct mount_attr],,,[
> +-#ifdef HAVE_LINUX_MOUNT_H
> +-# include <linux/mount.h>
> +-#else
> ++#ifdef HAVE_MOUNT_SETATTR
> + # include <sys/mount.h>
> ++#elif HAVE_LINUX_MOUNT_H
> ++# include <linux/mount.h>
> + #endif
> + ])
> + 
> +-- 
> +2.40.0
> +
> diff --git a/package/ltp-testsuite/ltp-testsuite.hash b/package/ltp-testsuite/ltp-testsuite.hash
> index 8b411a8ffe..59ba5d0045 100644
> --- a/package/ltp-testsuite/ltp-testsuite.hash
> +++ b/package/ltp-testsuite/ltp-testsuite.hash
> @@ -1,5 +1,4 @@
> -# From: https://github.com/linux-test-project/ltp/releases/download/20220527/ltp-full-20220527.tar.bz2.sha1
> -sha1  c8d658cd3ab1f5a5c7b5bf56398d3a9525012c6b  ltp-full-20220930.tar.xz
> +# From: https://github.com/linux-test-project/ltp/releases/download/20230127/ltp-full-20230127.tar.xz.sha256
> +sha256  254412a52c7238f35a247337da186f485e76fb64c6549ed849b3442fc7a417ef  ltp-full-20230127.tar.xz
>  # Locally computed
>  sha256  8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643  COPYING
> -sha256  533ab63915b916640667ecce17ee4998006d80d394d4b1f1d105a7aa1df50d38  ltp-full-20220930.tar.xz
> diff --git a/package/ltp-testsuite/ltp-testsuite.mk b/package/ltp-testsuite/ltp-testsuite.mk
> index 34412d562f..78271b0730 100644
> --- a/package/ltp-testsuite/ltp-testsuite.mk
> +++ b/package/ltp-testsuite/ltp-testsuite.mk
> @@ -4,7 +4,7 @@
>  #
>  ################################################################################
>  
> -LTP_TESTSUITE_VERSION = 20220930
> +LTP_TESTSUITE_VERSION = 20230127
>  LTP_TESTSUITE_SOURCE = ltp-full-$(LTP_TESTSUITE_VERSION).tar.xz
>  LTP_TESTSUITE_SITE = https://github.com/linux-test-project/ltp/releases/download/$(LTP_TESTSUITE_VERSION)
>  
> -- 
> 2.40.0
> 

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2023-04-16 20:46 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-04-16 20:17 [Buildroot] [PATCH v3 0/2] Update LTP to 20230127, fixes Petr Vorel
2023-04-16 20:17 ` [Buildroot] [PATCH v3 1/2] package/ltp-testsuite: require 5.11 headers for musl Petr Vorel
2023-04-16 20:45   ` Yann E. MORIN
2023-04-16 20:17 ` [Buildroot] [PATCH v3 2/2] package/ltp-testsuite: bump version to 20230127 Petr Vorel
2023-04-16 20:45   ` Yann E. MORIN

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).