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]

[PATCH] sh-tdep.c fix



I discovered a little foobar.  sh_gdbarch_init was using the macro
NUM_REGS, which was being defined for the given arch in the same
call. It would pick up the value of whatever the
current_gdbarch->NUM_REGS would be. current_gdbarch is NOT the arch we
are defining.

Elena

2001-07-26  Elena Zannoni  <ezannoni@redhat.com>

	* sh-tdep.c (sh_gdbarch_init): Use SH_DEFAULT_NUM_REGS instead of
	NUM_REGS.
	(SH_DEFAULT_NUM_REGS): Define.

Index: sh-tdep.c
===================================================================
RCS file: /cvs/src/src/gdb/sh-tdep.c,v
retrieving revision 1.37
diff -u -p -r1.37 sh-tdep.c
--- sh-tdep.c	2001/07/15 20:10:02	1.37
+++ sh-tdep.c	2001/07/27 03:23:26
@@ -50,6 +50,8 @@ int (*print_sh_insn) (bfd_vma, disassemb
 CORE_ADDR (*skip_prologue_hard_way) (CORE_ADDR);
 void (*do_pseudo_register) (int);
 
+#define SH_DEFAULT_NUM_REGS 59
+
 /* Define other aspects of the stack frame.
    we keep a copy of the worked out return pc lying around, since it
    is a useful bit of info */
@@ -1906,12 +1908,12 @@ sh_gdbarch_init (struct gdbarch_info inf
   set_gdbarch_max_register_raw_size (gdbarch, 4);
   set_gdbarch_max_register_virtual_size (gdbarch, 4);
   set_gdbarch_ptr_bit (gdbarch, 4 * TARGET_CHAR_BIT);
-  set_gdbarch_num_regs (gdbarch, 59);
+  set_gdbarch_num_regs (gdbarch, SH_DEFAULT_NUM_REGS);
   set_gdbarch_sp_regnum (gdbarch, 15);
   set_gdbarch_fp_regnum (gdbarch, 14);
   set_gdbarch_pc_regnum (gdbarch, 16);
   set_gdbarch_register_size (gdbarch, 4);
-  set_gdbarch_register_bytes (gdbarch, NUM_REGS * 4);
+  set_gdbarch_register_bytes (gdbarch, SH_DEFAULT_NUM_REGS * 4);
   set_gdbarch_fetch_pseudo_register (gdbarch, sh_fetch_pseudo_register);
   set_gdbarch_store_pseudo_register (gdbarch, sh_store_pseudo_register);
   set_gdbarch_do_registers_info (gdbarch, sh_do_registers_info);



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