From: Daniel Jacobowitz Date: Tue, 2 Mar 2010 17:57:14 +0000 (+0000) Subject: * progspace.c (update_address_spaces): Update inferior address spaces X-Git-Tag: gdb_7_1-2010-03-18-release~38 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8d3ef44f1ce282bfb21c995f4640457f2fbd3526;p=thirdparty%2Fbinutils-gdb.git * progspace.c (update_address_spaces): Update inferior address spaces also. --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 9cb1765d416..4ac36fd8368 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2010-03-02 Daniel Jacobowitz + + * progspace.c (update_address_spaces): Update inferior address spaces + also. + 2010-02-26 David Daney * mips-linux-tdep.c: Update struct sigframe comments. diff --git a/gdb/progspace.c b/gdb/progspace.c index 259e641d0b2..42139fd4599 100644 --- a/gdb/progspace.c +++ b/gdb/progspace.c @@ -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