This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [RFA] Implement support for PowerPC BookE ranged breakpoints


> From: Thiago Jung Bauermann <bauerman@br.ibm.com>
> Date: Thu, 27 Jan 2011 23:26:25 -0200
> 
> This is (finally!) the last patch in my series to support BookE hardware
> debug features. It adds the following command:
> 
> (gdb) help break-range 
> Set a breakpoint for an address range.
> break-range START-LOCATION, END-LOCATION
> where START-LOCATION and END-LOCATION can be one of the following:
>   LINENUM, for that line in the current file,
>   FILE:LINENUM, for that line in that file,
>   +OFFSET, for that number of lines after the current line
>            or the start of the range
>   FUNCTION, for the first line in that function,
>   FILE:FUNCTION, to distinguish among like-named static functions.
>   *ADDRESS, for the instruction at that address.

Thanks.

> +* When locally debugging programs on PowerPC BookE processors running
          ^^^^^^^
You mean "natively", right?  I don't think we use "local debugging"
elsewhere in our documentation, do we?

> +  a Linux kernel version 2.6.34 or later, GDB supports ranged breakpoints,
> +  which stop execution of the inferior whenever it executes any address
> +  within the specified range.  See the "PowerPC Embedded" section in the

"whenever it executes an instruction at any address within the
specified range".  (You cannot "execute" an address.)

> +      if (b->disposition == disp_del)
> +	printf_filtered (_("Temporary ranged breakpoint"));
> +      else
> +	printf_filtered (_("Ranged breakpoint"));
> +      printf_filtered (_(" %d"), b->number);

This snippet violates one of the rules of translation-ready software:
don't construct phrases from parts.  I suggest to make " %d" part of
each of the two possibilities.

> +static void
> +print_recreate_ranged_breakpoint (struct breakpoint *b, struct ui_file *fp)
> +{
> +  fprintf_unfiltered (fp, "break-range %s", b->exp_string);

Should this string be in _() ?

> +      sals_start.sals = (struct symtab_and_line *)
> +	xmalloc (sizeof (struct symtab_and_line));
> +      sals_start.nelts = 1;

Spaces and TABs mixup alert!

> +The breakpoint will stop execution of the inferior whenever it\n\
> +executes any address within the [start-address, end-address] range\n\
   ^^^^^^^^^^^^^^^^^^^^
Same correction as in NEWS.

> +PowerPC embedded processors support hardware accelerated ranged breakpoints.
> +A @dfn{ranged breakpoint} stops execution of the inferior whenever it

Use @dfn when you first introduce a term, in this case in the previous
sentence.

Also, please add here a @cindex entry about "ranged breakpoint".

> +executes any address within the range it specifies.  To set a ranged
   ^^^^^^^^^^^^^^^^^^^^
Same correction as in NEWS.

> +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 (@xref{Specify Location},

You want a "see @ref here", not @xref.  The latter will produce "See"
with a capital S, which will look like a typo.  In general, @xref is
supposed to use only at the beginning of a sentence.

> +The breakpoint will stop execution of the inferior whenever it
> +executes any address within the specified range, (including
   ^^^^^^^^^^^^^^^^^^^^
Same correction as above.

The patch for NEWS and the manual is okay with those changes.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]