* [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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox