Re: [PATCH 1/6] Add a field 'installed' for each location of tracepoint.

Eli Zaretskii
2012-12-09T16:57:43Z

> 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.