It looks like the reason QEMU's test suite passed was that the older Ubuntu gdb didn't have a fix for LP:1901026 (support remote connection over UNIX domain socket), so the test suite would simply skip the offending test and never get as far as falling over the assertion failure. After pulling various old binaries out of my backups to test I'm forced to conclude that I was simply misremembering by-hand use of the gdbstub working and I must not have used it as recently as I'd thought. So this is a bug, but not a regression.
A possible set of commits for a cherry-picked fix would be c8ec2f334c3751c28d5f and 4ef0bef68cfc777e59156fce1 (which together remove the hard-coded limit on register size and thus also the assertion), but the former is not a completely trivial patch. I haven't attempted such a cherry-pick to see if it works.
A workaround is to tell QEMU not to emulate SVE (eg with "-cpu max,sve=off" -- it is the large SVE vector registers which trigger the problem.
It looks like the reason QEMU's test suite passed was that the older Ubuntu gdb didn't have a fix for LP:1901026 (support remote connection over UNIX domain socket), so the test suite would simply skip the offending test and never get as far as falling over the assertion failure. After pulling various old binaries out of my backups to test I'm forced to conclude that I was simply misremembering by-hand use of the gdbstub working and I must not have used it as recently as I'd thought. So this is a bug, but not a regression.
A possible set of commits for a cherry-picked fix would be c8ec2f334c3751c 28d5f and 4ef0bef68cfc777 e59156fce1 (which together remove the hard-coded limit on register size and thus also the assertion), but the former is not a completely trivial patch. I haven't attempted such a cherry-pick to see if it works.
A workaround is to tell QEMU not to emulate SVE (eg with "-cpu max,sve=off" -- it is the large SVE vector registers which trigger the problem.