diff options
author | Yao Qi <yao@codesourcery.com> | 2011-11-14 15:18:54 +0000 |
---|---|---|
committer | Yao Qi <yao@codesourcery.com> | 2011-11-14 15:18:54 +0000 |
commit | 1e4d17643d49f247df304245675551ee71995a37 (patch) | |
tree | cfc5abd91467ef7a0270e37de1512e806cf4a1c0 /gdb/target.h | |
parent | 5c73ff4ec2c54aa1788d012003e59bfbd14a896b (diff) | |
download | gdb-1e4d17643d49f247df304245675551ee71995a37.zip gdb-1e4d17643d49f247df304245675551ee71995a37.tar.gz gdb-1e4d17643d49f247df304245675551ee71995a37.tar.bz2 |
gdb/
* remote.c (struct remote_state): <install_in_trace> new field.
(PACKET_InstallInTrace): New enum value.
(remote_install_in_trace_feature): Support InstallInTrace.
(remote_supports_install_in_trace): Likewise.
(remote_protocol_features): Likewise.
(_initialize_remote): Likewise.
(remote_can_download_tracepoint): New.
* target.h (struct target): New field
`to_can_download_tracepoint'.
(target_can_download_tracepoint): New macro.
* target.c (update_current_target): Update.
* breakpoint.h (struct bp_location): Add comment on field
`duplicate'.
(should_be_inserted): Don't differentiate breakpoint and tracepoint.
(remove_breakpoints): Don't remove tracepoints.
(tracepoint_locations_match ): New.
(breakpoint_locations_match): Call it.
(disable_breakpoints_in_unloaded_shlib): Handle tracepoint.
(download_tracepoint_locations): New.
(update_global_location_list): Call it.
* tracepoint.c (find_matching_tracepoint): Delete.
(find_matching_tracepoint_location): Renamed from
find_matching_tracepoint. Return bp_location rather than
tracepoint.
(merge_uploaded_tracepoints): Set `inserted' field to 1 if
tracepoint is found.
gdb/doc/
* gdb.texinfo (Create and Delete Tracepoints): Describe changed
behavior of tracepoint.
(General Query Packets): New feature InstallInTrace.
(Remote Configuration): Document "set remote
install-in-trace-packet".
gdb/gdbserver/
* server.c (handle_query): Handle InstallInTrace for qSupported.
* tracepoint.c (add_tracepoint): Sort list.
(install_tracepoint, download_tracepoint): New.
(cmd_qtdp): Call them to install and download tracepoints.
(sort_tracepoints): Removed.
(cmd_qtstart): Update.
gdb/testsuite/
* gdb.trace/change-loc-1.c: New.
* gdb.trace/change-loc-2.c: New.
* gdb.trace/change-loc.c: New.
* gdb.trace/change-loc.exp: New.
* gdb.trace/change-loc.h: New.
* gdb.trace/trace-break.c (marker): Define new symbol.
* gdb.trace/trace-break.exp (break_trace_same_addr_5):
New.
(break_trace_same_addr_6): New.
Diffstat (limited to 'gdb/target.h')
-rw-r--r-- | gdb/target.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/gdb/target.h b/gdb/target.h index ec7937a..c8941a4 100644 --- a/gdb/target.h +++ b/gdb/target.h @@ -689,6 +689,10 @@ struct target_ops /* Send full details of a tracepoint location to the target. */ void (*to_download_tracepoint) (struct bp_location *location); + /* Is the target able to download tracepoint locations in current + state? */ + int (*to_can_download_tracepoint) (void); + /* Send full details of a trace state variable to the target. */ void (*to_download_trace_state_variable) (struct trace_state_variable *tsv); @@ -1477,6 +1481,9 @@ extern int target_search_memory (CORE_ADDR start_addr, #define target_download_tracepoint(t) \ (*current_target.to_download_tracepoint) (t) +#define target_can_download_tracepoint() \ + (*current_target.to_can_download_tracepoint) () + #define target_download_trace_state_variable(tsv) \ (*current_target.to_download_trace_state_variable) (tsv) |