* regcache.c (set_register_cache): Invalidate regcaches before
changing the register cache layout. (regcache_invalidate_one): Allow a NULL regcache. * linux-x86-low.c (x86_linux_update_xmltarget): Invalidate regcaches before changing the register cache layout or the target regsets.
This commit is contained in:
parent
59e0401339
commit
45ba0d0206
@ -1,3 +1,12 @@
|
||||
2010-04-12 Pedro Alves <pedro@codesourcery.com>
|
||||
|
||||
* regcache.c (set_register_cache): Invalidate regcaches before
|
||||
changing the register cache layout.
|
||||
(regcache_invalidate_one): Allow a NULL regcache.
|
||||
* linux-x86-low.c (x86_linux_update_xmltarget): Invalidate
|
||||
regcaches before changing the register cache layout or the target
|
||||
regsets.
|
||||
|
||||
2010-04-12 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
* linux-x86-low.c (x86_linux_update_xmltarget): Avoid unused
|
||||
|
@ -841,6 +841,11 @@ x86_linux_update_xmltarget (void)
|
||||
if (!current_inferior)
|
||||
return;
|
||||
|
||||
/* Before changing the register cache internal layout or the target
|
||||
regsets, flush the contents of the current valid caches back to
|
||||
the threads. */
|
||||
regcache_invalidate ();
|
||||
|
||||
pid = pid_of (get_thread_lwp (current_inferior));
|
||||
#ifdef __x86_64__
|
||||
if (num_xmm_registers == 8)
|
||||
|
@ -61,6 +61,9 @@ regcache_invalidate_one (struct inferior_list_entry *entry)
|
||||
|
||||
regcache = (struct regcache *) inferior_regcache_data (thread);
|
||||
|
||||
if (regcache == NULL)
|
||||
return;
|
||||
|
||||
if (regcache->registers_valid)
|
||||
{
|
||||
struct thread_info *saved_inferior = current_inferior;
|
||||
@ -149,6 +152,10 @@ set_register_cache (struct reg *regs, int n)
|
||||
{
|
||||
int offset, i;
|
||||
|
||||
/* Before changing the register cache internal layout, flush the
|
||||
contents of valid caches back to the threads. */
|
||||
regcache_invalidate ();
|
||||
|
||||
reg_defs = regs;
|
||||
num_registers = n;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user