This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [RFC 0/2, gdbserver] Set linux target in async mode in default


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]