else if ((regno % NUM_REGS) == SP_REGNUM)  return frame_unwind_register_signed (fi, regno % NUM_REGS);
read_next_frame_reg (struct frame_info *fi, int regno){  /* Always a pseudo.  */  gdb_assert (regno >= NUM_REGS);  if (fi == NULL)    {      LONGEST val;      regcache_cooked_read_signed (current_regcache, regno, &val);      return val;    }  else if ((regno % NUM_REGS) == SP_REGNUM)    /* The SP_REGNUM is special, its value is stored in saved_regs.       In fact, it is so special that it can even only be fetched       using a raw register number!  Once this code as been converted       to frame-unwind the problem goes away.  */    return frame_unwind_register_signed (fi, regno % NUM_REGS);  else    return frame_unwind_register_signed (fi, regno);}