diff options
author | Thiago Jung Bauermann <bauerman@br.ibm.com> | 2011-03-31 14:32:49 +0000 |
---|---|---|
committer | Thiago Jung Bauermann <bauerman@br.ibm.com> | 2011-03-31 14:32:49 +0000 |
commit | f13101077fe972666625fa9d12952a9465f26f94 (patch) | |
tree | 129f11de0e72b593cc70b71882326ec23cb3857d /gdb/doc | |
parent | bbda34159e3b58cdd3f9b5ab715df213ed53b16b (diff) | |
download | gdb-f13101077fe972666625fa9d12952a9465f26f94.zip gdb-f13101077fe972666625fa9d12952a9465f26f94.tar.gz gdb-f13101077fe972666625fa9d12952a9465f26f94.tar.bz2 |
2011-03-31 Thiago Jung Bauermann <bauerman@br.ibm.com>
Sergio Durigan Junior <sergiodj@linux.vnet.ibm.com>
Implement support for PowerPC BookE ranged breakpoints.
gdb/
* NEWS: Mention support for ranged breakpoints on embedded PowerPC.
* breakpoint.h (struct bp_target_info) <length>: New member
variable.
(struct breakpoint_ops) <breakpoint_hit>: Take struct bp_location
instead of struct breakpoint as argument, and also add ASPACE
and BP_ADDR arguments. Update all callers.
(struct breakpoint_ops) <print_one_detail>: New method.
(struct breakpoint) <addr_string_range_end>: New member variable.
* breakpoint.c (breakpoint_location_address_match): Add function
prototype.
(insert_bp_location): Set bl->target_info.length.
(breakpoint_here_p): Call breakpoint_location_address_match.
(moribund_breakpoint_here_p): Likewise.
(regular_breakpoint_inserted_here_p): Likewise.
(breakpoint_thread_match): Likewise.
(bpstat_stop_status): Likewise.
(bpstat_check_location): Move call to
breakpoint_ops.breakpoint_hit to the top.
(print_one_breakpoint_location): Call
breakpoint_ops.print_one_detail if available.
(breakpoint_address_match_range): New function.
(breakpoint_location_address_match): Likewise.
(breakpoint_locations_match): Compare the length field of the
locations too.
(hw_breakpoint_used_count): Count resources used by all locations
in a breakpoint, and use breakpoint_ops.resources_needed if
available.
(breakpoint_hit_ranged_breakpoint): New function.
(resources_needed_ranged_breakpoint): Likewise.
(print_it_ranged_breakpoint): Likewise.
(print_one_ranged_breakpoint): Likewise.
(print_one_detail_ranged_breakpoint): Likewise.
(print_mention_ranged_breakpoint): Likewise.
(print_recreate_ranged_breakpoint): Likewise.
(ranged_breakpoint_ops): New structure.
(find_breakpoint_range_end): New function.
(break_range_command): Likewise.
(delete_breakpoint): Free addr_string_range_end.
(update_breakpoint_locations): Add SALS_END argument. Update
all callers. Calculate breakpoint length if a non-zero SALS_END
is given. Call breakpoint_locations_match instead of
breakpoint_address_match.
(reset_breakpoint): Find SaL of the end of the range if B is a
ranged breakpoint.
(_initialize_breakpoint): Register break-range command.
* defs.h (print_core_address): Add function prototype.
* ppc-linux-nat.c (ppc_linux_ranged_break_num_registers): New
function.
(ppc_linux_insert_hw_breakpoint): Support ranged breakpoints.
(ppc_linux_remove_hw_breakpoint): Likewise.
(_initialize_ppc_linux_nat): Initialize
to_ranged_break_num_registers.
* target.c (update_current_target): Add comment about
to_ranged_break_num_registers.
(target_ranged_break_num_registers): New function.
* target.h (struct target_ops) <to_ranged_break_num_registers>:
New method.
(target_ranged_break_num_registers): Add function prototype.
* ui-out.c (ui_out_field_core_addr): Move address-printing logic to ...
* utils.c (print_core_address): ... here.
gdb/doc/
* gdb.texinfo (PowerPC Embedded): Document ranged breakpoints.
Diffstat (limited to 'gdb/doc')
-rw-r--r-- | gdb/doc/ChangeLog | 8 | ||||
-rw-r--r-- | gdb/doc/gdb.texinfo | 18 |
2 files changed, 25 insertions, 1 deletions
diff --git a/gdb/doc/ChangeLog b/gdb/doc/ChangeLog index 08d6c8c..424f5c2 100644 --- a/gdb/doc/ChangeLog +++ b/gdb/doc/ChangeLog @@ -1,3 +1,9 @@ +2011-03-31 Thiago Jung Bauermann <bauerman@br.ibm.com> + Sergio Durigan Junior <sergiodj@linux.vnet.ibm.com> + + Implement support for PowerPC BookE ranged breakpoints. + * gdb.texinfo (PowerPC Embedded): Document ranged breakpoints. + 2011-03-28 Tom Tromey <tromey@redhat.com> * gdb.texinfo (Set Tracepoints): Fix typo. @@ -9,7 +15,7 @@ 2011-03-18 Phil Muldoon <pmuldoon@redhat.com> - PR python/12149 + PR python/12149 * gdb.texinfo (Basic Python): Update gdb.write and flush text. diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo index a4e976f..e72a305 100644 --- a/gdb/doc/gdb.texinfo +++ b/gdb/doc/gdb.texinfo @@ -18742,9 +18742,27 @@ region using one of the following commands (@pxref{Expressions}): (@value{GDBP}) watch @{char[@var{length}]@} @var{address} @end smallexample +@cindex ranged breakpoint +PowerPC embedded processors support hardware accelerated +@dfn{ranged breakpoints}. A ranged breakpoint stops execution of +the inferior whenever it executes an instruction at any address within +the range it specifies. To set a ranged breakpoint in @value{GDBN}, +use the @code{break-range} command. + @value{GDBN} provides the following PowerPC-specific commands: @table @code +@kindex break-range +@item break-range @var{start-location}, @var{end-location} +Set a breakpoint for an address range. +@var{start-location} and @var{end-location} can specify a function name, +a line number, an offset of lines from the current line or from the start +location, or an address of an instruction (see @ref{Specify Location}, +for a list of all the possible ways to specify a @var{location}.) +The breakpoint will stop execution of the inferior whenever it +executes an instruction at any address within the specified range, +(including @var{start-location} and @var{end-location}.) + @kindex set powerpc @item set powerpc soft-float @itemx show powerpc soft-float |