[patch 0/8] GDB/GDBserver talks with agents

Yao Qi
2012-01-23T12:43:23Z

When I am working on the new agent library [1], I found that only
gdbserver is able to interact with agent on static tracepoints only.
There are two limitations here, 1) only gdbserver is able to talk with
agent, 2) only static tracepoint operations can be performed by agent.
In order to make the interface of gdbserver and agent more clear, and
new agent library as flexible as possible, these two limitations should
be overcame/removed.

In this patch set, we generalize the original code in
gdbserver/tracepoint.c to talk with agent for static tracepoint, move
"common" part into gdb/common/agent.c, so that both gdb and gdbserver
can call them to interact with agent. Secondly, the communication
method (sync socket and command buffer) between gdbserver and
libinproctrace.so is kept, but is generalized to some extent, so that,
gdb and gdbserver is able to communicate with agent for other purposes,
such as installing fast tracepoint or evaluating breakpoint conditions.
The operations for static tracepoint are regarded as one sort of
commands on this communication channel.

This patch set doesn't change any existing functions of gdb and
gdbserver, but it makes gdb and gdbserver easier to communicate with
other agents.

--
Yao (é½å°§)

[1] Design of common agent library.