diff options
author | Mark Kettenis <kettenis@gnu.org> | 2003-08-10 14:05:47 +0000 |
---|---|---|
committer | Mark Kettenis <kettenis@gnu.org> | 2003-08-10 14:05:47 +0000 |
commit | 87232496c6542210f59c3de7ffec559bcb187cb5 (patch) | |
tree | 72f3d4f134709594d3578ba1694de137e653f7df | |
parent | c9b9de0b070e8f0beb4c082dd4d5bc909996aa2d (diff) | |
download | gdb-87232496c6542210f59c3de7ffec559bcb187cb5.zip gdb-87232496c6542210f59c3de7ffec559bcb187cb5.tar.gz gdb-87232496c6542210f59c3de7ffec559bcb187cb5.tar.bz2 |
* 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):
-rw-r--r-- | gdb/ChangeLog | 5 | ||||
-rw-r--r-- | gdb/sol-thread.c | 13 |
2 files changed, 11 insertions, 7 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 4b79aff..e1f3b11 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,6 +1,11 @@ 2003-08-10 Mark Kettenis <kettenis@gnu.org> From Peter Schauer (Peter.Schauer@regent.e-technik.tu-muenchen.de): + * 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): * config/i386/nm-i386sol2.h (TARGET_REGION_SIZE_OK_FOR_HW_WATCHPOINT): Define to one. diff --git a/gdb/sol-thread.c b/gdb/sol-thread.c index 8e2c4ad..a96e8cb 100644 --- a/gdb/sol-thread.c +++ b/gdb/sol-thread.c @@ -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 */ |