gdb: remove free_so function
Remove this function, replace it with deleting the so_list in callers. Change-Id: Idbd0cb84674ade1d8e17af471550dbd388264f60 Approved-By: Pedro Alves <pedro@palves.net> Reviewed-By: Reviewed-By: Lancelot Six <lancelot.six@amd.com>
This commit is contained in:
parent
38dc8f35f9
commit
30932f4012
3 changed files with 5 additions and 35 deletions
|
@ -1478,7 +1478,7 @@ svr4_current_sos ()
|
|||
if (address_in_mem_range (li->l_ld, &vsyscall_range))
|
||||
{
|
||||
auto next = sos.erase (so);
|
||||
free_so (*so);
|
||||
delete &*so;
|
||||
so = next;
|
||||
break;
|
||||
}
|
||||
|
|
24
gdb/solib.c
24
gdb/solib.c
|
@ -650,24 +650,6 @@ so_list::clear ()
|
|||
|
||||
lm_info::~lm_info () = default;
|
||||
|
||||
/* Free the storage associated with the `struct so_list' object SO.
|
||||
If we have opened a BFD for SO, close it.
|
||||
|
||||
The caller is responsible for removing SO from whatever list it is
|
||||
a member of. If we have placed SO's sections in some target's
|
||||
section table, the caller is responsible for removing them.
|
||||
|
||||
This function doesn't mess with objfiles at all. If there is an
|
||||
objfile associated with SO that needs to be removed, the caller is
|
||||
responsible for taking care of that. */
|
||||
|
||||
void
|
||||
free_so (so_list &so)
|
||||
{
|
||||
delete &so;
|
||||
}
|
||||
|
||||
|
||||
/* Read in symbols for shared object SO. If SYMFILE_VERBOSE is set in FLAGS,
|
||||
be chatty about it. Return true if any symbols were actually loaded. */
|
||||
|
||||
|
@ -845,7 +827,7 @@ update_solib_list (int from_tty)
|
|||
if (inferior_iter != inferior.end ())
|
||||
{
|
||||
inferior.erase (inferior_iter);
|
||||
free_so (*inferior_iter);
|
||||
delete &*inferior_iter;
|
||||
++gdb_iter;
|
||||
}
|
||||
|
||||
|
@ -871,7 +853,7 @@ update_solib_list (int from_tty)
|
|||
sections from so.abfd; remove them. */
|
||||
current_program_space->remove_target_sections (&*gdb_iter);
|
||||
|
||||
free_so (*gdb_iter);
|
||||
delete &*gdb_iter;
|
||||
gdb_iter = gdb_iter_next;
|
||||
}
|
||||
}
|
||||
|
@ -1215,7 +1197,7 @@ clear_solib (void)
|
|||
{
|
||||
notify_solib_unloaded (current_program_space, *so);
|
||||
current_program_space->remove_target_sections (&so);
|
||||
free_so (*so);
|
||||
delete so;
|
||||
});
|
||||
|
||||
|
||||
|
|
14
gdb/solist.h
14
gdb/solist.h
|
@ -169,20 +169,8 @@ struct target_so_ops
|
|||
void (*handle_event) (void);
|
||||
};
|
||||
|
||||
/* Free the memory associated with a (so_list *). */
|
||||
void free_so (so_list &so);
|
||||
|
||||
/* A deleter that calls free_so. */
|
||||
struct so_deleter
|
||||
{
|
||||
void operator() (struct so_list *so) const
|
||||
{
|
||||
free_so (*so);
|
||||
}
|
||||
};
|
||||
|
||||
/* A unique pointer to a so_list. */
|
||||
typedef std::unique_ptr<so_list, so_deleter> so_list_up;
|
||||
using so_list_up = std::unique_ptr<so_list>;
|
||||
|
||||
/* Find main executable binary file. */
|
||||
extern gdb::unique_xmalloc_ptr<char> exec_file_find (const char *in_pathname,
|
||||
|
|
Loading…
Add table
Reference in a new issue