qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v2] gdbstub: Fix single-step issue by confirming 'vContSuppor


From: Alex Bennée
Subject: Re: [PATCH v2] gdbstub: Fix single-step issue by confirming 'vContSupported+' feature to gdb
Date: Mon, 09 Mar 2020 14:48:47 +0000
User-agent: mu4e 1.3.9; emacs 28.0.50

Changbin Du <address@hidden> writes:

> hello, is this patch ready to merge now? Thanks!
>
> On Fri, Feb 21, 2020 at 08:25:59AM +0800, Changbin Du wrote:
>> Recently when debugging an arm32 system on qemu, I found sometimes the
>> single-step command (stepi) is not working. This can be reproduced by
>> below steps:
>>  1) start qemu-system-arm -s -S .. and wait for gdb connection.
>>  2) start gdb and connect to qemu. In my case, gdb gets a wrong value
>>     (0x60) for PC, which is an another bug.
>>  3) After connected, type 'stepi' and expect it will stop at next ins.
>> 
>> But, it has never stopped. This because:
>>  1) We doesn't report ‘vContSupported’ feature to gdb explicitly and gdb
>>     think we do not support it. In this case, gdb use a software breakpoint
>>     to emulate single-step.
>>  2) Since gdb gets a wrong initial value of PC, then gdb inserts a
>>     breakpoint to wrong place (PC+4).

OK I was initially confused because I couldn't replicate the failure
with the aarch64 tests. With or without the vContSupported reply I saw
the exact same set of messages go between gdbstub and gdb.

However I did replicate with:

  ./arm-softmmu/qemu-system-arm -monitor none -display none \
     -chardev file,path=test-armv6m-undef.out,id=output \
     -semihosting -M microbit \
     -kernel tests/tcg/arm-softmmu/test-armv6m-undef \
     -s -S -d trace:gdbstub\* -D gdbstub.dump

So I have applied it to me tree.

-- 
Alex Bennée



reply via email to

[Prev in Thread] Current Thread [Next in Thread]