@samitouri / QOSamiQemu / commits / 3b6cf87d42

gdbstub: Simplify gdb_init_cpu() logic

Ensure we either set gdb_num_core_regs or have a XML file. We shouldn't modify CPUClass content, so mark it const. Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> Tested-by: Pierrick Bouvier <pierrick.bouvier@linaro.org> Link: https://lore.kernel.org/qemu-devel/20260310232045.58440-7-philmd@linaro.org Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>

Philippe Mathieu-Daudé committed Mar 11, 2026 at 00:20 UTC 3b6cf87d420dbfd1c4dd357f0a0790e4c1609801
1 file changed +3 -5
gdbstub/gdbstub.c
+3 -5
@@ -582,22 +582,20 @@ static const char *gdb_get_core_xml_file(CPUState *cpu)
582
583 void gdb_init_cpu(CPUState *cpu)
584 {
585 - CPUClass *cc = cpu->cc;
585 + const CPUClass *cc = cpu->cc;
586 const GDBFeature *feature;
587 const char *xmlfile = gdb_get_core_xml_file(cpu);
588
589 cpu->gdb_regs = g_array_new(false, false, sizeof(GDBRegisterState));
590
591 if (xmlfile) {
592 + assert(!cc->gdb_num_core_regs);
593 feature = gdb_find_static_feature(xmlfile);
594 gdb_register_feature(cpu, 0,
595 cc->gdb_read_register, cc->gdb_write_register,
596 feature);
596 - assert(!cc->gdb_num_core_regs);
597 cpu->gdb_num_regs = cpu->gdb_num_g_regs = feature->num_regs;
598 - }
599 -
600 - if (cc->gdb_num_core_regs) {
598 + } else {
599 cpu->gdb_num_regs = cpu->gdb_num_g_regs = cc->gdb_num_core_regs;
600 }
601 }