applied:
https://github.com/crash-utility/crash/commit/31a69d378efb4319a5b9ef8cf3d...
On Fri, Jul 18, 2025 at 3:05 PM Ming Wang <wangming01(a)loongson.cn> wrote:
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);
>>>