Re: gdb support for SME-without-SVE ?
Peter Maydell via Gdb <[email protected]> Fri, 30 Jan 2026 12:29:29 +0000
| Newsgroups | gmane.comp.gdb.devel |
|---|---|
| Message-ID | <CAFEAcA8G5Gh6VGrK2E_b_X0KX7K+JrMSpZK3WgmrXyn3VW+T9A@mail.gmail.com> |
On Fri, 30 Jan 2026 at 04:28, Thiago Jung Bauermann <[email protected]> wrote: > Unfortunately I hit a kernel oops reliably when trying to run a GDB testcase: > > [ 156.387143] Internal error: Oops - Undefined instruction: 0000000002000000 [#1] SMP > [ 156.389966] Modules linked in: sm3_ce tpm_tis tpm_tis_core sha256 cfg80211 rfkill fuse drm backlight dm_mod ipv6 btrfs blake2b libblake2b xor xor_neon raid6_pq zstd_compress > [ 156.391005] CPU: 0 UID: 1000 PID: 677 Comm: aarch64-sme-san Not tainted 6.19.0-rc5 #4 PREEMPT > [ 156.391244] Hardware name: QEMU QEMU Virtual Machine, BIOS edk2-stable202408-prebuilt.qemu.org 08/13/2024 > [ 156.391475] pstate: 214020c5 (nzCv daIF +PAN -UAO -TCO +DIT -SSBS BTYPE=--) > [ 156.391657] pc : sve_get_vl+0x4/0xc > [ 156.392149] lr : fpsimd_save_user_state+0x100/0x1b8 So I know what this bug is, but I'm having difficulty with reproducing it. I got it to reproduce just once, after I did a full build of gdb and then ran the test case with your command: > And you can run the testcase with: > > $ cd /path/to/gdb/build/dir; make check-gdb TESTS=gdb.arch/aarch64-sme-sanity.exp But now after restarting the VM and running this command again, it does nothing: root@debian:~/gdb-build# make check-gdb TESTS=gdb.arch/aarch64-sme-sanity.exp make[1]: Entering directory '/root/gdb-build/gdb' make[2]: Entering directory '/root/gdb-build/gdb/testsuite' make check-single make[3]: Entering directory '/root/gdb-build/gdb/testsuite' rm -f *core* gdb.sum gdb.log rootme=`pwd`; export rootme; srcdir=../../../binutils-gdb/gdb/testsuite ; export srcdir ; EXPECT=`if [ "${READ1}" != "" ] ; then echo ${rootme}/expect-read1; elif [ "${READMORE}" != "" ] ; then echo ${rootme}/expect-readmore; elif [ -f ${rootme}/../../expect/expect ] ; then echo ${rootme}/../../expect/expect ; else echo expect ; fi` ; export EXPECT ; EXEEXT= ; export EXEEXT ; LD_LIBRARY_PATH=$rootme/../../expect:$rootme/../../libstdc++:$rootme/../../tk/unix:$rootme/../../tcl/unix:$rootme/../../bfd:$rootme/../../opcodes:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH; if [ -f ${rootme}/../../expect/expect ] ; then TCL_LIBRARY=${srcdir}/../../tcl/library ; export TCL_LIBRARY ; fi ; runtest --status gdb.arch/aarch64-sme-sanity.exp ; \ result=$?; \ if test -e gdb.sum; then \ /bin/bash ../../../binutils-gdb/gdb/testsuite/lib/dg-add-core-file-count.sh; \ sed -n '/=== gdb Summary ===/,$ p' gdb.sum; \ fi; \ exit $result WARNING: No tool specified Test run by root on Fri Jan 30 12:25:14 2026 Native configuration is aarch64-unknown-linux-gnu === tests === Schedule of variations: unix Running target unix Using /usr/share/dejagnu/baseboards/unix.exp as board description file for target. Using /usr/share/dejagnu/config/unix.exp as generic interface file for target. WARNING: Couldn't find tool config file for unix, using default. === Summary === make[3]: Leaving directory '/root/gdb-build/gdb/testsuite' make[2]: Leaving directory '/root/gdb-build/gdb/testsuite' make[1]: Leaving directory '/root/gdb-build/gdb' root@debian:~/gdb-build# As far as I can see the test harness is running no tests any more (and so the kernel oops doesn't show up). Is there some way I can get it to tell me why it isn't running anything? thanks -- PMM