2012-02-24 Luis Machado <lgustavo@codesourcery.com>
* remote.c (remote_state) <cond_breakpoints>: New field. (PACKET_ConditionalBreakpoints): New enum. (remote_cond_breakpoint_feature): New function. (remote_protocol_features): Add new ConditionalBreakpoints entry. (remote_supports_cond_breakpoints): New function. (_initialize_remote): Add new packet configuration for target-side conditional breakpoints.
This commit is contained in:
parent
83364271df
commit
3788aec75a
2 changed files with 40 additions and 0 deletions
|
@ -1,3 +1,13 @@
|
||||||
|
2012-02-24 Luis Machado <lgustavo@codesourcery.com>
|
||||||
|
|
||||||
|
* remote.c (remote_state) <cond_breakpoints>: New field.
|
||||||
|
(PACKET_ConditionalBreakpoints): New enum.
|
||||||
|
(remote_cond_breakpoint_feature): New function.
|
||||||
|
(remote_protocol_features): Add new ConditionalBreakpoints entry.
|
||||||
|
(remote_supports_cond_breakpoints): New function.
|
||||||
|
(_initialize_remote): Add new packet configuration for
|
||||||
|
target-side conditional breakpoints.
|
||||||
|
|
||||||
2012-02-24 Luis Machado <lgustavo@codesourcery.com>
|
2012-02-24 Luis Machado <lgustavo@codesourcery.com>
|
||||||
|
|
||||||
* NEWS: Mention target-side conditional breakpoint support,
|
* NEWS: Mention target-side conditional breakpoint support,
|
||||||
|
|
30
gdb/remote.c
30
gdb/remote.c
|
@ -315,6 +315,10 @@ struct remote_state
|
||||||
/* True if the stub reports support for conditional tracepoints. */
|
/* True if the stub reports support for conditional tracepoints. */
|
||||||
int cond_tracepoints;
|
int cond_tracepoints;
|
||||||
|
|
||||||
|
/* True if the stub reports support for target-side breakpoint
|
||||||
|
conditions. */
|
||||||
|
int cond_breakpoints;
|
||||||
|
|
||||||
/* True if the stub reports support for fast tracepoints. */
|
/* True if the stub reports support for fast tracepoints. */
|
||||||
int fast_tracepoints;
|
int fast_tracepoints;
|
||||||
|
|
||||||
|
@ -1263,6 +1267,7 @@ enum {
|
||||||
PACKET_qXfer_siginfo_write,
|
PACKET_qXfer_siginfo_write,
|
||||||
PACKET_qAttached,
|
PACKET_qAttached,
|
||||||
PACKET_ConditionalTracepoints,
|
PACKET_ConditionalTracepoints,
|
||||||
|
PACKET_ConditionalBreakpoints,
|
||||||
PACKET_FastTracepoints,
|
PACKET_FastTracepoints,
|
||||||
PACKET_StaticTracepoints,
|
PACKET_StaticTracepoints,
|
||||||
PACKET_InstallInTrace,
|
PACKET_InstallInTrace,
|
||||||
|
@ -3716,6 +3721,16 @@ remote_cond_tracepoint_feature (const struct protocol_feature *feature,
|
||||||
rs->cond_tracepoints = (support == PACKET_ENABLE);
|
rs->cond_tracepoints = (support == PACKET_ENABLE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
remote_cond_breakpoint_feature (const struct protocol_feature *feature,
|
||||||
|
enum packet_support support,
|
||||||
|
const char *value)
|
||||||
|
{
|
||||||
|
struct remote_state *rs = get_remote_state ();
|
||||||
|
|
||||||
|
rs->cond_breakpoints = (support == PACKET_ENABLE);
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
remote_fast_tracepoint_feature (const struct protocol_feature *feature,
|
remote_fast_tracepoint_feature (const struct protocol_feature *feature,
|
||||||
enum packet_support support,
|
enum packet_support support,
|
||||||
|
@ -3810,6 +3825,8 @@ static struct protocol_feature remote_protocol_features[] = {
|
||||||
PACKET_qXfer_siginfo_write },
|
PACKET_qXfer_siginfo_write },
|
||||||
{ "ConditionalTracepoints", PACKET_DISABLE, remote_cond_tracepoint_feature,
|
{ "ConditionalTracepoints", PACKET_DISABLE, remote_cond_tracepoint_feature,
|
||||||
PACKET_ConditionalTracepoints },
|
PACKET_ConditionalTracepoints },
|
||||||
|
{ "ConditionalBreakpoints", PACKET_DISABLE, remote_cond_breakpoint_feature,
|
||||||
|
PACKET_ConditionalBreakpoints },
|
||||||
{ "FastTracepoints", PACKET_DISABLE, remote_fast_tracepoint_feature,
|
{ "FastTracepoints", PACKET_DISABLE, remote_fast_tracepoint_feature,
|
||||||
PACKET_FastTracepoints },
|
PACKET_FastTracepoints },
|
||||||
{ "StaticTracepoints", PACKET_DISABLE, remote_static_tracepoint_feature,
|
{ "StaticTracepoints", PACKET_DISABLE, remote_static_tracepoint_feature,
|
||||||
|
@ -9853,6 +9870,14 @@ remote_supports_cond_tracepoints (void)
|
||||||
return rs->cond_tracepoints;
|
return rs->cond_tracepoints;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int
|
||||||
|
remote_supports_cond_breakpoints (void)
|
||||||
|
{
|
||||||
|
struct remote_state *rs = get_remote_state ();
|
||||||
|
|
||||||
|
return rs->cond_breakpoints;
|
||||||
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
remote_supports_fast_tracepoints (void)
|
remote_supports_fast_tracepoints (void)
|
||||||
{
|
{
|
||||||
|
@ -11273,6 +11298,11 @@ Show the maximum size of the address (in bits) in a memory packet."), NULL,
|
||||||
add_packet_config_cmd (&remote_protocol_packets[PACKET_ConditionalTracepoints],
|
add_packet_config_cmd (&remote_protocol_packets[PACKET_ConditionalTracepoints],
|
||||||
"ConditionalTracepoints",
|
"ConditionalTracepoints",
|
||||||
"conditional-tracepoints", 0);
|
"conditional-tracepoints", 0);
|
||||||
|
|
||||||
|
add_packet_config_cmd (&remote_protocol_packets[PACKET_ConditionalBreakpoints],
|
||||||
|
"ConditionalBreakpoints",
|
||||||
|
"conditional-breakpoints", 0);
|
||||||
|
|
||||||
add_packet_config_cmd (&remote_protocol_packets[PACKET_FastTracepoints],
|
add_packet_config_cmd (&remote_protocol_packets[PACKET_FastTracepoints],
|
||||||
"FastTracepoints", "fast-tracepoints", 0);
|
"FastTracepoints", "fast-tracepoints", 0);
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue