This is the mail archive of the gdb-patches@sourceware.org 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]

Re: [patch] mips-tdep: info registers


Joel Brobecker wrote:
The problem is, this doesn't do what you want it to do.  It looks up
GDB internal register number 1.  That just happens, at the moment,
to match up with the raw register backing $at.  But it might change
in the future.  It's not "the register named $1", which is what a
MIPS user should expect.

I agree, now, that we shouldn't have this feature. I can have a look at removing it...


Joel, the attached removes numeric value syntax, but allows it for mips; mips will explicitly map regno to raw regno (which is currently 1-1).


I will let you take it from here.


Thanks,


Aleksandar Ristovski
QNX Software Systems
Index: gdb/infcmd.c
===================================================================
RCS file: /cvs/src/src/gdb/infcmd.c,v
retrieving revision 1.231
diff -r1.231 infcmd.c
1951,1965d1950
<       /* A register number?  (how portable is this one?).  */
<       {
< 	char *endptr;
< 	int regnum = strtol (start, &endptr, 0);
< 	if (endptr == end
< 	    && regnum >= 0
< 	    && regnum < gdbarch_num_regs (gdbarch)
< 			+ gdbarch_num_pseudo_regs (gdbarch))
< 	  {
< 	    gdbarch_print_registers_info (gdbarch, gdb_stdout,
< 					  frame, regnum, fpregs);
< 	    continue;
< 	  }
<       }
< 
Index: gdb/mips-tdep.c
===================================================================
RCS file: /cvs/src/src/gdb/mips-tdep.c,v
retrieving revision 1.490
diff -r1.490 mips-tdep.c
442a443,449
>   static char *mips_gpr_numeric_names[] = {
>     "0", "1", "2", "3", "4", "5", "6", "7",
>     "8", "9", "10", "11", "12", "13", "14", "15",
>     "16", "17", "18", "19", "20", "21", "22", "23",
>     "24", "25", "26", "27", "28", "29", "30", "31"
>   };
> 
449c456,461
<     return "";
---
>     {
>       if (regno >= 0)
> 	return mips_gpr_numeric_names [regno];
>       else
> 	return "";
>     }
4604c4616,4618
<       gdb_assert (regnum >= gdbarch_num_regs (gdbarch));
---
>       if (regnum < gdbarch_num_regs (gdbarch)
> 	  && regnum >= 0)
> 	regnum += gdbarch_num_regs (gdbarch); /* Print pseudo register.  */

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