diff options
author | Pedro Alves <palves@redhat.com> | 2009-05-18 12:12:16 +0000 |
---|---|---|
committer | Pedro Alves <palves@redhat.com> | 2009-05-18 12:12:16 +0000 |
commit | 739fc47ac9a6169d7b12e82a3ec6ce8472354f78 (patch) | |
tree | 981cb0f4f389a95cd4828c805aa58be9ab943720 /gdb | |
parent | 7e1789f556ec6ba5c736abcb81e0a08ba31673ab (diff) | |
download | gdb-739fc47ac9a6169d7b12e82a3ec6ce8472354f78.zip gdb-739fc47ac9a6169d7b12e82a3ec6ce8472354f78.tar.gz gdb-739fc47ac9a6169d7b12e82a3ec6ce8472354f78.tar.bz2 |
* corelow.c (core_open): Flush the register cache before doing
anything with registers.
Diffstat (limited to 'gdb')
-rw-r--r-- | gdb/ChangeLog | 5 | ||||
-rw-r--r-- | gdb/corelow.c | 8 |
2 files changed, 13 insertions, 0 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 1a99b11..ecfe85a 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,10 @@ 2009-05-18 Pedro Alves <pedro@codesourcery.com> + * corelow.c (core_open): Flush the register cache before doing + anything with registers. + +2009-05-18 Pedro Alves <pedro@codesourcery.com> + * inflow.h (our_process_group): Remove declaration. (inferior_process_group): Delete global variable declaration. (inferior_process_group): New function declaration. diff --git a/gdb/corelow.c b/gdb/corelow.c index 5d6f072..ffaf04c 100644 --- a/gdb/corelow.c +++ b/gdb/corelow.c @@ -379,6 +379,14 @@ core_open (char *filename, int from_tty) from ST to MT. */ add_thread_silent (inferior_ptid); + /* Need to flush the register cache (and the frame cache) from a + previous debug session. If inferior_ptid ends up the same as the + last debug session --- e.g., b foo; run; gcore core1; step; gcore + core2; core core1; core core2 --- then there's potential for + get_current_regcache to return the cached regcache of the + previous session, and the frame cache being stale. */ + registers_changed (); + /* Build up thread list from BFD sections, and possibly set the current thread to the .reg/NN section matching the .reg section. */ |