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: [PATCH 1/6] Add a field 'installed' for each location of tracepoint.


> Date: Sun, 9 Dec 2012 20:49:20 +0800
> From: Yao Qi <yao@codesourcery.com>
> CC: <gdb-patches@sourceware.org>
> 
> On 12/07/2012 04:56 AM, Pedro Alves wrote:
> > This should be documented in the manual and NEWS, both the CLI changes, and
> > the MI change (this patch adds the "installed" field to various MI things).
> > 
> 
> The new version includes changes to manual and NEWS.

Thanks.

> +  ** The response to breakpoint commands and breakpoint async records will
> +     include an "installed" field containing a boolean state about each

"includes", not "will include".  NEWS describes features that are
already present, not future features.

> +     non-pending tracepoint location is whether installed on target or not.
>  
>  * GDB now supports the "mini debuginfo" section, .gnu_debugdata.
>    You must have the LZMA library available when configuring GDB for this
> diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c
> index 94874ec..5d5033f 100644
> --- a/gdb/breakpoint.c
> +++ b/gdb/breakpoint.c
> @@ -6123,6 +6123,25 @@ print_one_breakpoint_location (struct breakpoint *b,
>  	  ui_out_field_int (uiout, "pass", t->pass_count);
>  	  ui_out_text (uiout, " \n");
>  	}
> +
> +      /* Don't display it when tracepoint or tracepoint location is
> +	 pending.   */
> +      if (!header_of_multiple && loc != NULL && !loc->shlib_disabled)
> +	{
> +	  annotate_field (11);
> +
> +	  if (ui_out_is_mi_like_p (uiout))
> +	    ui_out_field_string (uiout, "installed",
> +				 loc->inserted ? "y" : "n");
> +	  else
> +	    {
> +	      if (loc->inserted)
> +		ui_out_text (uiout, "\t");
> +	      else
> +		ui_out_text (uiout, "\tnot ");
> +	      ui_out_text (uiout, "installed on target\n");
> +	    }
> +	}
>      }
>  
>    if (ui_out_is_mi_like_p (uiout) && !part_of_multiple)
> diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo
> index 9ffdb77..cd2f76a 100644
> --- a/gdb/doc/gdb.texinfo
> +++ b/gdb/doc/gdb.texinfo
> @@ -11476,8 +11476,6 @@ tracing:
>  @itemize @bullet
>  @item
>  its passcount as given by the @code{passcount @var{n}} command
> -@end itemize
> -
>  @smallexample
>  (@value{GDBP}) @b{info trace}
>  Num     Type           Disp Enb Address    What
> @@ -11491,6 +11489,23 @@ Num     Type           Disp Enb Address    What
>  (@value{GDBP})
>  @end smallexample
>  
> +@item
> +the state about installed on target of each location
> +@smallexample
> +(@value{GDBP}) @b{info trace}
> +Num     Type           Disp Enb Address    What
> +4       tracepoint     keep y   <MULTIPLE>
> +        collect $eip
> +4.1                         y     0x0804859c in func4 at change-loc.h:35
> +        installed on target
> +4.2                         y     0xb7ffc480 in func4 at change-loc.h:35
> +        installed on target
> +4.3                         y     <PENDING>  set_tracepoint
> +5       tracepoint     keep y   0x080485b1 in foo at change-loc.c:29
> +        not installed on target
> +@end smallexample
> +@end itemize

A @smallexample inside @itemize is not necessarily a good idea.  And
why have 2 examples, when one will do?  I suggest to have both @items
together, then "@end itemize", and then a single example that shows
both features.

OK with those changes.


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