Re: gdb support for SME-without-SVE ?

Peter Maydell via Gdb
2026-01-28T16:21:27Z

On Wed, 28 Jan 2026 at 04:24, Thiago Jung Bauermann
<thiago.bauermann@linaro.org> wrote:
> I'm currently implementing SME-only (i.e. without SVE) support in GDB
> for Linux userspace debugging. It's mostly done, I just need to test a
> few things, polish the code and prepare the patches. I'm hoping to send
> the patches next week.

Let me know if a QEMU setup emulating "SME only" would be helpful
for you with that.

> Due to the limitations in the remote protocol that Luis mentioned below,
> I can't run the tests against a remote target so I'm only focusing on
> local debugging, unfortunately.

What does gdb need to do differently for "SME only" vs "SME + SVE" ?

What I'm wondering is, if for the remote protocol we define/redefine:
- org.gnu.gdb.aarch64.sve is how the Z registers are exposed; its
'vg' tells you the size of the Z regs (either "max size" as
currently, or eventually "current size", 128 bits if Z regs
not currently exposed)
- org.gnu.gdb.aarch64.sme is how the ZA array is exposed; its
'svg' tells you the size of the ZA array

then does this break something subtly ? I think with current gdb
it would let you at least access all the registers without it
falling over. gdb wouldn't be able to tell the difference between
"SME only" and "SME + SVE" if we define things this way; but we
could add a new thing somewhere if it needs that information.

(Handling changes in vector length would obviously be the ideal,
but we don't have that at the moment for anything.)

thanks
-- PMM