aboutsummaryrefslogtreecommitdiff
path: root/gdb/breakpoint.h
diff options
context:
space:
mode:
authorYao Qi <yao@codesourcery.com>2011-11-14 15:18:54 +0000
committerYao Qi <yao@codesourcery.com>2011-11-14 15:18:54 +0000
commit1e4d17643d49f247df304245675551ee71995a37 (patch)
treecfc5abd91467ef7a0270e37de1512e806cf4a1c0 /gdb/breakpoint.h
parent5c73ff4ec2c54aa1788d012003e59bfbd14a896b (diff)
downloadgdb-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/breakpoint.h')
-rw-r--r--gdb/breakpoint.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/gdb/breakpoint.h b/gdb/breakpoint.h
index fe381df..506ae80 100644
--- a/gdb/breakpoint.h
+++ b/gdb/breakpoint.h
@@ -335,7 +335,11 @@ struct bp_location
char inserted;
/* Nonzero if this is not the first breakpoint in the list
- for the given address. */
+ for the given address. location of tracepoint can _never_
+ be duplicated with other locations of tracepoints and other
+ kinds of breakpoints, because two locations at the same
+ address may have different actions, so both of these locations
+ should be downloaded and so that `tfind N' always works. */
char duplicate;
/* If we someday support real thread-specific breakpoints, then