* [PATCH] Undeprecate GNU/Hurd
@ 2004-08-08 14:17 Mark Kettenis
2004-08-08 14:32 ` Andrew Cagney
0 siblings, 1 reply; 4+ messages in thread
From: Mark Kettenis @ 2004-08-08 14:17 UTC (permalink / raw)
To: gdb-patches
I no longer have a system running the Hurd :-(. So these changes are
untested. They might not even compile. However the changes are
fairly straightforward and obvious. And I did double-check for
spelling mistakes. Hopefully someone else can check this. I'll see
if I can prod someone.
I've committed this anyway.
Mark
Index: ChangeLog
from 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.
Index: i386gnu-nat.c
===================================================================
RCS file: /cvs/src/src/gdb/i386gnu-nat.c,v
retrieving revision 1.19
diff -u -p -r1.19 i386gnu-nat.c
--- i386gnu-nat.c 3 Aug 2004 00:57:26 -0000 1.19
+++ i386gnu-nat.c 8 Aug 2004 12:46:30 -0000
@@ -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 r
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");
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] Undeprecate GNU/Hurd
2004-08-08 14:17 [PATCH] Undeprecate GNU/Hurd Mark Kettenis
@ 2004-08-08 14:32 ` Andrew Cagney
2004-08-08 15:02 ` Mark Kettenis
0 siblings, 1 reply; 4+ messages in thread
From: Andrew Cagney @ 2004-08-08 14:32 UTC (permalink / raw)
To: Mark Kettenis; +Cc: gdb-patches
> @@ -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
Should this, and a few others, be ``collect''? Supplying an already
valid register doesn't seem logical :-)
Andrew
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] Undeprecate GNU/Hurd
2004-08-08 14:32 ` Andrew Cagney
@ 2004-08-08 15:02 ` Mark Kettenis
2004-08-08 15:18 ` Andrew Cagney
0 siblings, 1 reply; 4+ messages in thread
From: Mark Kettenis @ 2004-08-08 15:02 UTC (permalink / raw)
To: cagney; +Cc: gdb-patches
Date: Sun, 08 Aug 2004 10:32:17 -0400
From: Andrew Cagney <cagney@gnu.org>
> @@ -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
Should this, and a few others, be ``collect''? Supplying an already
valid register doesn't seem logical :-)
Ouch. Thanks for spotting this one. Fixed by the attached patch.
There is one instance where regcache_raw_supply is correct in that
function.
Index: ChangeLog
from Mark Kettenis <kettenis@gnu.org>
* i386gnu-nat.c (gnu_store_registers): Use regcache_raw_collect
instead of regcache_raw_supply when storing the registers.
Index: i386gnu-nat.c
===================================================================
RCS file: /cvs/src/src/gdb/i386gnu-nat.c,v
retrieving revision 1.20
diff -u -p -r1.20 i386gnu-nat.c
--- i386gnu-nat.c 8 Aug 2004 12:50:37 -0000 1.20
+++ i386gnu-nat.c 8 Aug 2004 14:59:47 -0000
@@ -267,14 +267,14 @@ gnu_store_registers (int regno)
for (i = 0; i < I386_NUM_GREGS; i++)
if (regcache_valid_p (regcache, i))
- regcache_raw_supply (regcache, i, REG_ADDR (state, i));
+ regcache_raw_collect (regcache, i, REG_ADDR (state, i));
}
else
{
proc_debug (thread, "storing register %s", REGISTER_NAME (regno));
gdb_assert (regcache_valid_p (regcache, regno));
- regcache_raw_supply (regcache, regno, REG_ADDR (state, regno));
+ regcache_craw_collect (regcache, regno, REG_ADDR (state, regno));
}
/* Restore the T bit. */
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] Undeprecate GNU/Hurd
2004-08-08 15:02 ` Mark Kettenis
@ 2004-08-08 15:18 ` Andrew Cagney
0 siblings, 0 replies; 4+ messages in thread
From: Andrew Cagney @ 2004-08-08 15:18 UTC (permalink / raw)
To: Mark Kettenis; +Cc: gdb-patches
Nice!
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2004-08-08 15:18 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-08-08 14:17 [PATCH] Undeprecate GNU/Hurd Mark Kettenis
2004-08-08 14:32 ` Andrew Cagney
2004-08-08 15:02 ` Mark Kettenis
2004-08-08 15:18 ` Andrew Cagney
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox