This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[obish] Delele DEPRECATED_NPC_REGNUM


Since it is never defined,

committed,
Andrew
2004-01-17  Andrew Cagney  <cagney@redhat.com>

	* gdbarch.sh (DEPRECATED_NPC_REGNUM): Delete.
	* gdbarch.h, gdbarch.c: Re-generate.
	* procfs.c (procfs_fetch_registers): Delete reference to
	DEPRECATED_NPC_REGNUM.
	(procfs_store_registers): Ditto.
	* regcache.c (generic_target_write_pc): Simplify.
	* lynx-nat.c: Delete #ifdef SPARC code.  Not used.

Index: doc/ChangeLog
2004-01-17  Andrew Cagney  <cagney@redhat.com>

	* gdbint.texinfo (Target Architecture Definition): Delete
	documentation on DEPRECATED_NPC_REGNUM.

Index: gdbarch.sh
===================================================================
RCS file: /cvs/src/src/gdb/gdbarch.sh,v
retrieving revision 1.290
diff -u -r1.290 gdbarch.sh
--- gdbarch.sh	17 Jan 2004 15:34:11 -0000	1.290
+++ gdbarch.sh	17 Jan 2004 18:12:31 -0000
@@ -454,9 +454,6 @@
 v:2:PC_REGNUM:int:pc_regnum::::-1:-1::0
 v:2:PS_REGNUM:int:ps_regnum::::-1:-1::0
 v:2:FP0_REGNUM:int:fp0_regnum::::0:-1::0
-# Replace DEPRECATED_NPC_REGNUM with an implementation of WRITE_PC
-# that updates PC, NPC and even NNPC.
-v:2:DEPRECATED_NPC_REGNUM:int:deprecated_npc_regnum::::0:-1::0
 # Convert stab register number (from \`r\' declaration) to a gdb REGNUM.
 f:2:STAB_REG_TO_REGNUM:int:stab_reg_to_regnum:int stab_regnr:stab_regnr:::no_op_reg_to_regnum::0
 # Provide a default mapping from a ecoff register number to a gdb REGNUM.
Index: lynx-nat.c
===================================================================
RCS file: /cvs/src/src/gdb/lynx-nat.c,v
retrieving revision 1.17
diff -u -r1.17 lynx-nat.c
--- lynx-nat.c	2 Oct 2003 20:28:29 -0000	1.17
+++ lynx-nat.c	17 Jan 2004 18:12:49 -0000
@@ -256,214 +256,6 @@
 
 #endif /* rs6000 */
 
-#ifdef SPARC
-
-/* This routine handles some oddball cases for Sparc registers and LynxOS.
-   In partucular, it causes refs to G0, g5->7, and all fp regs to return zero.
-   It also handles knows where to find the I & L regs on the stack.  */
-
-void
-fetch_inferior_registers (int regno)
-{
-  int whatregs = 0;
-
-#define WHATREGS_FLOAT 1
-#define WHATREGS_GEN 2
-#define WHATREGS_STACK 4
-
-  if (regno == -1)
-    whatregs = WHATREGS_FLOAT | WHATREGS_GEN | WHATREGS_STACK;
-  else if (regno >= L0_REGNUM && regno <= I7_REGNUM)
-    whatregs = WHATREGS_STACK;
-  else if (regno >= FP0_REGNUM && regno < FP0_REGNUM + 32)
-    whatregs = WHATREGS_FLOAT;
-  else
-    whatregs = WHATREGS_GEN;
-
-  if (whatregs & WHATREGS_GEN)
-    {
-      struct econtext ec;	/* general regs */
-      char buf[MAX_REGISTER_SIZE];
-      int retval;
-      int i;
-
-      errno = 0;
-      retval = ptrace (PTRACE_GETREGS, PIDGET (inferior_ptid),
-                       (PTRACE_ARG3_TYPE) & ec, 0);
-      if (errno)
-	perror_with_name ("ptrace(PTRACE_GETREGS)");
-
-      memset (buf, 0, DEPRECATED_REGISTER_RAW_SIZE (G0_REGNUM));
-      supply_register (G0_REGNUM, buf);
-      supply_register (TBR_REGNUM, (char *) &ec.tbr);
-
-      memcpy (&deprecated_registers[DEPRECATED_REGISTER_BYTE (G1_REGNUM)], &ec.g1,
-	      4 * DEPRECATED_REGISTER_RAW_SIZE (G1_REGNUM));
-      for (i = G1_REGNUM; i <= G1_REGNUM + 3; i++)
-	deprecated_register_valid[i] = 1;
-
-      supply_register (PS_REGNUM, (char *) &ec.psr);
-      supply_register (Y_REGNUM, (char *) &ec.y);
-      supply_register (PC_REGNUM, (char *) &ec.pc);
-      supply_register (DEPRECATED_NPC_REGNUM, (char *) &ec.npc);
-      supply_register (WIM_REGNUM, (char *) &ec.wim);
-
-      memcpy (&deprecated_registers[DEPRECATED_REGISTER_BYTE (O0_REGNUM)], ec.o,
-	      8 * DEPRECATED_REGISTER_RAW_SIZE (O0_REGNUM));
-      for (i = O0_REGNUM; i <= O0_REGNUM + 7; i++)
-	deprecated_register_valid[i] = 1;
-    }
-
-  if (whatregs & WHATREGS_STACK)
-    {
-      CORE_ADDR sp;
-      int i;
-
-      sp = read_register (SP_REGNUM);
-
-      target_read_memory (sp + FRAME_SAVED_I0,
-			  &deprecated_registers[DEPRECATED_REGISTER_BYTE (I0_REGNUM)],
-			  8 * DEPRECATED_REGISTER_RAW_SIZE (I0_REGNUM));
-      for (i = I0_REGNUM; i <= I7_REGNUM; i++)
-	deprecated_register_valid[i] = 1;
-
-      target_read_memory (sp + FRAME_SAVED_L0,
-			  &deprecated_registers[DEPRECATED_REGISTER_BYTE (L0_REGNUM)],
-			  8 * DEPRECATED_REGISTER_RAW_SIZE (L0_REGNUM));
-      for (i = L0_REGNUM; i <= L0_REGNUM + 7; i++)
-	deprecated_register_valid[i] = 1;
-    }
-
-  if (whatregs & WHATREGS_FLOAT)
-    {
-      struct fcontext fc;	/* fp regs */
-      int retval;
-      int i;
-
-      errno = 0;
-      retval = ptrace (PTRACE_GETFPREGS, PIDGET (inferior_ptid),
-                       (PTRACE_ARG3_TYPE) & fc, 0);
-      if (errno)
-	perror_with_name ("ptrace(PTRACE_GETFPREGS)");
-
-      memcpy (&deprecated_registers[DEPRECATED_REGISTER_BYTE (FP0_REGNUM)], fc.f.fregs,
-	      32 * DEPRECATED_REGISTER_RAW_SIZE (FP0_REGNUM));
-      for (i = FP0_REGNUM; i <= FP0_REGNUM + 31; i++)
-	deprecated_register_valid[i] = 1;
-
-      supply_register (FPS_REGNUM, (char *) &fc.fsr);
-    }
-}
-
-/* This routine handles storing of the I & L regs for the Sparc.  The trick
-   here is that they actually live on the stack.  The really tricky part is
-   that when changing the stack pointer, the I & L regs must be written to
-   where the new SP points, otherwise the regs will be incorrect when the
-   process is started up again.   We assume that the I & L regs are valid at
-   this point.  */
-
-void
-store_inferior_registers (int regno)
-{
-  int whatregs = 0;
-
-  if (regno == -1)
-    whatregs = WHATREGS_FLOAT | WHATREGS_GEN | WHATREGS_STACK;
-  else if (regno >= L0_REGNUM && regno <= I7_REGNUM)
-    whatregs = WHATREGS_STACK;
-  else if (regno >= FP0_REGNUM && regno < FP0_REGNUM + 32)
-    whatregs = WHATREGS_FLOAT;
-  else if (regno == SP_REGNUM)
-    whatregs = WHATREGS_STACK | WHATREGS_GEN;
-  else
-    whatregs = WHATREGS_GEN;
-
-  if (whatregs & WHATREGS_GEN)
-    {
-      struct econtext ec;	/* general regs */
-      int retval;
-
-      ec.tbr = read_register (TBR_REGNUM);
-      memcpy (&ec.g1, &deprecated_registers[DEPRECATED_REGISTER_BYTE (G1_REGNUM)],
-	      4 * DEPRECATED_REGISTER_RAW_SIZE (G1_REGNUM));
-
-      ec.psr = read_register (PS_REGNUM);
-      ec.y = read_register (Y_REGNUM);
-      ec.pc = read_register (PC_REGNUM);
-      ec.npc = read_register (DEPRECATED_NPC_REGNUM);
-      ec.wim = read_register (WIM_REGNUM);
-
-      memcpy (ec.o, &deprecated_registers[DEPRECATED_REGISTER_BYTE (O0_REGNUM)],
-	      8 * DEPRECATED_REGISTER_RAW_SIZE (O0_REGNUM));
-
-      errno = 0;
-      retval = ptrace (PTRACE_SETREGS, PIDGET (inferior_ptid),
-                       (PTRACE_ARG3_TYPE) & ec, 0);
-      if (errno)
-	perror_with_name ("ptrace(PTRACE_SETREGS)");
-    }
-
-  if (whatregs & WHATREGS_STACK)
-    {
-      int regoffset;
-      CORE_ADDR sp;
-
-      sp = read_register (SP_REGNUM);
-
-      if (regno == -1 || regno == SP_REGNUM)
-	{
-	  if (!deprecated_register_valid[L0_REGNUM + 5])
-	    internal_error (__FILE__, __LINE__, "failed internal consistency check");
-	  target_write_memory (sp + FRAME_SAVED_I0,
-			      &deprecated_registers[DEPRECATED_REGISTER_BYTE (I0_REGNUM)],
-			      8 * DEPRECATED_REGISTER_RAW_SIZE (I0_REGNUM));
-
-	  target_write_memory (sp + FRAME_SAVED_L0,
-			      &deprecated_registers[DEPRECATED_REGISTER_BYTE (L0_REGNUM)],
-			      8 * DEPRECATED_REGISTER_RAW_SIZE (L0_REGNUM));
-	}
-      else if (regno >= L0_REGNUM && regno <= I7_REGNUM)
-	{
-	  if (!deprecated_register_valid[regno])
-	    internal_error (__FILE__, __LINE__, "failed internal consistency check");
-	  if (regno >= L0_REGNUM && regno <= L0_REGNUM + 7)
-	    regoffset = DEPRECATED_REGISTER_BYTE (regno) - DEPRECATED_REGISTER_BYTE (L0_REGNUM)
-	      + FRAME_SAVED_L0;
-	  else
-	    regoffset = DEPRECATED_REGISTER_BYTE (regno) - DEPRECATED_REGISTER_BYTE (I0_REGNUM)
-	      + FRAME_SAVED_I0;
-	  target_write_memory (sp + regoffset, 
-			      &deprecated_registers[DEPRECATED_REGISTER_BYTE (regno)],
-			      DEPRECATED_REGISTER_RAW_SIZE (regno));
-	}
-    }
-
-  if (whatregs & WHATREGS_FLOAT)
-    {
-      struct fcontext fc;	/* fp regs */
-      int retval;
-
-/* We read fcontext first so that we can get good values for fq_t... */
-      errno = 0;
-      retval = ptrace (PTRACE_GETFPREGS, PIDGET (inferior_ptid),
-                       (PTRACE_ARG3_TYPE) & fc, 0);
-      if (errno)
-	perror_with_name ("ptrace(PTRACE_GETFPREGS)");
-
-      memcpy (fc.f.fregs, &deprecated_registers[DEPRECATED_REGISTER_BYTE (FP0_REGNUM)],
-	      32 * DEPRECATED_REGISTER_RAW_SIZE (FP0_REGNUM));
-
-      fc.fsr = read_register (FPS_REGNUM);
-
-      errno = 0;
-      retval = ptrace (PTRACE_SETFPREGS, PIDGET (inferior_ptid),
-                       (PTRACE_ARG3_TYPE) & fc, 0);
-      if (errno)
-	perror_with_name ("ptrace(PTRACE_SETFPREGS)");
-    }
-}
-#endif /* SPARC */
-
 #if defined (I386) || defined (M68K) || defined (rs6000)
 
 /* Return the offset relative to the start of the per-thread data to the
Index: procfs.c
===================================================================
RCS file: /cvs/src/src/gdb/procfs.c,v
retrieving revision 1.49
diff -u -r1.49 procfs.c
--- procfs.c	22 Nov 2003 22:43:05 -0000	1.49
+++ procfs.c	17 Jan 2004 18:14:36 -0000
@@ -3703,11 +3703,10 @@
 
   if (FP0_REGNUM >= 0)	/* need floating point? */
     {
-      if ((regno >= 0 && regno < FP0_REGNUM) ||
-	  regno == PC_REGNUM  ||
-	  (DEPRECATED_NPC_REGNUM >= 0 && regno == DEPRECATED_NPC_REGNUM) ||
-	  regno == DEPRECATED_FP_REGNUM  ||
-	  regno == SP_REGNUM)
+      if ((regno >= 0 && regno < FP0_REGNUM)
+	  || regno == PC_REGNUM
+	  || regno == DEPRECATED_FP_REGNUM
+	  || regno == SP_REGNUM)
 	return;			/* not a floating point register */
 
       if ((fpregs = proc_get_fpregs (pi)) == NULL)
@@ -3777,11 +3776,10 @@
 
   if (FP0_REGNUM >= 0)		/* need floating point? */
     {
-      if ((regno >= 0 && regno < FP0_REGNUM) ||
-	  regno == PC_REGNUM  ||
-	  (DEPRECATED_NPC_REGNUM >= 0 && regno == DEPRECATED_NPC_REGNUM) ||
-	  regno == DEPRECATED_FP_REGNUM  ||
-	  regno == SP_REGNUM)
+      if ((regno >= 0 && regno < FP0_REGNUM)
+	  || regno == PC_REGNUM
+	  || regno == DEPRECATED_FP_REGNUM
+	  || regno == SP_REGNUM)
 	return;			/* not a floating point register */
 
       if ((fpregs = proc_get_fpregs (pi)) == NULL)
Index: regcache.c
===================================================================
RCS file: /cvs/src/src/gdb/regcache.c,v
retrieving revision 1.105
diff -u -r1.105 regcache.c
--- regcache.c	24 Oct 2003 17:37:03 -0000	1.105
+++ regcache.c	17 Jan 2004 18:14:38 -0000
@@ -1351,15 +1351,11 @@
 void
 generic_target_write_pc (CORE_ADDR pc, ptid_t ptid)
 {
-#ifdef PC_REGNUM
   if (PC_REGNUM >= 0)
     write_register_pid (PC_REGNUM, pc, ptid);
-  if (DEPRECATED_NPC_REGNUM >= 0)
-    write_register_pid (DEPRECATED_NPC_REGNUM, pc + 4, ptid);
-#else
-  internal_error (__FILE__, __LINE__,
-		  "generic_target_write_pc");
-#endif
+  else
+    internal_error (__FILE__, __LINE__,
+		    "generic_target_write_pc");
 }
 
 void
Index: doc/gdbint.texinfo
===================================================================
RCS file: /cvs/src/src/gdb/doc/gdbint.texinfo,v
retrieving revision 1.179
diff -u -r1.179 gdbint.texinfo
--- doc/gdbint.texinfo	13 Jan 2004 17:06:37 -0000	1.179
+++ doc/gdbint.texinfo	17 Jan 2004 18:15:30 -0000
@@ -3715,13 +3715,6 @@
 This should only need to be defined if @code{TARGET_READ_PC} and
 @code{TARGET_WRITE_PC} are not defined.
 
-@item DEPRECATED_NPC_REGNUM
-@findex DEPRECATED_NPC_REGNUM
-The number of the ``next program counter'' register, if defined.
-
-@code{DEPRECATED_NPC_REGNUM} has been replaced by @code{TARGET_WRITE_PC}
-(@pxref{TARGET_WRITE_PC}).
-
 @item PARM_BOUNDARY
 @findex PARM_BOUNDARY
 If non-zero, round arguments to a boundary of this many bits before

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]