mirror of
https://github.com/bminor/binutils-gdb.git
synced 2025-12-27 01:28:46 +00:00
Change remove_target_sections to method on program_space
This changes remove_target_sections to be a method on program_space. This makes sense because this function manipulates data that is attached to the program space. gdb/ChangeLog 2020-10-29 Tom Tromey <tom@tromey.com> * progspace.h (struct program_space) <remove_target_sections>: Declare. * exec.c (program_space::remove_target_sections): Now a method. * exec.h (remove_target_sections): Don't declare.
This commit is contained in:
18
gdb/exec.c
18
gdb/exec.c
@@ -653,34 +653,28 @@ add_target_sections_of_objfile (struct objfile *objfile)
|
||||
OWNER must be the same value passed to add_target_sections. */
|
||||
|
||||
void
|
||||
remove_target_sections (void *owner)
|
||||
program_space::remove_target_sections (void *owner)
|
||||
{
|
||||
target_section_table *table = ¤t_program_space->target_sections;
|
||||
|
||||
gdb_assert (owner != NULL);
|
||||
|
||||
auto it = std::remove_if (table->begin (),
|
||||
table->end (),
|
||||
auto it = std::remove_if (target_sections.begin (),
|
||||
target_sections.end (),
|
||||
[&] (target_section §)
|
||||
{
|
||||
return sect.owner == owner;
|
||||
});
|
||||
table->erase (it, table->end ());
|
||||
target_sections.erase (it, target_sections.end ());
|
||||
|
||||
/* If we don't have any more sections to read memory from,
|
||||
remove the file_stratum target from the stack of each
|
||||
inferior sharing the program space. */
|
||||
if (table->empty ())
|
||||
if (target_sections.empty ())
|
||||
{
|
||||
scoped_restore_current_pspace_and_thread restore_pspace_thread;
|
||||
program_space *curr_pspace = current_program_space;
|
||||
|
||||
for (inferior *inf : all_inferiors ())
|
||||
{
|
||||
if (inf->pspace != curr_pspace)
|
||||
continue;
|
||||
|
||||
if (!inf->pspace->target_sections.empty ())
|
||||
if (inf->pspace != this)
|
||||
continue;
|
||||
|
||||
switch_to_inferior_no_thread (inf);
|
||||
|
||||
Reference in New Issue
Block a user