Hi Ming,
On Wed, Jul 9, 2025 at 9:00 PM Tao Liu <ltao(a)redhat.com> wrote:
Hi Ming,
On Wed, Jul 9, 2025 at 8:10 PM Ming Wang <wangming01(a)loongson.cn> wrote:
>
> Gentle ping on this patch. Any comments or feedback?
>
Sorry for the late reply. I have seen your patch, but I'm not
confident about whether it will have regressions on other archs.
Please wait for some time before I do a regression test against it.
The regression test doesn't find any issue. So for the patch, ack.
Thanks,
Tao Liu
Thanks,
Tao Liu
> Thanks.
>
> 在 2025/6/9 11:03, Ming Wang 写道:
> > The crash tool failed to initialize on LoongArch64 when using
> > GDB 16.2 (and likely other recent GDB versions that have enhanced
> > LoongArch support) due to the error:
> > "fatal error: buffer size is not enough to fit register value".
> >
> > This occurs in supply_registers() because GDB now correctly
> > reports the size of LoongArch LASX (256-bit) vector registers
> > (xr0-xr31) as 32 bytes. The `regval` buffer in `crash_target.c`
> > was previously fixed at 16 bytes.
> >
> > This patch increases the `regval` buffer size to 32 bytes to
> > accommodate the largest LoongArch registers reported by GDB.
> > This allows crash to initialize successfully.
> >
> > Signed-off-by: Ming Wang <wangming01(a)loongson.cn>
> > ---
> > crash_target.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/crash_target.c b/crash_target.c
> > index 5966b7b..d93d58c 100644
> > --- a/crash_target.c
> > +++ b/crash_target.c
> > @@ -71,7 +71,7 @@ public:
> >
> > static void supply_registers(struct regcache *regcache, int regno)
> > {
> > - gdb_byte regval[16];
> > + gdb_byte regval[32];
> > struct gdbarch *arch = regcache->arch ();
> > const char *regname = gdbarch_register_name(arch, regno);
> > int regsize = register_size(arch, regno);
>