aboutsummaryrefslogtreecommitdiff
path: root/gdb/NEWS
diff options
context:
space:
mode:
authorStan Shebs <shebs@codesourcery.com>2010-01-06 04:20:27 +0000
committerStan Shebs <shebs@codesourcery.com>2010-01-06 04:20:27 +0000
commit7a697b8dd7ac3c14e35ae3026d955aeae3ecc054 (patch)
tree62009f9b707ae6f18c12be8956f7b1e5fc586a7a /gdb/NEWS
parent737a160ed9bb7bbe1ac8ebea1cdc27438213c247 (diff)
downloadgdb-7a697b8dd7ac3c14e35ae3026d955aeae3ecc054.zip
gdb-7a697b8dd7ac3c14e35ae3026d955aeae3ecc054.tar.gz
gdb-7a697b8dd7ac3c14e35ae3026d955aeae3ecc054.tar.bz2
Add fast tracepoints.
* arch-utils.h (default_fast_tracepoint_valid_at): Declare. * arch-utils.c (default_fast_tracepoint_valid_at): New function. * breakpoint.h (enum bptype): Add bp_fast_tracepoint. * breakpoint.c (tracepoint_type): New function. (ALL_TRACEPOINTS): Use it. (should_be_inserted): Ditto. (bpstat_check_location): Ditto. (print_one_breakpoint_location): Ditto. (user_settable_breakpoint): Ditto. (set_breakpoint_location_function): Ditto. (disable_breakpoints_in_shlibs): Ditto. (delete_trace_command): Ditto. (print_it_typical): Add bp_fast_tracepoint case. (bpstat_what): Ditto. (print_one_breakpoint_location): Ditto. (allocate_bp_location): Ditto. (mention): Ditto. (breakpoint_re_set_one): Ditto. (disable_command): Ditto. (enable_command): Ditto. (check_fast_tracepoint_sals): New function. (break_command_really): Call it. (ftrace_command): New function. (_initialize_breakpoint): Add ftrace command. * gdbarch.sh (fast_tracepoint_valid_at): New. * gdbarch.h, gdbarch.c: Regenerate. * i386-tdep.c (i386_fast_tracepoint_valid_at): New function. (i386_gdbarch_init): Use it. * remote.c (struct remote_state): New field fast_tracepoints. (PACKET_FastTracepoints): New packet config type. (remote_fast_tracepoint_feature): New function. (remote_protocol_features): Add FastTracepoints. (remote_supports_fast_tracepoints): New function. (_initialize_remote): Add FastTracepoints. * tracepoint.c (download_tracepoint): Add fast tracepoint option. * NEWS: Mention fast tracepoints. * gdb.texinfo (Create and Delete Tracepoints): Describe fast tracepoints. (Tracepoint Packets): Describe remote protocol for fast tracepoints. * gdb.trace/tracecmd.exp: Test ftrace.
Diffstat (limited to 'gdb/NEWS')
-rw-r--r--gdb/NEWS17
1 files changed, 16 insertions, 1 deletions
diff --git a/gdb/NEWS b/gdb/NEWS
index 184c4e6..544a1aa 100644
--- a/gdb/NEWS
+++ b/gdb/NEWS
@@ -36,7 +36,19 @@ Renesas RX rx
tracepoint actions and condition expressions. Use the "tvariable"
command to create, and "info tvariables" to view; see "Trace State
Variables" in the manual for more detail.
-
+
+* Fast tracepoints
+
+ GDB now includes an option for defining fast tracepoints, which
+ targets may implement more efficiently, such as by installing a jump
+ into the target agent rather than a trap instruction. The resulting
+ speedup can be by two orders of magnitude or more, although the
+ tradeoff is that some program locations on some target architectures
+ might not allow fast tracepoint installation, for instance if the
+ instruction to be replaced is shorter than the jump. To request a
+ fast tracepoint, use the "ftrace" command, with syntax identical to
+ the regular trace command.
+
* Changed commands
disassemble
@@ -101,6 +113,9 @@ teval EXPR, ...
Evaluate the given expressions without collecting anything into the
trace buffer. (Valid in tracepoint actions only.)
+ftrace FN / FILE:LINE / *ADDR
+ Define a fast tracepoint at the given function, line, or address.
+
* New options
set follow-exec-mode new|same