2003-05-02 Andrew Cagney <cagney@redhat.com>
authorAndrew Cagney <cagney@redhat.com>
Fri, 2 May 2003 23:56:12 +0000 (23:56 +0000)
committerAndrew Cagney <cagney@redhat.com>
Fri, 2 May 2003 23:56:12 +0000 (23:56 +0000)
* gdbarch.sh (REGISTER_SIZE, REGISTER_BYTES): Make optional.
* gdbarch.h, gdbarch.c: Re-generate.
* d10v-tdep.c (d10v_gdbarch_init): Do not set register_size,
register_virtual_size, pc_regnum, or register_bytes.
(D10V_PC_REGNUM): Rename _PC_REGNUM.
(d10v_register_type): Use D10V_PC_REGNUM.
(d10v_print_registers_info, d10v_read_pc): Ditto.
(d10v_write_pc, d10v_eva_prepare_to_trace): Ditto.
(d10v_unwind_pc, d10v_frame_prev_register): Ditto.

gdb/ChangeLog
gdb/d10v-tdep.c
gdb/gdbarch.c
gdb/gdbarch.h
gdb/gdbarch.sh

index 89143753f2c765b2fe7d73c03cd2e1894b379f42..d861069962174baee9bcf708e5ba623fbbc3e178 100644 (file)
@@ -1,3 +1,15 @@
+2003-05-02  Andrew Cagney  <cagney@redhat.com>
+
+       * gdbarch.sh (REGISTER_SIZE, REGISTER_BYTES): Make optional.
+       * gdbarch.h, gdbarch.c: Re-generate.
+       * d10v-tdep.c (d10v_gdbarch_init): Do not set register_size,
+       register_virtual_size, pc_regnum, or register_bytes.
+       (D10V_PC_REGNUM): Rename _PC_REGNUM.
+       (d10v_register_type): Use D10V_PC_REGNUM.
+       (d10v_print_registers_info, d10v_read_pc): Ditto.
+       (d10v_write_pc, d10v_eva_prepare_to_trace): Ditto.
+       (d10v_unwind_pc, d10v_frame_prev_register): Ditto.
+
 2003-05-02  David Carlton  <carlton@bactrian.org>
 
        * objfiles.c (allocate_objfile): For anonymous objfiles, allocate
index 8eb9d6ffa302cfab3e93ecf3a867f0d9cf5c5a54..5f054d5c321b4e9210b2beab4acd82b9efca3992 100644 (file)
@@ -73,7 +73,7 @@ enum
     LR_REGNUM = 13,
     D10V_SP_REGNUM = 15,
     PSW_REGNUM = 16,
-    _PC_REGNUM = 18,
+    D10V_PC_REGNUM = 18,
     NR_IMAP_REGS = 2,
     NR_A_REGS = 2,
     TS2_NUM_REGS = 37,
@@ -322,7 +322,7 @@ d10v_ts3_register_sim_regno (int nr)
 static struct type *
 d10v_register_type (struct gdbarch *gdbarch, int reg_nr)
 {
-  if (reg_nr == PC_REGNUM)
+  if (reg_nr == D10V_PC_REGNUM)
     return builtin_type_void_func_ptr;
   if (reg_nr == D10V_SP_REGNUM || reg_nr == D10V_FP_REGNUM)
     return builtin_type_void_data_ptr;
@@ -811,7 +811,7 @@ d10v_print_registers_info (struct gdbarch *gdbarch, struct ui_file *file,
 
   {
     ULONGEST pc, psw, rpt_s, rpt_e, rpt_c;
-    frame_read_unsigned_register (frame, PC_REGNUM, &pc);
+    frame_read_unsigned_register (frame, D10V_PC_REGNUM, &pc);
     frame_read_unsigned_register (frame, PSW_REGNUM, &psw);
     frame_read_unsigned_register (frame, frame_map_name_to_regnum ("rpt_s", -1), &rpt_s);
     frame_read_unsigned_register (frame, frame_map_name_to_regnum ("rpt_e", -1), &rpt_e);
@@ -895,7 +895,7 @@ d10v_read_pc (ptid_t ptid)
 
   save_ptid = inferior_ptid;
   inferior_ptid = ptid;
-  pc = (int) read_register (PC_REGNUM);
+  pc = (int) read_register (D10V_PC_REGNUM);
   inferior_ptid = save_ptid;
   retval = d10v_make_iaddr (pc);
   return retval;
@@ -908,7 +908,7 @@ d10v_write_pc (CORE_ADDR val, ptid_t ptid)
 
   save_ptid = inferior_ptid;
   inferior_ptid = ptid;
-  write_register (PC_REGNUM, d10v_convert_iaddr_to_raw (val));
+  write_register (D10V_PC_REGNUM, d10v_convert_iaddr_to_raw (val));
   inferior_ptid = save_ptid;
 }
 
@@ -1207,7 +1207,7 @@ d10v_eva_prepare_to_trace (void)
   if (!tracing)
     return;
 
-  last_pc = read_register (PC_REGNUM);
+  last_pc = read_register (D10V_PC_REGNUM);
 }
 
 /* Collect trace data from the target board and format it into a form
@@ -1373,7 +1373,7 @@ static CORE_ADDR
 d10v_unwind_pc (struct gdbarch *gdbarch, struct frame_info *next_frame)
 {
   ULONGEST pc;
-  frame_unwind_unsigned_register (next_frame, PC_REGNUM, &pc);
+  frame_unwind_unsigned_register (next_frame, D10V_PC_REGNUM, &pc);
   return d10v_make_iaddr (pc);
 }
 
@@ -1477,7 +1477,7 @@ d10v_frame_prev_register (struct frame_info *next_frame,
 {
   struct d10v_unwind_cache *info
     = d10v_frame_unwind_cache (next_frame, this_prologue_cache);
-  if (regnum == PC_REGNUM)
+  if (regnum == D10V_PC_REGNUM)
     {
       /* The call instruction saves the caller's PC in LR.  The
         function prologue of the callee may then save the LR on the
@@ -1582,11 +1582,7 @@ d10v_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
 
   set_gdbarch_num_regs (gdbarch, d10v_num_regs);
   set_gdbarch_sp_regnum (gdbarch, D10V_SP_REGNUM);
-  set_gdbarch_pc_regnum (gdbarch, 18);
   set_gdbarch_register_name (gdbarch, d10v_register_name);
-  set_gdbarch_register_size (gdbarch, 2);
-  set_gdbarch_register_bytes (gdbarch, (d10v_num_regs - 2) * 2 + 16);
-  set_gdbarch_register_virtual_size (gdbarch, generic_register_size);
   set_gdbarch_register_type (gdbarch, d10v_register_type);
 
   set_gdbarch_ptr_bit (gdbarch, 2 * TARGET_CHAR_BIT);
index bda28c7d37b5372aa9107831478c29007d94981c..6ed7d86caed495f9085bdd844b483233504aa81c 100644 (file)
@@ -514,8 +514,6 @@ gdbarch_alloc (const struct gdbarch_info *info,
   current_gdbarch->sdb_reg_to_regnum = no_op_reg_to_regnum;
   current_gdbarch->dwarf2_reg_to_regnum = no_op_reg_to_regnum;
   current_gdbarch->register_name = legacy_register_name;
-  current_gdbarch->register_size = -1;
-  current_gdbarch->register_bytes = -1;
   current_gdbarch->register_byte = generic_register_byte;
   current_gdbarch->register_raw_size = generic_register_size;
   current_gdbarch->register_virtual_size = generic_register_size;
@@ -643,12 +641,6 @@ verify_gdbarch (struct gdbarch *gdbarch)
   /* Skip verify of sdb_reg_to_regnum, invalid_p == 0 */
   /* Skip verify of dwarf2_reg_to_regnum, invalid_p == 0 */
   /* Skip verify of register_name, invalid_p == 0 */
-  if ((GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL)
-      && (gdbarch->register_size == -1))
-    fprintf_unfiltered (log, "\n\tregister_size");
-  if ((GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL)
-      && (gdbarch->register_bytes == -1))
-    fprintf_unfiltered (log, "\n\tregister_bytes");
   /* Skip verify of register_byte, invalid_p == 0 */
   /* Skip verify of register_raw_size, invalid_p == 0 */
   /* Skip verify of deprecated_max_register_raw_size, has predicate */
@@ -3286,9 +3278,6 @@ int
 gdbarch_register_size (struct gdbarch *gdbarch)
 {
   gdb_assert (gdbarch != NULL);
-  if (gdbarch->register_size == -1)
-    internal_error (__FILE__, __LINE__,
-                    "gdbarch: gdbarch_register_size invalid");
   if (gdbarch_debug >= 2)
     fprintf_unfiltered (gdb_stdlog, "gdbarch_register_size called\n");
   return gdbarch->register_size;
@@ -3305,9 +3294,6 @@ int
 gdbarch_register_bytes (struct gdbarch *gdbarch)
 {
   gdb_assert (gdbarch != NULL);
-  if (gdbarch->register_bytes == -1)
-    internal_error (__FILE__, __LINE__,
-                    "gdbarch: gdbarch_register_bytes invalid");
   if (gdbarch_debug >= 2)
     fprintf_unfiltered (gdb_stdlog, "gdbarch_register_bytes called\n");
   return gdbarch->register_bytes;
index f95e70936bbe62dbb1ecc22b7f61833169587b31..f781cc94b8c1f9fccbfeffcbf6a68eef53abe489 100644 (file)
@@ -726,22 +726,18 @@ extern void set_gdbarch_register_size (struct gdbarch *gdbarch, int register_siz
 #if (GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL) && defined (REGISTER_SIZE)
 #error "Non multi-arch definition of REGISTER_SIZE"
 #endif
-#if GDB_MULTI_ARCH
-#if (GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL) || !defined (REGISTER_SIZE)
+#if !defined (REGISTER_SIZE)
 #define REGISTER_SIZE (gdbarch_register_size (current_gdbarch))
 #endif
-#endif
 
 extern int gdbarch_register_bytes (struct gdbarch *gdbarch);
 extern void set_gdbarch_register_bytes (struct gdbarch *gdbarch, int register_bytes);
 #if (GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL) && defined (REGISTER_BYTES)
 #error "Non multi-arch definition of REGISTER_BYTES"
 #endif
-#if GDB_MULTI_ARCH
-#if (GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL) || !defined (REGISTER_BYTES)
+#if !defined (REGISTER_BYTES)
 #define REGISTER_BYTES (gdbarch_register_bytes (current_gdbarch))
 #endif
-#endif
 
 /* Default (function) for non- multi-arch platforms. */
 #if (!GDB_MULTI_ARCH) && !defined (REGISTER_BYTE)
index 9b059d2f54d945217ddc1b5f53352b34ef15b80d..193d52a2040cb5e03d8032b3928ab587966c967c 100755 (executable)
@@ -472,8 +472,8 @@ f:2:DWARF_REG_TO_REGNUM:int:dwarf_reg_to_regnum:int dwarf_regnr:dwarf_regnr:::no
 f:2:SDB_REG_TO_REGNUM:int:sdb_reg_to_regnum:int sdb_regnr:sdb_regnr:::no_op_reg_to_regnum::0
 f:2:DWARF2_REG_TO_REGNUM:int:dwarf2_reg_to_regnum:int dwarf2_regnr:dwarf2_regnr:::no_op_reg_to_regnum::0
 f:2:REGISTER_NAME:const char *:register_name:int regnr:regnr:::legacy_register_name::0
-v:2:REGISTER_SIZE:int:register_size::::0:-1
-v:2:REGISTER_BYTES:int:register_bytes::::0:-1
+v::REGISTER_SIZE:int:register_size
+v::REGISTER_BYTES:int:register_bytes
 f:2:REGISTER_BYTE:int:register_byte:int reg_nr:reg_nr::generic_register_byte:generic_register_byte::0
 # The methods REGISTER_VIRTUAL_TYPE, MAX_REGISTER_RAW_SIZE,
 # MAX_REGISTER_VIRTUAL_SIZE, MAX_REGISTER_RAW_SIZE,