diff options
author | Simon Marchi <simon.marchi@efficios.com> | 2023-10-10 16:32:42 +0000 |
---|---|---|
committer | Simon Marchi <simon.marchi@efficios.com> | 2023-10-19 10:57:51 -0400 |
commit | 30932f40120fa64147f8b5f7d9e4c462825c4e47 (patch) | |
tree | 1b9351136034ac81c56a92a0f75c94e5d252418e /gdb | |
parent | 38dc8f35f92f9b0f7306eaa8ee26097b1e8f4d3f (diff) | |
download | gdb-30932f40120fa64147f8b5f7d9e4c462825c4e47.zip gdb-30932f40120fa64147f8b5f7d9e4c462825c4e47.tar.gz gdb-30932f40120fa64147f8b5f7d9e4c462825c4e47.tar.bz2 |
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>
Diffstat (limited to 'gdb')
-rw-r--r-- | gdb/solib-svr4.c | 2 | ||||
-rw-r--r-- | gdb/solib.c | 24 | ||||
-rw-r--r-- | gdb/solist.h | 14 |
3 files changed, 5 insertions, 35 deletions
diff --git a/gdb/solib-svr4.c b/gdb/solib-svr4.c index 6311599..4628c48 100644 --- a/gdb/solib-svr4.c +++ b/gdb/solib-svr4.c @@ -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; } diff --git a/gdb/solib.c b/gdb/solib.c index 4594587..a137fbb 100644 --- a/gdb/solib.c +++ b/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; }); diff --git a/gdb/solist.h b/gdb/solist.h index e22fd20..c9ab49a 100644 --- a/gdb/solist.h +++ b/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, |