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]

[RFA] Eliminate hard coded constant num_regs in mips_gdbarch_init


It seems wrong to hard code the number of registers in
mips_gdbarch_init.  Here is one way to fix it, for the case
"num_regs=90", and possibly for the "num_regs=71" case also.

However using sizeof(mips_generic_reg_names) is somewhat of a
misleading way to find the number of strings in MIPS_REGISTER_NAMES
and I'm not too thrilled about using a hard coded 32 instead of
something like "sizeof(mips_gpr_names)/sizeof(char*)".

-Fred



2003-06-25  Fred Fish  <fnf@intrinsity.com>

	* mips-tdep.c (mips_gdbarch_init): Set num_regs to be the number
	of base registers (32) plus the number of machine dependent
	register names, which should equal the number of machine dependent
	registers.

Index: mips-tdep.c
===================================================================
RCS file: /mips/newtools/fsf/gdb/gdb/mips-tdep.c,v
retrieving revision 1.21
retrieving revision 1.22
diff -c -p -r1.21 -r1.22
*** mips-tdep.c	2003/06/23 14:31:26	1.21
--- mips-tdep.c	2003/06/26 02:36:53	1.22
*************** mips_gdbarch_init (struct gdbarch_info i
*** 5908,5914 ****
    if (info.osabi == GDB_OSABI_IRIX)
      num_regs = 71;
    else
!     num_regs = 90;
    set_gdbarch_num_regs (gdbarch, num_regs);
    set_gdbarch_num_pseudo_regs (gdbarch, num_regs);
  
--- 5908,5914 ----
    if (info.osabi == GDB_OSABI_IRIX)
      num_regs = 71;
    else
!     num_regs = 32 + sizeof(mips_generic_reg_names)/sizeof(char *);
    set_gdbarch_num_regs (gdbarch, num_regs);
    set_gdbarch_num_pseudo_regs (gdbarch, num_regs);
  


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