aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Kettenis <kettenis@gnu.org>2004-08-08 12:50:37 +0000
committerMark Kettenis <kettenis@gnu.org>2004-08-08 12:50:37 +0000
commitf6052080a07e54ac5772bb32b0f1f00f89e9ae9a (patch)
treef76d2d59954e4d8e071b660db7f584f36358ed06
parent1777782384185b33e40dd5f98c1500f36b2741ab (diff)
downloadgdb-f6052080a07e54ac5772bb32b0f1f00f89e9ae9a.zip
gdb-f6052080a07e54ac5772bb32b0f1f00f89e9ae9a.tar.gz
gdb-f6052080a07e54ac5772bb32b0f1f00f89e9ae9a.tar.bz2
* i386gnu-nat.c: Update copyright year.
(gnu_store_registers): Don't use deprecated_registers and deprecated_registers_valid. Use regcache_valid_p and regcache_raw_supply instead.
-rw-r--r--gdb/ChangeLog5
-rw-r--r--gdb/i386gnu-nat.c20
2 files changed, 13 insertions, 12 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 04aea45..37447d5 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,10 @@
2004-08-08 Mark Kettenis <kettenis@gnu.org>
+ * i386gnu-nat.c: Update copyright year.
+ (gnu_store_registers): Don't use deprecated_registers and
+ deprecated_registers_valid. Use regcache_valid_p and
+ regcache_raw_supply instead.
+
* vax-tdep.c (vax_frame_this_id): Use frame_func_unwind instead of
frame_pc_unwind.
diff --git a/gdb/i386gnu-nat.c b/gdb/i386gnu-nat.c
index e038d9c..e50bb17 100644
--- a/gdb/i386gnu-nat.c
+++ b/gdb/i386gnu-nat.c
@@ -1,5 +1,6 @@
/* Low level interface to i386 running the GNU Hurd.
- Copyright 1992, 1995, 1996, 1998, 2000, 2001
+
+ Copyright 1992, 1995, 1996, 1998, 2000, 2001, 2004
Free Software Foundation, Inc.
This file is part of GDB.
@@ -202,6 +203,7 @@ store_fpregs (struct proc *thread, int regno)
void
gnu_store_registers (int regno)
{
+ struct regcache *regcache = current_regcache;
struct proc *thread;
/* Make sure we know about new threads. */
@@ -250,17 +252,13 @@ gnu_store_registers (int regno)
REGISTER_NAME (check_regno));
if (regno >= 0 && regno != check_regno)
/* Update GDB's copy of the register. */
- regcache_raw_supply (current_regcache, check_regno,
+ regcache_raw_supply (regcache, check_regno,
REG_ADDR (state, check_regno));
else
warning ("... also writing this register! Suspicious...");
}
}
-#define fill(state, regno) \
- memcpy (REG_ADDR(state, regno), &deprecated_registers[DEPRECATED_REGISTER_BYTE (regno)], \
- register_size (current_gdbarch, regno))
-
if (regno == -1)
{
int i;
@@ -268,15 +266,15 @@ gnu_store_registers (int regno)
proc_debug (thread, "storing all registers");
for (i = 0; i < I386_NUM_GREGS; i++)
- if (deprecated_register_valid[i])
- fill (state, i);
+ if (regcache_valid_p (regcache, i))
+ regcache_raw_supply (regcache, i, REG_ADDR (state, i));
}
else
{
proc_debug (thread, "storing register %s", REGISTER_NAME (regno));
- gdb_assert (deprecated_register_valid[regno]);
- fill (state, regno);
+ gdb_assert (regcache_valid_p (regcache, regno));
+ regcache_raw_supply (regcache, regno, REG_ADDR (state, regno));
}
/* Restore the T bit. */
@@ -284,8 +282,6 @@ gnu_store_registers (int regno)
((struct i386_thread_state *)state)->efl |= trace;
}
-#undef fill
-
if (regno >= I386_NUM_GREGS || regno == -1)
{
proc_debug (thread, "storing floating-point registers");