Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
* [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