* ppc-linux-user GDB stub broken
@ 2026-02-27 8:28 Florian Hofhammer
2026-02-27 9:58 ` Philippe Mathieu-Daudé
0 siblings, 1 reply; 11+ messages in thread
From: Florian Hofhammer @ 2026-02-27 8:28 UTC (permalink / raw)
To: qemu-ppc; +Cc: Pierrick Bouvier, philmd, qemu-devel
Hello,
on current master (d8a9d97317d03190b34498741f98f22e2a9afe3e), the basic
gdb stub test fails for ppc-linux-user when running "make check-tcg".
The error message is as follows:
TEST basic gdbstub support on ppc
Python Exception <class 'gdb.error'>: Could not fetch register "fpscr"; remote failure reply '14'
Error occurred in Python: Could not fetch register "fpscr"; remote failure reply '14'
qemu-ppc: QEMU: Terminated via GDBstub
I've tested from a clean checkout with the following commands:
./configure --target-list=ppc-linux-user
make -j$(nproc) all
make check-tcg
According to git bisect, the test started failing with commit
1ec0fbe2ddadf17f7e0644b441833f0cd20dc137, which reduced
cc->gdb_num_core_regs from 71 to 70 (link to the patch on the mailing
list: https://lists.nongnu.org/archive/html/qemu-ppc/2026-02/msg00265.html).
Commit 7ddd3aca5f2efcf6aae10f836011e445ee77a6e1 (mailing list link:
https://lists.nongnu.org/archive/html/qemu-ppc/2026-02/msg00267.html)
got rid of the hardcoded value for cc->gdb_num_core_regs, but the test
still fails (people involved in the original patches in CC).
I've debugged around a bit but I don't know my way around the gdbstub
internals enough to propose a patch right away, so I'll just summarize
what I figured out so far.
1. Due to cc->gdb_num_core_regs not being set explicitly anymore, it is
set to 0 at the end of gdbstub/gdbstub.c:gdb_init_cpu(). In the same
function, cpu->gdb_num_regs gets set to 70.
2. When the test tries to read a register in gdbstub/gdbstub.c:gdb_read_register(),
the first condition of "reg < cc->gdb_num_core_regs" is always false.
Also, the register number for fpscr passed to the function is is 103,
and cpu->gdb_num_regs is also 103. If the register number is supposed
to be an index (as I understand it), this would indicate an
off-by-one error somewhere.
If you have some pointers on where to look / what to check out for
fixing this, I'll happily try to work on a patch. But I suppose that
somebody more experienced with this could probably fix this much faster
than I can.
Best regards,
Florian
^ permalink raw reply [flat|nested] 11+ messages in thread* Re: ppc-linux-user GDB stub broken 2026-02-27 8:28 ppc-linux-user GDB stub broken Florian Hofhammer @ 2026-02-27 9:58 ` Philippe Mathieu-Daudé 2026-02-27 13:09 ` Philippe Mathieu-Daudé 2026-02-27 17:21 ` Pierrick Bouvier 0 siblings, 2 replies; 11+ messages in thread From: Philippe Mathieu-Daudé @ 2026-02-27 9:58 UTC (permalink / raw) To: Florian Hofhammer; +Cc: qemu-ppc, Pierrick Bouvier, qemu-devel Hi Florian, On Fri, 27 Feb 2026 at 09:28, Florian Hofhammer <florian.hofhammer@fhofhammer.de> wrote: > > Hello, > > on current master (d8a9d97317d03190b34498741f98f22e2a9afe3e), the basic > gdb stub test fails for ppc-linux-user when running "make check-tcg". Sorry for that :/ > The error message is as follows: > TEST basic gdbstub support on ppc > Python Exception <class 'gdb.error'>: Could not fetch register "fpscr"; remote failure reply '14' > Error occurred in Python: Could not fetch register "fpscr"; remote failure reply '14' > qemu-ppc: QEMU: Terminated via GDBstub > I've tested from a clean checkout with the following commands: > ./configure --target-list=ppc-linux-user > make -j$(nproc) all > make check-tcg It's odd this config isn't caught by our CI. > According to git bisect, the test started failing with commit > 1ec0fbe2ddadf17f7e0644b441833f0cd20dc137, which reduced > cc->gdb_num_core_regs from 71 to 70 (link to the patch on the mailing > list: https://lists.nongnu.org/archive/html/qemu-ppc/2026-02/msg00265.html). > Commit 7ddd3aca5f2efcf6aae10f836011e445ee77a6e1 (mailing list link: > https://lists.nongnu.org/archive/html/qemu-ppc/2026-02/msg00267.html) > got rid of the hardcoded value for cc->gdb_num_core_regs, but the test > still fails (people involved in the original patches in CC). > > I've debugged around a bit but I don't know my way around the gdbstub > internals enough to propose a patch right away, so I'll just summarize > what I figured out so far. > 1. Due to cc->gdb_num_core_regs not being set explicitly anymore, it is > set to 0 at the end of gdbstub/gdbstub.c:gdb_init_cpu(). In the same > function, cpu->gdb_num_regs gets set to 70. > 2. When the test tries to read a register in gdbstub/gdbstub.c:gdb_read_register(), > the first condition of "reg < cc->gdb_num_core_regs" is always false. > Also, the register number for fpscr passed to the function is is 103, > and cpu->gdb_num_regs is also 103. If the register number is supposed > to be an index (as I understand it), this would indicate an > off-by-one error somewhere. > > If you have some pointers on where to look / what to check out for > fixing this, I'll happily try to work on a patch. But I suppose that > somebody more experienced with this could probably fix this much faster > than I can. I'll have a look. Regards, Phil. > > Best regards, > Florian ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: ppc-linux-user GDB stub broken 2026-02-27 9:58 ` Philippe Mathieu-Daudé @ 2026-02-27 13:09 ` Philippe Mathieu-Daudé 2026-02-27 15:01 ` Alex Bennée 2026-02-27 21:40 ` Philippe Mathieu-Daudé 2026-02-27 17:21 ` Pierrick Bouvier 1 sibling, 2 replies; 11+ messages in thread From: Philippe Mathieu-Daudé @ 2026-02-27 13:09 UTC (permalink / raw) To: Florian Hofhammer; +Cc: qemu-ppc, Pierrick Bouvier, qemu-devel On 27/2/26 10:58, Philippe Mathieu-Daudé wrote: > Hi Florian, >> on current master (d8a9d97317d03190b34498741f98f22e2a9afe3e), the basic >> gdb stub test fails for ppc-linux-user when running "make check-tcg". >> I've debugged around a bit but I don't know my way around the gdbstub >> internals enough to propose a patch right away, so I'll just summarize >> what I figured out so far. >> 1. Due to cc->gdb_num_core_regs not being set explicitly anymore, it is >> set to 0 at the end of gdbstub/gdbstub.c:gdb_init_cpu(). In the same >> function, cpu->gdb_num_regs gets set to 70. >> 2. When the test tries to read a register in gdbstub/gdbstub.c:gdb_read_register(), >> the first condition of "reg < cc->gdb_num_core_regs" is always false. >> Also, the register number for fpscr passed to the function is is 103, >> and cpu->gdb_num_regs is also 103. If the register number is supposed >> to be an index (as I understand it), this would indicate an >> off-by-one error somewhere. >> >> If you have some pointers on where to look / what to check out for >> fixing this, I'll happily try to work on a patch. But I suppose that >> somebody more experienced with this could probably fix this much faster >> than I can. > > I'll have a look. Short term, this seems to fix it: -- >8 -- diff --git a/gdbstub/gdbstub.c b/gdbstub/gdbstub.c index 90f4b95135b..0b0a5d1e044 100644 --- a/gdbstub/gdbstub.c +++ b/gdbstub/gdbstub.c @@ -610,6 +610,10 @@ void gdb_register_coprocessor(CPUState *cpu, guint i; int base_reg = cpu->gdb_num_regs; + if (g_pos && g_pos != base_reg) { + base_reg = g_pos; + } + for (i = 0; i < cpu->gdb_regs->len; i++) { /* Check for duplicates. */ s = &g_array_index(cpu->gdb_regs, GDBRegisterState, i); @@ -622,14 +626,7 @@ void gdb_register_coprocessor(CPUState *cpu, /* Add to end of list. */ cpu->gdb_num_regs += feature->num_regs; - if (g_pos) { - if (g_pos != base_reg) { - error_report("Error: Bad gdb register numbering for '%s', " - "expected %d got %d", feature->xml, g_pos, base_reg); - } else { - cpu->gdb_num_g_regs = cpu->gdb_num_regs; - } - } + cpu->gdb_num_g_regs = cpu->gdb_num_regs; } void gdb_unregister_coprocessor_all(CPUState *cpu) diff --git a/target/ppc/gdbstub.c b/target/ppc/gdbstub.c index e0aae9c9eaf..51b14b95b9f 100644 --- a/target/ppc/gdbstub.c +++ b/target/ppc/gdbstub.c @@ -502,7 +502,7 @@ void ppc_gdb_init(CPUState *cs, PowerPCCPUClass *pcc) { if (pcc->insns_flags & PPC_FLOAT) { gdb_register_coprocessor(cs, gdb_get_float_reg, gdb_set_float_reg, - gdb_find_static_feature("power-fpu.xml"), 0); + gdb_find_static_feature("power-fpu.xml"), 71); } if (pcc->insns_flags & PPC_ALTIVEC) { gdb_register_coprocessor(cs, gdb_get_avr_reg, gdb_set_avr_reg, --- ^ permalink raw reply related [flat|nested] 11+ messages in thread
* Re: ppc-linux-user GDB stub broken 2026-02-27 13:09 ` Philippe Mathieu-Daudé @ 2026-02-27 15:01 ` Alex Bennée 2026-02-27 21:40 ` Philippe Mathieu-Daudé 1 sibling, 0 replies; 11+ messages in thread From: Alex Bennée @ 2026-02-27 15:01 UTC (permalink / raw) To: Philippe Mathieu-Daudé Cc: Florian Hofhammer, qemu-ppc, Pierrick Bouvier, qemu-devel Philippe Mathieu-Daudé <philmd@linaro.org> writes: > On 27/2/26 10:58, Philippe Mathieu-Daudé wrote: >> Hi Florian, > > >>> on current master (d8a9d97317d03190b34498741f98f22e2a9afe3e), the basic >>> gdb stub test fails for ppc-linux-user when running "make check-tcg". > > >>> I've debugged around a bit but I don't know my way around the gdbstub >>> internals enough to propose a patch right away, so I'll just summarize >>> what I figured out so far. >>> 1. Due to cc->gdb_num_core_regs not being set explicitly anymore, it is >>> set to 0 at the end of gdbstub/gdbstub.c:gdb_init_cpu(). In the same >>> function, cpu->gdb_num_regs gets set to 70. >>> 2. When the test tries to read a register in gdbstub/gdbstub.c:gdb_read_register(), >>> the first condition of "reg < cc->gdb_num_core_regs" is always false. >>> Also, the register number for fpscr passed to the function is is 103, >>> and cpu->gdb_num_regs is also 103. If the register number is supposed >>> to be an index (as I understand it), this would indicate an >>> off-by-one error somewhere. >>> >>> If you have some pointers on where to look / what to check out for >>> fixing this, I'll happily try to work on a patch. But I suppose that >>> somebody more experienced with this could probably fix this much faster >>> than I can. >> I'll have a look. > > Short term, this seems to fix it: > > -- >8 -- > diff --git a/gdbstub/gdbstub.c b/gdbstub/gdbstub.c > index 90f4b95135b..0b0a5d1e044 100644 > --- a/gdbstub/gdbstub.c > +++ b/gdbstub/gdbstub.c > @@ -610,6 +610,10 @@ void gdb_register_coprocessor(CPUState *cpu, > guint i; > int base_reg = cpu->gdb_num_regs; > > + if (g_pos && g_pos != base_reg) { > + base_reg = g_pos; > + } > + > for (i = 0; i < cpu->gdb_regs->len; i++) { > /* Check for duplicates. */ > s = &g_array_index(cpu->gdb_regs, GDBRegisterState, i); > @@ -622,14 +626,7 @@ void gdb_register_coprocessor(CPUState *cpu, > > /* Add to end of list. */ > cpu->gdb_num_regs += feature->num_regs; > - if (g_pos) { > - if (g_pos != base_reg) { > - error_report("Error: Bad gdb register numbering for '%s', " > - "expected %d got %d", feature->xml, g_pos, > base_reg); > - } else { > - cpu->gdb_num_g_regs = cpu->gdb_num_regs; > - } > - } > + cpu->gdb_num_g_regs = cpu->gdb_num_regs; > } > > void gdb_unregister_coprocessor_all(CPUState *cpu) > diff --git a/target/ppc/gdbstub.c b/target/ppc/gdbstub.c > index e0aae9c9eaf..51b14b95b9f 100644 > --- a/target/ppc/gdbstub.c > +++ b/target/ppc/gdbstub.c > @@ -502,7 +502,7 @@ void ppc_gdb_init(CPUState *cs, PowerPCCPUClass *pcc) > { > if (pcc->insns_flags & PPC_FLOAT) { > gdb_register_coprocessor(cs, gdb_get_float_reg, gdb_set_float_reg, > - gdb_find_static_feature("power-fpu.xml"), 0); > + gdb_find_static_feature("power-fpu.xml"), 71); > } > if (pcc->insns_flags & PPC_ALTIVEC) { > gdb_register_coprocessor(cs, gdb_get_avr_reg, gdb_set_avr_reg, > > --- Tested-by: Alex Bennée <alex.bennee@linaro.org> -- Alex Bennée Virtualisation Tech Lead @ Linaro ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: ppc-linux-user GDB stub broken 2026-02-27 13:09 ` Philippe Mathieu-Daudé 2026-02-27 15:01 ` Alex Bennée @ 2026-02-27 21:40 ` Philippe Mathieu-Daudé 2026-02-27 21:43 ` Pierrick Bouvier 1 sibling, 1 reply; 11+ messages in thread From: Philippe Mathieu-Daudé @ 2026-02-27 21:40 UTC (permalink / raw) To: Florian Hofhammer; +Cc: qemu-ppc, Pierrick Bouvier, qemu-devel On 27/2/26 14:09, Philippe Mathieu-Daudé wrote: > On 27/2/26 10:58, Philippe Mathieu-Daudé wrote: >> Hi Florian, > > >>> on current master (d8a9d97317d03190b34498741f98f22e2a9afe3e), the basic >>> gdb stub test fails for ppc-linux-user when running "make check-tcg". > > >>> I've debugged around a bit but I don't know my way around the gdbstub >>> internals enough to propose a patch right away, so I'll just summarize >>> what I figured out so far. >>> 1. Due to cc->gdb_num_core_regs not being set explicitly anymore, it is >>> set to 0 at the end of gdbstub/gdbstub.c:gdb_init_cpu(). In the same >>> function, cpu->gdb_num_regs gets set to 70. >>> 2. When the test tries to read a register in gdbstub/ >>> gdbstub.c:gdb_read_register(), >>> the first condition of "reg < cc->gdb_num_core_regs" is always >>> false. >>> Also, the register number for fpscr passed to the function is is >>> 103, >>> and cpu->gdb_num_regs is also 103. If the register number is >>> supposed >>> to be an index (as I understand it), this would indicate an >>> off-by-one error somewhere. >>> >>> If you have some pointers on where to look / what to check out for >>> fixing this, I'll happily try to work on a patch. But I suppose that >>> somebody more experienced with this could probably fix this much faster >>> than I can. >> >> I'll have a look. > > Short term, this seems to fix it: Series for the generic fix posted: https://lore.kernel.org/qemu-devel/20260227213958.21170-1-philmd@linaro.org/ > > -- >8 -- > diff --git a/gdbstub/gdbstub.c b/gdbstub/gdbstub.c > index 90f4b95135b..0b0a5d1e044 100644 > --- a/gdbstub/gdbstub.c > +++ b/gdbstub/gdbstub.c > @@ -610,6 +610,10 @@ void gdb_register_coprocessor(CPUState *cpu, > guint i; > int base_reg = cpu->gdb_num_regs; > > + if (g_pos && g_pos != base_reg) { > + base_reg = g_pos; > + } > + > for (i = 0; i < cpu->gdb_regs->len; i++) { > /* Check for duplicates. */ > s = &g_array_index(cpu->gdb_regs, GDBRegisterState, i); > @@ -622,14 +626,7 @@ void gdb_register_coprocessor(CPUState *cpu, > > /* Add to end of list. */ > cpu->gdb_num_regs += feature->num_regs; > - if (g_pos) { > - if (g_pos != base_reg) { > - error_report("Error: Bad gdb register numbering for '%s', " > - "expected %d got %d", feature->xml, g_pos, > base_reg); > - } else { > - cpu->gdb_num_g_regs = cpu->gdb_num_regs; > - } > - } > + cpu->gdb_num_g_regs = cpu->gdb_num_regs; > } > > void gdb_unregister_coprocessor_all(CPUState *cpu) > diff --git a/target/ppc/gdbstub.c b/target/ppc/gdbstub.c > index e0aae9c9eaf..51b14b95b9f 100644 > --- a/target/ppc/gdbstub.c > +++ b/target/ppc/gdbstub.c > @@ -502,7 +502,7 @@ void ppc_gdb_init(CPUState *cs, PowerPCCPUClass *pcc) > { > if (pcc->insns_flags & PPC_FLOAT) { > gdb_register_coprocessor(cs, gdb_get_float_reg, > gdb_set_float_reg, > - gdb_find_static_feature("power-fpu.xml"), 0); > + gdb_find_static_feature("power-fpu.xml"), 71); > } > if (pcc->insns_flags & PPC_ALTIVEC) { > gdb_register_coprocessor(cs, gdb_get_avr_reg, gdb_set_avr_reg, > > --- ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: ppc-linux-user GDB stub broken 2026-02-27 21:40 ` Philippe Mathieu-Daudé @ 2026-02-27 21:43 ` Pierrick Bouvier 2026-02-27 21:47 ` Pierrick Bouvier 0 siblings, 1 reply; 11+ messages in thread From: Pierrick Bouvier @ 2026-02-27 21:43 UTC (permalink / raw) To: Philippe Mathieu-Daudé, Florian Hofhammer; +Cc: qemu-ppc, qemu-devel On 2/27/26 1:40 PM, Philippe Mathieu-Daudé wrote: > On 27/2/26 14:09, Philippe Mathieu-Daudé wrote: >> On 27/2/26 10:58, Philippe Mathieu-Daudé wrote: >>> Hi Florian, >> >> >>>> on current master (d8a9d97317d03190b34498741f98f22e2a9afe3e), the basic >>>> gdb stub test fails for ppc-linux-user when running "make check-tcg". >> >> >>>> I've debugged around a bit but I don't know my way around the gdbstub >>>> internals enough to propose a patch right away, so I'll just summarize >>>> what I figured out so far. >>>> 1. Due to cc->gdb_num_core_regs not being set explicitly anymore, it is >>>> set to 0 at the end of gdbstub/gdbstub.c:gdb_init_cpu(). In the same >>>> function, cpu->gdb_num_regs gets set to 70. >>>> 2. When the test tries to read a register in gdbstub/ >>>> gdbstub.c:gdb_read_register(), >>>> the first condition of "reg < cc->gdb_num_core_regs" is always >>>> false. >>>> Also, the register number for fpscr passed to the function is is >>>> 103, >>>> and cpu->gdb_num_regs is also 103. If the register number is >>>> supposed >>>> to be an index (as I understand it), this would indicate an >>>> off-by-one error somewhere. >>>> >>>> If you have some pointers on where to look / what to check out for >>>> fixing this, I'll happily try to work on a patch. But I suppose that >>>> somebody more experienced with this could probably fix this much faster >>>> than I can. >>> >>> I'll have a look. >> >> Short term, this seems to fix it: > > Series for the generic fix posted: > > https://lore.kernel.org/qemu-devel/20260227213958.21170-1-philmd@linaro.org/ > Broken link, and unknown series. Can you send the good one? Regards, Pierrick ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: ppc-linux-user GDB stub broken 2026-02-27 21:43 ` Pierrick Bouvier @ 2026-02-27 21:47 ` Pierrick Bouvier 0 siblings, 0 replies; 11+ messages in thread From: Pierrick Bouvier @ 2026-02-27 21:47 UTC (permalink / raw) To: Philippe Mathieu-Daudé, Florian Hofhammer; +Cc: qemu-ppc, qemu-devel On 2/27/26 1:43 PM, Pierrick Bouvier wrote: > On 2/27/26 1:40 PM, Philippe Mathieu-Daudé wrote: >> On 27/2/26 14:09, Philippe Mathieu-Daudé wrote: >>> On 27/2/26 10:58, Philippe Mathieu-Daudé wrote: >>>> Hi Florian, >>> >>> >>>>> on current master (d8a9d97317d03190b34498741f98f22e2a9afe3e), the basic >>>>> gdb stub test fails for ppc-linux-user when running "make check-tcg". >>> >>> >>>>> I've debugged around a bit but I don't know my way around the gdbstub >>>>> internals enough to propose a patch right away, so I'll just summarize >>>>> what I figured out so far. >>>>> 1. Due to cc->gdb_num_core_regs not being set explicitly anymore, it is >>>>> set to 0 at the end of gdbstub/gdbstub.c:gdb_init_cpu(). In the same >>>>> function, cpu->gdb_num_regs gets set to 70. >>>>> 2. When the test tries to read a register in gdbstub/ >>>>> gdbstub.c:gdb_read_register(), >>>>> the first condition of "reg < cc->gdb_num_core_regs" is always >>>>> false. >>>>> Also, the register number for fpscr passed to the function is is >>>>> 103, >>>>> and cpu->gdb_num_regs is also 103. If the register number is >>>>> supposed >>>>> to be an index (as I understand it), this would indicate an >>>>> off-by-one error somewhere. >>>>> >>>>> If you have some pointers on where to look / what to check out for >>>>> fixing this, I'll happily try to work on a patch. But I suppose that >>>>> somebody more experienced with this could probably fix this much faster >>>>> than I can. >>>> >>>> I'll have a look. >>> >>> Short term, this seems to fix it: >> >> Series for the generic fix posted: >> >> https://lore.kernel.org/qemu-devel/20260227213958.21170-1-philmd@linaro.org/ >> > > Broken link, and unknown series. > Can you send the good one? > Oops, was just a lore.kernel.org delay. > Regards, > Pierrick ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: ppc-linux-user GDB stub broken 2026-02-27 9:58 ` Philippe Mathieu-Daudé 2026-02-27 13:09 ` Philippe Mathieu-Daudé @ 2026-02-27 17:21 ` Pierrick Bouvier 2026-02-27 21:24 ` Pierrick Bouvier 1 sibling, 1 reply; 11+ messages in thread From: Pierrick Bouvier @ 2026-02-27 17:21 UTC (permalink / raw) To: Philippe Mathieu-Daudé, Florian Hofhammer; +Cc: qemu-ppc, qemu-devel On 2/27/26 1:58 AM, Philippe Mathieu-Daudé wrote: >> The error message is as follows: >> TEST basic gdbstub support on ppc >> Python Exception <class 'gdb.error'>: Could not fetch register "fpscr"; remote failure reply '14' >> Error occurred in Python: Could not fetch register "fpscr"; remote failure reply '14' >> qemu-ppc: QEMU: Terminated via GDBstub >> I've tested from a clean checkout with the following commands: >> ./configure --target-list=ppc-linux-user >> make -j$(nproc) all >> make check-tcg > > It's odd this config isn't caught by our CI. > https://gitlab.com/qemu-project/qemu/-/blob/master/tests/tcg/multiarch/Makefile.target#L153 ``` ifneq ($(GDB),) ... # gdbstub tests ... else run-gdbstub-%: $(call skip-test, "gdbstub test $*", "need working gdb with $(patsubst -%,,$(TARGET_NAME)) support") ``` Unfortunately, gdb is not installed in any container. At least we caught something with this bug, which is great :). Regards, Pierrick ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: ppc-linux-user GDB stub broken 2026-02-27 17:21 ` Pierrick Bouvier @ 2026-02-27 21:24 ` Pierrick Bouvier 2026-02-28 17:53 ` Alex Bennée 0 siblings, 1 reply; 11+ messages in thread From: Pierrick Bouvier @ 2026-02-27 21:24 UTC (permalink / raw) To: Philippe Mathieu-Daudé, Florian Hofhammer, Alex Bennée Cc: qemu-ppc, qemu-devel On 2/27/26 9:21 AM, Pierrick Bouvier wrote: > On 2/27/26 1:58 AM, Philippe Mathieu-Daudé wrote: >>> The error message is as follows: >>> TEST basic gdbstub support on ppc >>> Python Exception <class 'gdb.error'>: Could not fetch register "fpscr"; remote failure reply '14' >>> Error occurred in Python: Could not fetch register "fpscr"; remote failure reply '14' >>> qemu-ppc: QEMU: Terminated via GDBstub >>> I've tested from a clean checkout with the following commands: >>> ./configure --target-list=ppc-linux-user >>> make -j$(nproc) all >>> make check-tcg >> >> It's odd this config isn't caught by our CI. >> > > https://gitlab.com/qemu-project/qemu/-/blob/master/tests/tcg/multiarch/Makefile.target#L153 > > ``` > ifneq ($(GDB),) > ... > # gdbstub tests > ... > else > run-gdbstub-%: > $(call skip-test, "gdbstub test $*", "need working gdb with $(patsubst > -%,,$(TARGET_NAME)) support") > ``` > > Unfortunately, gdb is not installed in any container. > > At least we caught something with this bug, which is great :). > > Regards, > Pierrick Alex, is it something you could see to add to existing Dockerfiles? Thanks, Pierrick ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: ppc-linux-user GDB stub broken 2026-02-27 21:24 ` Pierrick Bouvier @ 2026-02-28 17:53 ` Alex Bennée 2026-03-01 0:40 ` Pierrick Bouvier 0 siblings, 1 reply; 11+ messages in thread From: Alex Bennée @ 2026-02-28 17:53 UTC (permalink / raw) To: Pierrick Bouvier Cc: Philippe Mathieu-Daudé, Florian Hofhammer, qemu-ppc, qemu-devel Pierrick Bouvier <pierrick.bouvier@linaro.org> writes: > On 2/27/26 9:21 AM, Pierrick Bouvier wrote: >> On 2/27/26 1:58 AM, Philippe Mathieu-Daudé wrote: >>>> The error message is as follows: >>>> TEST basic gdbstub support on ppc >>>> Python Exception <class 'gdb.error'>: Could not fetch register "fpscr"; remote failure reply '14' >>>> Error occurred in Python: Could not fetch register "fpscr"; remote failure reply '14' >>>> qemu-ppc: QEMU: Terminated via GDBstub >>>> I've tested from a clean checkout with the following commands: >>>> ./configure --target-list=ppc-linux-user >>>> make -j$(nproc) all >>>> make check-tcg >>> >>> It's odd this config isn't caught by our CI. >>> >> https://gitlab.com/qemu-project/qemu/-/blob/master/tests/tcg/multiarch/Makefile.target#L153 >> ``` >> ifneq ($(GDB),) >> ... >> # gdbstub tests >> ... >> else >> run-gdbstub-%: >> $(call skip-test, "gdbstub test $*", "need working gdb with $(patsubst >> -%,,$(TARGET_NAME)) support") >> ``` >> Unfortunately, gdb is not installed in any container. >> At least we caught something with this bug, which is great :). >> Regards, >> Pierrick > > Alex, is it something you could see to add to existing Dockerfiles? I think we need to work out the equivalent of gdb-multiarch and add mappings to the libvirt-ci project. But for linux-all-test-cross we can add it manually. > > Thanks, > Pierrick -- Alex Bennée Virtualisation Tech Lead @ Linaro ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: ppc-linux-user GDB stub broken 2026-02-28 17:53 ` Alex Bennée @ 2026-03-01 0:40 ` Pierrick Bouvier 0 siblings, 0 replies; 11+ messages in thread From: Pierrick Bouvier @ 2026-03-01 0:40 UTC (permalink / raw) To: Alex Bennée Cc: Philippe Mathieu-Daudé, Florian Hofhammer, qemu-ppc, qemu-devel On 2/28/26 9:53 AM, Alex Bennée wrote: > Pierrick Bouvier <pierrick.bouvier@linaro.org> writes: > >> On 2/27/26 9:21 AM, Pierrick Bouvier wrote: >>> On 2/27/26 1:58 AM, Philippe Mathieu-Daudé wrote: >>>>> The error message is as follows: >>>>> TEST basic gdbstub support on ppc >>>>> Python Exception <class 'gdb.error'>: Could not fetch register "fpscr"; remote failure reply '14' >>>>> Error occurred in Python: Could not fetch register "fpscr"; remote failure reply '14' >>>>> qemu-ppc: QEMU: Terminated via GDBstub >>>>> I've tested from a clean checkout with the following commands: >>>>> ./configure --target-list=ppc-linux-user >>>>> make -j$(nproc) all >>>>> make check-tcg >>>> >>>> It's odd this config isn't caught by our CI. >>>> >>> https://gitlab.com/qemu-project/qemu/-/blob/master/tests/tcg/multiarch/Makefile.target#L153 >>> ``` >>> ifneq ($(GDB),) >>> ... >>> # gdbstub tests >>> ... >>> else >>> run-gdbstub-%: >>> $(call skip-test, "gdbstub test $*", "need working gdb with $(patsubst >>> -%,,$(TARGET_NAME)) support") >>> ``` >>> Unfortunately, gdb is not installed in any container. >>> At least we caught something with this bug, which is great :). >>> Regards, >>> Pierrick >> >> Alex, is it something you could see to add to existing Dockerfiles? > > I think we need to work out the equivalent of gdb-multiarch and add > mappings to the libvirt-ci project. But for linux-all-test-cross we can > add it manually. > Yes, it sounds good, it should be enough to get it in build-user and build-user-static jobs. I asked you because I know you already contributed to lcitool and did such an update, so it should be easier than for me. Thanks, Pierrick ^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2026-03-01 0:41 UTC | newest] Thread overview: 11+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2026-02-27 8:28 ppc-linux-user GDB stub broken Florian Hofhammer 2026-02-27 9:58 ` Philippe Mathieu-Daudé 2026-02-27 13:09 ` Philippe Mathieu-Daudé 2026-02-27 15:01 ` Alex Bennée 2026-02-27 21:40 ` Philippe Mathieu-Daudé 2026-02-27 21:43 ` Pierrick Bouvier 2026-02-27 21:47 ` Pierrick Bouvier 2026-02-27 17:21 ` Pierrick Bouvier 2026-02-27 21:24 ` Pierrick Bouvier 2026-02-28 17:53 ` Alex Bennée 2026-03-01 0:40 ` Pierrick Bouvier
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.