* progspace.c (update_address_spaces): Update inferior address spaces

also.
This commit is contained in:
Daniel Jacobowitz
2010-03-02 17:57:14 +00:00
parent 083a6ab1ad
commit 8d3ef44f1c
2 changed files with 23 additions and 12 deletions

View File

@@ -1,3 +1,8 @@
2010-03-02 Daniel Jacobowitz <dan@codesourcery.com>
* progspace.c (update_address_spaces): Update inferior address spaces
also.
2010-02-26 David Daney <ddaney.caviumnetworks.com>
* mips-linux-tdep.c: Update struct sigframe comments.

View File

@@ -430,24 +430,30 @@ void
update_address_spaces (void)
{
int shared_aspace = gdbarch_has_shared_address_space (target_gdbarch);
struct address_space *aspace = NULL;
struct program_space *pspace;
struct inferior *inf;
init_address_spaces ();
ALL_PSPACES (pspace)
if (shared_aspace)
{
free_address_space (pspace->aspace);
if (shared_aspace)
{
if (aspace == NULL)
aspace = new_address_space ();
pspace->aspace = aspace;
}
else
pspace->aspace = new_address_space ();
struct address_space *aspace = new_address_space ();
free_address_space (current_program_space->aspace);
ALL_PSPACES (pspace)
pspace->aspace = aspace;
}
else
ALL_PSPACES (pspace)
{
free_address_space (pspace->aspace);
pspace->aspace = new_address_space ();
}
for (inf = inferior_list; inf; inf = inf->next)
if (gdbarch_has_global_solist (target_gdbarch))
inf->aspace = maybe_new_address_space ();
else
inf->aspace = inf->pspace->aspace;
}
/* Save the current program space so that it may be restored by a later