* [Buildroot] [PATCH] package/ltp-testsuite: bump version to 20230516
@ 2023-05-21 13:50 Petr Vorel
2023-07-29 20:40 ` Thomas Petazzoni via buildroot
0 siblings, 1 reply; 2+ messages in thread
From: Petr Vorel @ 2023-05-21 13:50 UTC (permalink / raw)
To: buildroot; +Cc: Yann E . MORIN, Thomas Petazzoni, Fabrice Fontaine
From: Petr Vorel <petr.vorel@gmail.com>
Remove patch accepted in this release.
Signed-off-by: Petr Vorel <petr.vorel@gmail.com>
---
Hi,
FYI bootlin-x86-64-glibc fails on new KVM tests. I suspect it's a glibc
bug, because it works well on all classic distro native gcc/clang
toolchains (CentOS 7, various Debian and Ubuntu, openSUSE, ...):
CC testcases/kernel/kvm/lib_x86.o
kvm_svm01.c: In function ‘guest_main’:
kvm_svm01.c:42:13: warning: array subscript 0 is outside array bounds of ‘uint32_t[0]’ {aka ‘unsigned int[]’} [-Warray-bounds]
42 | if (*avic_ptr != 0xaaaaaaaa)
| ^~~~~~~~~
kvm_svm01.c:45:9: warning: array subscript 0 is outside array bounds of ‘uint32_t[0]’ {aka ‘unsigned int[]’} [-Warray-bounds]
45 | *avic_ptr = AVIC_TEST_VAL;
| ^~~~~~~~~
kvm_svm01.c: In function ‘main’:
kvm_svm01.c:93:13: warning: array subscript 0 is outside array bounds of ‘uint32_t[0]’ {aka ‘unsigned int[]’} [-Warray-bounds]
93 | if (*avic_ptr != AVIC_TEST_VAL) {
| ^~~~~~~~~
br-test-pkg/bootlin-x86-64-glibc/host/opt/ext-toolchain/bin/../lib/gcc/x86_64-buildroot-linux-gnu/12.2.0/../../../../x86_64-buildroot-linux-gnu/bin/ld: lib_x86.o: in function `kvm_init_guest_vmcb':
lib_x86.c:(.text+0x7c3): undefined reference to `__stack_chk_fail'
collect2: error: ld returned 1 exit status
make[4]: *** [br-test-pkg/bootlin-x86-64-glibc/build/ltp-testsuite-20230516/testcases/kernel/kvm/Makefile:59: kvm_svm01-payload.o] Error 1
make[4]: *** Waiting for unfinished jobs....
br-test-pkg/bootlin-x86-64-glibc/host/opt/ext-toolchain/bin/../lib/gcc/x86_64-buildroot-linux-gnu/12.2.0/../../../../x86_64-buildroot-linux-gnu/bin/ld: lib_x86.o: in function `kvm_init_guest_vmcb':
lib_x86.c:(.text+0x7c3): undefined reference to `__stack_chk_fail'
collect2: error: ld returned 1 exit status
make[4]: *** [br-test-pkg/bootlin-x86-64-glibc/build/ltp-testsuite-20230516/testcases/kernel/kvm/Makefile:59: kvm_pagefault01-payload.o] Error 1
CC testcases/kernel/kvm/lib_host.o
make[3]: *** [../../include/mk/generic_trunk_target.inc:108: all] Error 2
make[2]: *** [../include/mk/generic_trunk_target.inc:108: all] Error 2
It'd also fail on bootlin-x86-64-musl, but it's being skipped due
5e1c238b72.
Any hint how to workaround this is appreciated.
Kind regards,
Petr
...onfigure.ac-fix-mount_attr-detection.patch | 54 -------------------
package/ltp-testsuite/ltp-testsuite.hash | 4 +-
package/ltp-testsuite/ltp-testsuite.mk | 2 +-
3 files changed, 3 insertions(+), 57 deletions(-)
delete 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
deleted file mode 100644
index 740d3a6d6a..0000000000
--- a/package/ltp-testsuite/0001-configure.ac-fix-mount_attr-detection.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-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 59ba5d0045..f9fa7df78c 100644
--- a/package/ltp-testsuite/ltp-testsuite.hash
+++ b/package/ltp-testsuite/ltp-testsuite.hash
@@ -1,4 +1,4 @@
-# From: https://github.com/linux-test-project/ltp/releases/download/20230127/ltp-full-20230127.tar.xz.sha256
-sha256 254412a52c7238f35a247337da186f485e76fb64c6549ed849b3442fc7a417ef ltp-full-20230127.tar.xz
+# From: https://github.com/linux-test-project/ltp/releases/download/20230516/ltp-full-20230516.tar.xz.sha256
+sha256 d78f4bdd5bdc9e91357631954affba7e66190a2509c369b59f55efd190268956 ltp-full-20230516.tar.xz
# Locally computed
sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING
diff --git a/package/ltp-testsuite/ltp-testsuite.mk b/package/ltp-testsuite/ltp-testsuite.mk
index 78271b0730..2776b39042 100644
--- a/package/ltp-testsuite/ltp-testsuite.mk
+++ b/package/ltp-testsuite/ltp-testsuite.mk
@@ -4,7 +4,7 @@
#
################################################################################
-LTP_TESTSUITE_VERSION = 20230127
+LTP_TESTSUITE_VERSION = 20230516
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.1
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 2+ messages in thread* Re: [Buildroot] [PATCH] package/ltp-testsuite: bump version to 20230516
2023-05-21 13:50 [Buildroot] [PATCH] package/ltp-testsuite: bump version to 20230516 Petr Vorel
@ 2023-07-29 20:40 ` Thomas Petazzoni via buildroot
0 siblings, 0 replies; 2+ messages in thread
From: Thomas Petazzoni via buildroot @ 2023-07-29 20:40 UTC (permalink / raw)
To: Petr Vorel; +Cc: Fabrice Fontaine, Yann E . MORIN, buildroot
On Sun, 21 May 2023 15:50:13 +0200
Petr Vorel <pevik@seznam.cz> wrote:
> From: Petr Vorel <petr.vorel@gmail.com>
>
> Remove patch accepted in this release.
>
> Signed-off-by: Petr Vorel <petr.vorel@gmail.com>
I think we can't apply until the above is resolved, as it will affect a
significant number of builds. See below for some hints on what I
believe is going on.
> FYI bootlin-x86-64-glibc fails on new KVM tests. I suspect it's a glibc
> bug, because it works well on all classic distro native gcc/clang
> toolchains (CentOS 7, various Debian and Ubuntu, openSUSE, ...):
>
> CC testcases/kernel/kvm/lib_x86.o
> kvm_svm01.c: In function ‘guest_main’:
> kvm_svm01.c:42:13: warning: array subscript 0 is outside array bounds of ‘uint32_t[0]’ {aka ‘unsigned int[]’} [-Warray-bounds]
> 42 | if (*avic_ptr != 0xaaaaaaaa)
> | ^~~~~~~~~
> kvm_svm01.c:45:9: warning: array subscript 0 is outside array bounds of ‘uint32_t[0]’ {aka ‘unsigned int[]’} [-Warray-bounds]
> 45 | *avic_ptr = AVIC_TEST_VAL;
> | ^~~~~~~~~
> kvm_svm01.c: In function ‘main’:
> kvm_svm01.c:93:13: warning: array subscript 0 is outside array bounds of ‘uint32_t[0]’ {aka ‘unsigned int[]’} [-Warray-bounds]
> 93 | if (*avic_ptr != AVIC_TEST_VAL) {
> | ^~~~~~~~~
> br-test-pkg/bootlin-x86-64-glibc/host/opt/ext-toolchain/bin/../lib/gcc/x86_64-buildroot-linux-gnu/12.2.0/../../../../x86_64-buildroot-linux-gnu/bin/ld: lib_x86.o: in function `kvm_init_guest_vmcb':
> lib_x86.c:(.text+0x7c3): undefined reference to `__stack_chk_fail'
> collect2: error: ld returned 1 exit status
> make[4]: *** [br-test-pkg/bootlin-x86-64-glibc/build/ltp-testsuite-20230516/testcases/kernel/kvm/Makefile:59: kvm_svm01-payload.o] Error 1
> make[4]: *** Waiting for unfinished jobs....
> br-test-pkg/bootlin-x86-64-glibc/host/opt/ext-toolchain/bin/../lib/gcc/x86_64-buildroot-linux-gnu/12.2.0/../../../../x86_64-buildroot-linux-gnu/bin/ld: lib_x86.o: in function `kvm_init_guest_vmcb':
> lib_x86.c:(.text+0x7c3): undefined reference to `__stack_chk_fail'
> collect2: error: ld returned 1 exit status
> make[4]: *** [br-test-pkg/bootlin-x86-64-glibc/build/ltp-testsuite-20230516/testcases/kernel/kvm/Makefile:59: kvm_pagefault01-payload.o] Error 1
> CC testcases/kernel/kvm/lib_host.o
> make[3]: *** [../../include/mk/generic_trunk_target.inc:108: all] Error 2
> make[2]: *** [../include/mk/generic_trunk_target.inc:108: all] Error 2
>
> It'd also fail on bootlin-x86-64-musl, but it's being skipped due
> 5e1c238b72.
>
> Any hint how to workaround this is appreciated.
I don't think it's a glibc bug. The code being built in
testcases/kernel/kvm/ is some bare-metal code. The problem is that it
is being built with Stack Smashing Protection (-fstack-protector),
which requires runtime support from the gcc runtime... but that doesn't
exist for bare-metal code.
What's strange is that testcases/kernel/kvm/Makefile properly accounts
for that and passes -fno-stack-protector:
GUEST_CFLAGS = -ffreestanding -O2 -Wall -fno-asynchronous-unwind-tables -mno-mmx -mno-sse
GUEST_LDFLAGS = -nostdlib -Wl,--build-id=none -fno-stack-protector -z noexecstack
and then these flags are used as the CFLAGS/CPPFLAGS
lib_guest.o $(ARCH_OBJ): CPPFLAGS := $(GUEST_CPPFLAGS)
lib_guest.o $(ARCH_OBJ): CFLAGS := $(GUEST_CFLAGS)
Also, the compiler wrapper is passing -fstack-protector if you have one
of the BR2_SSP_* options enabled.
So in order to understand what's going on, could you:
(1) Run the build of ltp-testsuite in verbose mode, so that we get the
actual compiler/linker command line, with all flags.
(2) Run the build with BR2_DEBUG_WRAPPER=2 to get the details of what
the wrapper is doing ?
Also, which value are you using for the BR2_SSP_* Buildroot options?
Thanks!
Thomas
--
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2023-07-29 20:40 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-05-21 13:50 [Buildroot] [PATCH] package/ltp-testsuite: bump version to 20230516 Petr Vorel
2023-07-29 20:40 ` Thomas Petazzoni via buildroot
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.