2005-02-10 Nathan Sidwell * expprint.c (print_subexp_standard): Don't print two '$' symbols. * user-regs.c (user_reg_map_name_to_regnum): Be flexible about leading '$'. Do case insensitive match on register name. Index: expprint.c =================================================================== RCS file: /cvs/src/src/gdb/expprint.c,v retrieving revision 1.21 diff -c -3 -p -r1.21 expprint.c *** expprint.c 9 Nov 2004 14:43:25 -0000 1.21 --- expprint.c 10 Feb 2005 10:08:32 -0000 *************** print_subexp_standard (struct expression *** 132,137 **** --- 132,139 ---- int regnum = longest_to_int (exp->elts[pc + 1].longconst); const char *name = user_reg_map_regnum_to_name (current_gdbarch, regnum); + if (*name == '$') + name++; (*pos) += 2; fprintf_filtered (stream, "$%s", name); return; Index: user-regs.c =================================================================== RCS file: /cvs/src/src/gdb/user-regs.c,v retrieving revision 1.5 diff -c -3 -p -r1.5 user-regs.c *** user-regs.c 15 Mar 2004 20:38:08 -0000 1.5 --- user-regs.c 10 Feb 2005 10:08:32 -0000 *************** user_reg_map_name_to_regnum (struct gdba *** 133,140 **** for (i = 0; i < maxregs; i++) { const char *regname = gdbarch_register_name (gdbarch, i); ! if (regname != NULL && len == strlen (regname) ! && strncmp (regname, name, len) == 0) { return i; } --- 133,146 ---- for (i = 0; i < maxregs; i++) { const char *regname = gdbarch_register_name (gdbarch, i); ! ! if (regname == NULL) ! continue; ! ! if (*regname == '$' && *name != '$') ! regname++; ! if (len == strlen (regname) ! && strncasecmp (regname, name, len) == 0) { return i; }