Re: gdb support for SME-without-SVE ?

Thiago Jung Bauermann via Gdb
2026-01-30T17:06:36Z

Peter Maydell <peter.maydell@linaro.org> writes:

> On Fri, 30 Jan 2026 at 16:16, Thiago Jung Bauermann
> <thiago.bauermann@linaro.org> wrote:
>>
>> Peter Maydell <peter.maydell@linaro.org> writes:
>>
>> > 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.
>>
>> Hm, weird. I don't know about this problem. Sounds like some generated
>> Dejagnu config file is missing. Maybe try running just "make" before
>> "make check-gdb" to see if the file is generated again?
>
> I did try that, but it didn't help. ("Some file that dejagnu created
> is corrupt/truncated" seems quite possible, because I had to kill
> the VM after the guest kernel hit the Oops.)

Ah, that's probably it then.

>> > Is there some way I can get it to tell me why it isn't running anything?
>>
>> The gdb.log file sometimes has more information than what appears on the
>> console.
>
> Where would I find it? (The make output suggests it would be
> in gdb/testsuite/ as that is what the rm command deletes, but
> there is no gdb.log file in that directory.)

It should be in gdb/testsuite/gdb.log, but it looks like it didn't make
it to the disk.

> Is there something I can rm in my build directory that will delete
> all the testsuite stuff and force it to recreate it ? (I would
> prefer not to have to blow away the whole build directory and
> spend hours waiting for gdb to be rebuilt...)

You can try deleting these under $GDB_BUILD_DIR:

gdb/testsuite/site.exp
gdb/testsuite/cache
gdb/testsuite/outputs

In the worst case, you could delete the whole gdb/ directory. You'll
have to rebuild all the gdb files, but at least not bfd, gdbserver,
gdbsupport etc.

--
Thiago