Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: "Ulrich Weigand" <uweigand@de.ibm.com>
To: bauerman@br.ibm.com (Thiago Jung Bauermann)
Cc: gdb-patches@sourceware.org (gdb-patches ml)
Subject: Re: [RFA] Implement support for PowerPC BookE ranged breakpoints
Date: Tue, 29 Mar 2011 13:10:00 -0000	[thread overview]
Message-ID: <201103291223.p2TCNd58027043@d06av02.portsmouth.uk.ibm.com> (raw)
In-Reply-To: <1301323318.2433.2.camel@hactar> from "Thiago Jung Bauermann" at Mar 28, 2011 11:41:58 AM

Thiago Jung Bauermann wrote:

> In this patch I had to modify print_recreate_ranged_breakpoint to use
> addr_string_range_end since I don't use exp_string anymore. I could
> change print_mention_ranged_breakpoint to use it too, since it's
> formatted consistently. However, breakpoint.c:mention doesn't use
> b->addr_string and instead uses b->source_file and b->line_number, so
> I'm not sure if I should use b->addr_string_range_end. I left that out
> for now.

OK, that's fine with me.

> +  /* We call decode_line_n1 directly here instead of using

Typo: decode_line_1

> +     parse_breakpoint_sals because we need to specify the start location's
> +     symtab and line as the default symtab and line for the end of the
> +     range.  This makes it possible to have ranges like "foo.c:27, +14",
> +     where +14 means 14 lines from the start location.  */
> +  sals_end = decode_line_1 (&arg, 1, sal_start.symtab, sal_start.line,
> +                           &canonical_end, NULL);


> 2011-03-27  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.  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.

Otherwise, this is OK.

Thanks,
Ulrich

-- 
  Dr. Ulrich Weigand
  GNU Toolchain for Linux on System z and Cell BE
  Ulrich.Weigand@de.ibm.com


  reply	other threads:[~2011-03-29 12:23 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-01-28  1:54 Thiago Jung Bauermann
2011-01-28  9:39 ` Eli Zaretskii
2011-01-31 19:07   ` Thiago Jung Bauermann
2011-01-31 20:39     ` Eli Zaretskii
2011-02-17 15:49 ` Ulrich Weigand
2011-02-23 20:50   ` Thiago Jung Bauermann
2011-02-24 20:45     ` [rfc] More intelligent indenting of multi-line table entries (Re: [RFA] Implement support for PowerPC BookE ranged breakpoints) Ulrich Weigand
2011-02-25 14:46       ` Pedro Alves
2011-02-28 15:33         ` [rfc] More intelligent indenting of multi-line table entries (Re: [RFA] Implement support for PowerPC BookE ranged breakpoin Ulrich Weigand
2011-02-28 16:34           ` [commit] Remove unused parameter (Re: [rfc] More intelligent indenting of multi-line table entries) Ulrich Weigand
2011-02-25 15:33       ` [rfc] More intelligent indenting of multi-line table entries (Re: [RFA] Implement support for PowerPC BookE ranged breakpoints) Thiago Jung Bauermann
2011-02-28 17:08     ` [RFA] Implement support for PowerPC BookE ranged breakpoints Ulrich Weigand
2011-03-12  2:03       ` Thiago Jung Bauermann
2011-03-12 16:44         ` Thiago Jung Bauermann
2011-03-14 20:50           ` Ulrich Weigand
2011-03-16  6:07             ` Thiago Jung Bauermann
2011-03-16 18:00               ` Ulrich Weigand
2011-03-14 21:02         ` Ulrich Weigand
2011-03-28 16:50           ` Thiago Jung Bauermann
2011-03-29 13:10             ` Ulrich Weigand [this message]
2011-03-31 15:41               ` Thiago Jung Bauermann
2011-03-31 16:04                 ` Thiago Jung Bauermann

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=201103291223.p2TCNd58027043@d06av02.portsmouth.uk.ibm.com \
    --to=uweigand@de.ibm.com \
    --cc=bauerman@br.ibm.com \
    --cc=gdb-patches@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox