]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
* sol-thread.c (sol_thread_store_registers): Use regcache_collect
authorMark Kettenis <kettenis@gnu.org>
Sun, 10 Aug 2003 14:08:39 +0000 (14:08 +0000)
committerMark Kettenis <kettenis@gnu.org>
Sun, 10 Aug 2003 14:08:39 +0000 (14:08 +0000)
and supply_register instead of manipulating the register buffer
directly.

From Peter Schauer (Peter.Schauer@regent.e-technik.tu-muenchen.de):

gdb/ChangeLog
gdb/sol-thread.c

index 287e019b3f43947a90a58ecfcf0fe4fa0cb70dbf..0a6b3b3613f841abe44717183da4a1d678719311 100644 (file)
@@ -1,3 +1,11 @@
+2003-08-10  Mark Kettenis  <kettenis@gnu.org>
+
+       * sol-thread.c (sol_thread_store_registers): Use regcache_collect
+       and supply_register instead of manipulating the register buffer
+       directly.
+
+       From Peter Schauer (Peter.Schauer@regent.e-technik.tu-muenchen.de):
+
 2003-08-10  Mark Kettenis  <kettenis@gnu.org>
 
        From Peter Schauer (Peter.Schauer@regent.e-technik.tu-muenchen.de):
index 8e2c4ad57a8aa59aaf247980647a6cc2bb1ab730..a96e8cb7494ec199dbaa65a03f9525858565397a 100644 (file)
@@ -646,10 +646,10 @@ sol_thread_store_registers (int regno)
 
   if (regno != -1)
     {                          /* Not writing all the regs */
-      /* save new register value */
-      char* old_value = (char*) alloca (DEPRECATED_REGISTER_SIZE);
-      memcpy (old_value, &deprecated_registers[REGISTER_BYTE (regno)],
-             DEPRECATED_REGISTER_SIZE);
+      char old_value[MAX_REGISTER_SIZE];
+      
+      /* Save new register value.  */
+      regcache_collect (regno, old_value);
 
       val = p_td_thr_getgregs (&thandle, gregset);
       if (val != TD_OK)
@@ -660,9 +660,8 @@ sol_thread_store_registers (int regno)
        error ("sol_thread_store_registers: td_thr_getfpregs %s",
               td_err_string (val));
 
-      /* restore new register value */
-      memcpy (&deprecated_registers[REGISTER_BYTE (regno)], old_value,
-             DEPRECATED_REGISTER_SIZE);
+      /* Restore new register value.  */
+      supply_register (regno, old_value);
 
 #if 0
 /* thread_db doesn't seem to handle this right */