gdb/
2013-06-26 Pedro Alves <pedro@codesourcery.com> Yao Qi <yao@codesourcery.com> * tracepoint.c (tracepoint_list, stepping_list): Remove. (clear_collection_list): Free fields 'aexpre_list' and 'list' in collection_list. (do_clear_collection_list, init_collection_list): New. (encode_actions): Add local variables 'tracepoint_list' and 'stepping_list'. Call init_collection_list and make cleanup which calls do_clear_collection_list. Don't call clear_collection_list. (_initialize_tracepoint): Delete references to 'tracepoint_list' and 'stepping_list'.
This commit is contained in:
parent
bb235b694f
commit
cbfa3b6104
2 changed files with 50 additions and 31 deletions
|
@ -1,3 +1,17 @@
|
|||
2013-06-26 Pedro Alves <pedro@codesourcery.com>
|
||||
Yao Qi <yao@codesourcery.com>
|
||||
|
||||
* tracepoint.c (tracepoint_list, stepping_list): Remove.
|
||||
(clear_collection_list): Free fields 'aexpre_list' and 'list'
|
||||
in collection_list.
|
||||
(do_clear_collection_list, init_collection_list): New.
|
||||
(encode_actions): Add local variables 'tracepoint_list' and
|
||||
'stepping_list'. Call init_collection_list and make cleanup
|
||||
which calls do_clear_collection_list. Don't call
|
||||
clear_collection_list.
|
||||
(_initialize_tracepoint): Delete references to
|
||||
'tracepoint_list' and 'stepping_list'.
|
||||
|
||||
2013-06-25 Tom Tromey <tromey@redhat.com>
|
||||
|
||||
* common/create-version.sh (date): Use "$", not "$$" in sed
|
||||
|
|
|
@ -873,8 +873,7 @@ struct collection_list
|
|||
/* True is the user requested a collection of "$_sdata", "static
|
||||
tracepoint data". */
|
||||
int strace_data;
|
||||
}
|
||||
tracepoint_list, stepping_list;
|
||||
};
|
||||
|
||||
/* MEMRANGE functions: */
|
||||
|
||||
|
@ -1239,6 +1238,35 @@ clear_collection_list (struct collection_list *list)
|
|||
list->next_aexpr_elt = 0;
|
||||
memset (list->regs_mask, 0, sizeof (list->regs_mask));
|
||||
list->strace_data = 0;
|
||||
|
||||
xfree (list->aexpr_list);
|
||||
xfree (list->list);
|
||||
}
|
||||
|
||||
/* A cleanup wrapper for function clear_collection_list. */
|
||||
|
||||
static void
|
||||
do_clear_collection_list (void *list)
|
||||
{
|
||||
struct collection_list *l = list;
|
||||
|
||||
clear_collection_list (l);
|
||||
}
|
||||
|
||||
/* Initialize collection_list CLIST. */
|
||||
|
||||
static void
|
||||
init_collection_list (struct collection_list *clist)
|
||||
{
|
||||
memset (clist, 0, sizeof *clist);
|
||||
|
||||
clist->listsize = 128;
|
||||
clist->list = xcalloc (clist->listsize,
|
||||
sizeof (struct memrange));
|
||||
|
||||
clist->aexpr_listsize = 128;
|
||||
clist->aexpr_list = xcalloc (clist->aexpr_listsize,
|
||||
sizeof (struct agent_expr *));
|
||||
}
|
||||
|
||||
/* Reduce a collection list to string form (for gdb protocol). */
|
||||
|
@ -1618,11 +1646,15 @@ encode_actions (struct bp_location *tloc, char ***tdp_actions,
|
|||
int frame_reg;
|
||||
LONGEST frame_offset;
|
||||
struct cleanup *back_to;
|
||||
struct collection_list tracepoint_list, stepping_list;
|
||||
|
||||
back_to = make_cleanup (null_cleanup, NULL);
|
||||
|
||||
clear_collection_list (&tracepoint_list);
|
||||
clear_collection_list (&stepping_list);
|
||||
init_collection_list (&tracepoint_list);
|
||||
init_collection_list (&stepping_list);
|
||||
|
||||
make_cleanup (do_clear_collection_list, &tracepoint_list);
|
||||
make_cleanup (do_clear_collection_list, &stepping_list);
|
||||
|
||||
*tdp_actions = NULL;
|
||||
*stepping_actions = NULL;
|
||||
|
@ -5673,33 +5705,6 @@ _initialize_tracepoint (void)
|
|||
traceframe_number = -1;
|
||||
tracepoint_number = -1;
|
||||
|
||||
if (tracepoint_list.list == NULL)
|
||||
{
|
||||
tracepoint_list.listsize = 128;
|
||||
tracepoint_list.list = xmalloc
|
||||
(tracepoint_list.listsize * sizeof (struct memrange));
|
||||
}
|
||||
if (tracepoint_list.aexpr_list == NULL)
|
||||
{
|
||||
tracepoint_list.aexpr_listsize = 128;
|
||||
tracepoint_list.aexpr_list = xmalloc
|
||||
(tracepoint_list.aexpr_listsize * sizeof (struct agent_expr *));
|
||||
}
|
||||
|
||||
if (stepping_list.list == NULL)
|
||||
{
|
||||
stepping_list.listsize = 128;
|
||||
stepping_list.list = xmalloc
|
||||
(stepping_list.listsize * sizeof (struct memrange));
|
||||
}
|
||||
|
||||
if (stepping_list.aexpr_list == NULL)
|
||||
{
|
||||
stepping_list.aexpr_listsize = 128;
|
||||
stepping_list.aexpr_list = xmalloc
|
||||
(stepping_list.aexpr_listsize * sizeof (struct agent_expr *));
|
||||
}
|
||||
|
||||
add_info ("scope", scope_info,
|
||||
_("List the variables local to a scope"));
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue