Make probe_ops::get_probes fill an std::vector

This patch changes one usage of VEC to std::vector.  It is a relatively
straightforward 1:1 change.  The implementations of
sym_probe_fns::sym_get_probes return a borrowed reference to their probe
vectors, meaning that the caller should not free it.  In the new code, I
made them return a const reference to the vector.

This patch and the following one were tested by the buildbot.  I didn't
see any failures that looked related to this one.

gdb/ChangeLog:

	* probe.h (struct probe_ops) <get_probes>: Change parameter from
	vec to std::vector.
	* probe.c (parse_probes_in_pspace): Update.
	(find_probes_in_objfile): Update.
	(find_probe_by_pc): Update.
	(collect_probes): Update.
	(probe_any_get_probes): Update.
	* symfile.h (struct sym_probe_fns) <sym_get_probes> Change
	return type to reference to std::vector.
	* dtrace-probe.c (dtrace_process_dof_probe): Change parameter to
	std::vector and update.
	(dtrace_process_dof): Likewise.
	(dtrace_get_probes): Likewise.
	* elfread.c (elf_get_probes): Change return type to std::vector,
	store an std::vector in bfd_data.
	(probe_key_free): Update to std::vector.
	* stap-probe.c (handle_stap_probe): Change parameter to
	std::vector and update.
	(stap_get_probes): Likewise.
	* symfile-debug.c (debug_sym_get_probes): Change return type to
	std::vector and update.
This commit is contained in:
Simon Marchi
2017-09-12 13:37:00 +02:00
parent 331f81b22c
commit aaa63a3190
8 changed files with 65 additions and 60 deletions

View File

@@ -313,7 +313,8 @@ struct dtrace_dof_probe
static void
dtrace_process_dof_probe (struct objfile *objfile,
struct gdbarch *gdbarch, VEC (probe_p) **probesp,
struct gdbarch *gdbarch,
std::vector<probe *> *probesp,
struct dtrace_dof_hdr *dof,
struct dtrace_dof_probe *probe,
struct dtrace_dof_provider *provider,
@@ -448,7 +449,7 @@ dtrace_process_dof_probe (struct objfile *objfile,
ret->enablers = VEC_copy (dtrace_probe_enabler_s, enablers);
/* Successfully created probe. */
VEC_safe_push (probe_p, *probesp, (struct probe *) ret);
probesp->push_back ((struct probe *) ret);
}
do_cleanups (cleanup);
@@ -461,7 +462,7 @@ dtrace_process_dof_probe (struct objfile *objfile,
static void
dtrace_process_dof (asection *sect, struct objfile *objfile,
VEC (probe_p) **probesp, struct dtrace_dof_hdr *dof)
std::vector<probe *> *probesp, struct dtrace_dof_hdr *dof)
{
struct gdbarch *gdbarch = get_objfile_arch (objfile);
struct dtrace_dof_sect *section;
@@ -620,7 +621,7 @@ dtrace_get_arg (struct dtrace_probe *probe, unsigned n,
/* Implementation of the get_probes method. */
static void
dtrace_get_probes (VEC (probe_p) **probesp, struct objfile *objfile)
dtrace_get_probes (std::vector<probe *> *probesp, struct objfile *objfile)
{
bfd *abfd = objfile->obfd;
asection *sect = NULL;