Hi Tao,
On 7/18/25 05:46, Tao Liu wrote:
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.
Great to hear! Thank you for the review and testing.
Best,
Ming
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);
>>