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]

[commit/pa] missing "break"


Oops, deleted slightly to much code when enabling enabling 64-bit ABI.

committed,
Andrew
2004-03-07  Andrew Cagney  <cagney@redhat.com>

	* hppa-tdep.c (pa_do_registers_info, pa_do_strcat_registers_info)
	(pa_print_registers, pa_print_fp_reg, pa_strcat_registers) 
	(pa_strcat_fp_reg, pa_register_look_aside): Delete.
	* config/pa/tm-hppa.h (DEPRECATED_DO_REGISTERS_INFO)
	(pa_do_registers_info): Delete.

Index: hppa-tdep.c
===================================================================
RCS file: /cvs/src/src/gdb/hppa-tdep.c,v
retrieving revision 1.133
diff -u -r1.133 hppa-tdep.c
--- hppa-tdep.c	7 Mar 2004 18:06:14 -0000	1.133
+++ hppa-tdep.c	7 Mar 2004 18:49:48 -0000
@@ -136,11 +136,6 @@
 				 struct unwind_table_entry *,
 				 asection *, unsigned int,
 				 unsigned int, CORE_ADDR);
-static void pa_print_registers (char *, int, int);
-static void pa_strcat_registers (char *, int, int, struct ui_file *);
-static void pa_register_look_aside (char *, int, long *);
-static void pa_print_fp_reg (int);
-static void pa_strcat_fp_reg (int, struct ui_file *, enum precision_type);
 static void record_text_segment_lowaddr (bfd *, asection *, void *);
 /* FIXME: brobecker 2002-11-07: We will likely be able to make the
    following functions static, once we hppa is partially multiarched.  */
@@ -1255,390 +1250,6 @@
     default:
       return 4;
     }
-}
-
-/* Print the register regnum, or all registers if regnum is -1 */
-
-void
-pa_do_registers_info (int regnum, int fpregs)
-{
-  char *raw_regs = alloca (DEPRECATED_REGISTER_BYTES);
-  int i;
-
-  /* Make a copy of gdb's save area (may cause actual
-     reads from the target). */
-  for (i = 0; i < NUM_REGS; i++)
-    frame_register_read (deprecated_selected_frame, i,
-			 raw_regs + DEPRECATED_REGISTER_BYTE (i));
-
-  if (regnum == -1)
-    pa_print_registers (raw_regs, regnum, fpregs);
-  else if (regnum < FP4_REGNUM)
-    {
-      long reg_val[2];
-
-      /* Why is the value not passed through "extract_signed_integer"
-         as in "pa_print_registers" below? */
-      pa_register_look_aside (raw_regs, regnum, &reg_val[0]);
-
-      if (!is_pa_2)
-	{
-	  printf_unfiltered ("%s %lx\n", REGISTER_NAME (regnum), reg_val[1]);
-	}
-      else
-	{
-	  /* Fancy % formats to prevent leading zeros. */
-	  if (reg_val[0] == 0)
-	    printf_unfiltered ("%s %lx\n", REGISTER_NAME (regnum), reg_val[1]);
-	  else
-	    printf_unfiltered ("%s %lx%8.8lx\n", REGISTER_NAME (regnum),
-			       reg_val[0], reg_val[1]);
-	}
-    }
-  else
-    /* Note that real floating point values only start at
-       FP4_REGNUM.  FP0 and up are just status and error
-       registers, which have integral (bit) values. */
-    pa_print_fp_reg (regnum);
-}
-
-/********** new function ********************/
-void
-pa_do_strcat_registers_info (int regnum, int fpregs, struct ui_file *stream,
-			     enum precision_type precision)
-{
-  char *raw_regs = alloca (DEPRECATED_REGISTER_BYTES);
-  int i;
-
-  /* Make a copy of gdb's save area (may cause actual
-     reads from the target). */
-  for (i = 0; i < NUM_REGS; i++)
-    frame_register_read (deprecated_selected_frame, i,
-			 raw_regs + DEPRECATED_REGISTER_BYTE (i));
-
-  if (regnum == -1)
-    pa_strcat_registers (raw_regs, regnum, fpregs, stream);
-
-  else if (regnum < FP4_REGNUM)
-    {
-      long reg_val[2];
-
-      /* Why is the value not passed through "extract_signed_integer"
-         as in "pa_print_registers" below? */
-      pa_register_look_aside (raw_regs, regnum, &reg_val[0]);
-
-      if (!is_pa_2)
-	{
-	  fprintf_unfiltered (stream, "%s %lx", REGISTER_NAME (regnum), reg_val[1]);
-	}
-      else
-	{
-	  /* Fancy % formats to prevent leading zeros. */
-	  if (reg_val[0] == 0)
-	    fprintf_unfiltered (stream, "%s %lx", REGISTER_NAME (regnum),
-				reg_val[1]);
-	  else
-	    fprintf_unfiltered (stream, "%s %lx%8.8lx", REGISTER_NAME (regnum),
-				reg_val[0], reg_val[1]);
-	}
-    }
-  else
-    /* Note that real floating point values only start at
-       FP4_REGNUM.  FP0 and up are just status and error
-       registers, which have integral (bit) values. */
-    pa_strcat_fp_reg (regnum, stream, precision);
-}
-
-/* If this is a PA2.0 machine, fetch the real 64-bit register
-   value.  Otherwise use the info from gdb's saved register area.
-
-   Note that reg_val is really expected to be an array of longs,
-   with two elements. */
-static void
-pa_register_look_aside (char *raw_regs, int regnum, long *raw_val)
-{
-  static int know_which = 0;	/* False */
-
-  int regaddr;
-  unsigned int offset;
-  int i;
-  int start;
-
-
-  char buf[MAX_REGISTER_SIZE];
-  long long reg_val;
-
-  if (!know_which)
-    {
-      if (CPU_PA_RISC2_0 == sysconf (_SC_CPU_VERSION))
-	{
-	  is_pa_2 = (1 == 1);
-	}
-
-      know_which = 1;		/* True */
-    }
-
-  raw_val[0] = 0;
-  raw_val[1] = 0;
-
-  if (!is_pa_2)
-    {
-      raw_val[1] = *(long *) (raw_regs + DEPRECATED_REGISTER_BYTE (regnum));
-      return;
-    }
-
-  /* Code below copied from hppah-nat.c, with fixes for wide
-     registers, using different area of save_state, etc. */
-  if (regnum == FLAGS_REGNUM || regnum >= FP0_REGNUM ||
-      !HAVE_STRUCT_SAVE_STATE_T || !HAVE_STRUCT_MEMBER_SS_WIDE)
-    {
-      /* Use narrow regs area of save_state and default macro. */
-      offset = U_REGS_OFFSET;
-      regaddr = register_addr (regnum, offset);
-      start = 1;
-    }
-  else
-    {
-      /* Use wide regs area, and calculate registers as 8 bytes wide.
-
-         We'd like to do this, but current version of "C" doesn't
-         permit "offsetof":
-
-         offset  = offsetof(save_state_t, ss_wide);
-
-         Note that to avoid "C" doing typed pointer arithmetic, we
-         have to cast away the type in our offset calculation:
-         otherwise we get an offset of 1! */
-
-      /* NB: save_state_t is not available before HPUX 9.
-         The ss_wide field is not available previous to HPUX 10.20,
-         so to avoid compile-time warnings, we only compile this for
-         PA 2.0 processors.  This control path should only be followed
-         if we're debugging a PA 2.0 processor, so this should not cause
-         problems. */
-
-      /* #if the following code out so that this file can still be
-         compiled on older HPUX boxes (< 10.20) which don't have
-         this structure/structure member.  */
-#if HAVE_STRUCT_SAVE_STATE_T == 1 && HAVE_STRUCT_MEMBER_SS_WIDE == 1
-      save_state_t temp;
-
-      offset = ((int) &temp.ss_wide) - ((int) &temp);
-      regaddr = offset + regnum * 8;
-      start = 0;
-#endif
-    }
-
-  for (i = start; i < 2; i++)
-    {
-      errno = 0;
-      raw_val[i] = call_ptrace (PT_RUREGS, PIDGET (inferior_ptid),
-				(PTRACE_ARG3_TYPE) regaddr, 0);
-      if (errno != 0)
-	{
-	  /* Warning, not error, in case we are attached; sometimes the
-	     kernel doesn't let us at the registers.  */
-	  char *err = safe_strerror (errno);
-	  char *msg = alloca (strlen (err) + 128);
-	  sprintf (msg, "reading register %s: %s", REGISTER_NAME (regnum), err);
-	  warning (msg);
-	  goto error_exit;
-	}
-
-      regaddr += sizeof (long);
-    }
-
-  if (regnum == PCOQ_HEAD_REGNUM || regnum == PCOQ_TAIL_REGNUM)
-    raw_val[1] &= ~0x3;		/* I think we're masking out space bits */
-
-error_exit:
-  ;
-}
-
-/* "Info all-reg" command */
-
-static void
-pa_print_registers (char *raw_regs, int regnum, int fpregs)
-{
-  int i, j;
-  /* Alas, we are compiled so that "long long" is 32 bits */
-  long raw_val[2];
-  long long_val;
-  int rows = 48, columns = 2;
-
-  for (i = 0; i < rows; i++)
-    {
-      for (j = 0; j < columns; j++)
-	{
-	  /* We display registers in column-major order.  */
-	  int regnum = i + j * rows;
-
-	  /* Q: Why is the value passed through "extract_signed_integer",
-	     while above, in "pa_do_registers_info" it isn't?
-	     A: ? */
-	  pa_register_look_aside (raw_regs, regnum, &raw_val[0]);
-
-	  /* Even fancier % formats to prevent leading zeros
-	     and still maintain the output in columns. */
-	  if (!is_pa_2)
-	    {
-	      /* Being big-endian, on this machine the low bits
-	         (the ones we want to look at) are in the second longword. */
-	      long_val = extract_signed_integer (&raw_val[1], 4);
-	      printf_filtered ("%10.10s: %8lx   ",
-			       REGISTER_NAME (regnum), long_val);
-	    }
-	  else
-	    {
-	      /* raw_val = extract_signed_integer(&raw_val, 8); */
-	      if (raw_val[0] == 0)
-		printf_filtered ("%10.10s:         %8lx   ",
-				 REGISTER_NAME (regnum), raw_val[1]);
-	      else
-		printf_filtered ("%10.10s: %8lx%8.8lx   ",
-				 REGISTER_NAME (regnum),
-				 raw_val[0], raw_val[1]);
-	    }
-	}
-      printf_unfiltered ("\n");
-    }
-
-  if (fpregs)
-    for (i = FP4_REGNUM; i < NUM_REGS; i++)	/* FP4_REGNUM == 72 */
-      pa_print_fp_reg (i);
-}
-
-/************* new function ******************/
-static void
-pa_strcat_registers (char *raw_regs, int regnum, int fpregs,
-		     struct ui_file *stream)
-{
-  int i, j;
-  long raw_val[2];		/* Alas, we are compiled so that "long long" is 32 bits */
-  long long_val;
-  enum precision_type precision;
-
-  precision = unspecified_precision;
-
-  for (i = 0; i < 18; i++)
-    {
-      for (j = 0; j < 4; j++)
-	{
-	  /* Q: Why is the value passed through "extract_signed_integer",
-	     while above, in "pa_do_registers_info" it isn't?
-	     A: ? */
-	  pa_register_look_aside (raw_regs, i + (j * 18), &raw_val[0]);
-
-	  /* Even fancier % formats to prevent leading zeros
-	     and still maintain the output in columns. */
-	  if (!is_pa_2)
-	    {
-	      /* Being big-endian, on this machine the low bits
-	         (the ones we want to look at) are in the second longword. */
-	      long_val = extract_signed_integer (&raw_val[1], 4);
-	      fprintf_filtered (stream, "%8.8s: %8lx  ",
-				REGISTER_NAME (i + (j * 18)), long_val);
-	    }
-	  else
-	    {
-	      /* raw_val = extract_signed_integer(&raw_val, 8); */
-	      if (raw_val[0] == 0)
-		fprintf_filtered (stream, "%8.8s:         %8lx  ",
-				  REGISTER_NAME (i + (j * 18)), raw_val[1]);
-	      else
-		fprintf_filtered (stream, "%8.8s: %8lx%8.8lx  ",
-				  REGISTER_NAME (i + (j * 18)), raw_val[0],
-				  raw_val[1]);
-	    }
-	}
-      fprintf_unfiltered (stream, "\n");
-    }
-
-  if (fpregs)
-    for (i = FP4_REGNUM; i < NUM_REGS; i++)	/* FP4_REGNUM == 72 */
-      pa_strcat_fp_reg (i, stream, precision);
-}
-
-static void
-pa_print_fp_reg (int i)
-{
-  char raw_buffer[MAX_REGISTER_SIZE];
-  char virtual_buffer[MAX_REGISTER_SIZE];
-
-  /* Get 32bits of data.  */
-  frame_register_read (deprecated_selected_frame, i, raw_buffer);
-
-  /* Put it in the buffer.  No conversions are ever necessary.  */
-  memcpy (virtual_buffer, raw_buffer, DEPRECATED_REGISTER_RAW_SIZE (i));
-
-  fputs_filtered (REGISTER_NAME (i), gdb_stdout);
-  print_spaces_filtered (8 - strlen (REGISTER_NAME (i)), gdb_stdout);
-  fputs_filtered ("(single precision)     ", gdb_stdout);
-
-  val_print (DEPRECATED_REGISTER_VIRTUAL_TYPE (i), virtual_buffer, 0, 0, gdb_stdout, 0,
-	     1, 0, Val_pretty_default);
-  printf_filtered ("\n");
-
-  /* If "i" is even, then this register can also be a double-precision
-     FP register.  Dump it out as such.  */
-  if ((i % 2) == 0)
-    {
-      /* Get the data in raw format for the 2nd half.  */
-      frame_register_read (deprecated_selected_frame, i + 1, raw_buffer);
-
-      /* Copy it into the appropriate part of the virtual buffer.  */
-      memcpy (virtual_buffer + DEPRECATED_REGISTER_RAW_SIZE (i), raw_buffer,
-	      DEPRECATED_REGISTER_RAW_SIZE (i));
-
-      /* Dump it as a double.  */
-      fputs_filtered (REGISTER_NAME (i), gdb_stdout);
-      print_spaces_filtered (8 - strlen (REGISTER_NAME (i)), gdb_stdout);
-      fputs_filtered ("(double precision)     ", gdb_stdout);
-
-      val_print (builtin_type_double, virtual_buffer, 0, 0, gdb_stdout, 0,
-		 1, 0, Val_pretty_default);
-      printf_filtered ("\n");
-    }
-}
-
-/*************** new function ***********************/
-static void
-pa_strcat_fp_reg (int i, struct ui_file *stream, enum precision_type precision)
-{
-  char raw_buffer[MAX_REGISTER_SIZE];
-  char virtual_buffer[MAX_REGISTER_SIZE];
-
-  fputs_filtered (REGISTER_NAME (i), stream);
-  print_spaces_filtered (8 - strlen (REGISTER_NAME (i)), stream);
-
-  /* Get 32bits of data.  */
-  frame_register_read (deprecated_selected_frame, i, raw_buffer);
-
-  /* Put it in the buffer.  No conversions are ever necessary.  */
-  memcpy (virtual_buffer, raw_buffer, DEPRECATED_REGISTER_RAW_SIZE (i));
-
-  if (precision == double_precision && (i % 2) == 0)
-    {
-
-      char raw_buf[MAX_REGISTER_SIZE];
-
-      /* Get the data in raw format for the 2nd half.  */
-      frame_register_read (deprecated_selected_frame, i + 1, raw_buf);
-
-      /* Copy it into the appropriate part of the virtual buffer.  */
-      memcpy (virtual_buffer + DEPRECATED_REGISTER_RAW_SIZE (i), raw_buf,
-	      DEPRECATED_REGISTER_RAW_SIZE (i));
-
-      val_print (builtin_type_double, virtual_buffer, 0, 0, stream, 0,
-		 1, 0, Val_pretty_default);
-
-    }
-  else
-    {
-      val_print (DEPRECATED_REGISTER_VIRTUAL_TYPE (i), virtual_buffer, 0, 0, stream, 0,
-		 1, 0, Val_pretty_default);
-    }
-
 }
 
 /* Return one if PC is in the call path of a trampoline, else return zero.
Index: config/pa/tm-hppa.h
===================================================================
RCS file: /cvs/src/src/gdb/config/pa/tm-hppa.h,v
retrieving revision 1.64
diff -u -r1.64 tm-hppa.h
--- config/pa/tm-hppa.h	7 Mar 2004 18:06:14 -0000	1.64
+++ config/pa/tm-hppa.h	7 Mar 2004 18:49:49 -0000
@@ -90,12 +90,6 @@
       (buf)[sizeof(CORE_ADDR) -1] &= ~0x3; \
   } while (0)
 
-/* Define DEPRECATED_DO_REGISTERS_INFO() to do machine-specific
-   formatting of register dumps. */
-
-#define DEPRECATED_DO_REGISTERS_INFO(_regnum, fp) pa_do_registers_info (_regnum, fp)
-extern void pa_do_registers_info (int, int);
-
 /* PA specific macro to see if the current instruction is nullified. */
 #ifndef INSTRUCTION_NULLIFIED
 extern int hppa_instruction_nullified (void);

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