[RFC 0/2, gdbserver] Set linux target in async mode in default
Yao Qi
yao@codesourcery.com
Tue Sep 18 14:36:00 GMT 2012
On 09/18/2012 10:12 PM, Marc Khouzam wrote:
> To clarify, after this patch we can still use "-gdb-set target-async off"
> to turn off async mode right?
>
This patch doesn't change the behaviour from the GDB's and Eclipse's
perspective. We can still set target-async on or off in GDB side as needed.
IIUC, the term "async mode" in GDBserver is different from its
counterpart in GDB. In GDBserver, "async mode" means an "async event
loop" which is used for non-stop and notification. If we look at RSP,
there is no command to turn "async mode" on or off directly in GDBserver
(QNonStop can start async mode on linux target), the state of "async
mode" of GDBserver is unknown to GDB, and vice versa.
In current GDBserver/linux, we have only two modes, 'non-stop with
async-event-loop' and 'all-stop without async-event-loop'. This patch
only changes the latter to 'all-stop with async-event-loop', so that
async notification can work on top it. At the same time, GDB still
works in both "target-async on" and "target-async off" with this patched
GDbserver.
> Eclipse currently uses non-async mode for all-stop and some code
> is based on that assumption (e.g., interrupting the target)
> so we need to keep non-async available.
Forgot to mention in my mail that I run testsuite with
{native-gdbserver, native-extended-gdbserver} x {async, sync} (in GDB
side), and no regression.
--
Yao
More information about the Gdb-patches
mailing list