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]

Re: [RFA] config/rs6000/tm-rs6000.h STAB_REG_TO_REGNUM


On Nov 30,  4:14pm, Elena Zannoni wrote:

> +/* Convert a dbx stab register number (from `r' declaration) to a gdb
> +   REGNUM */
> +static int
> +rs6000_stab_reg_to_regnum (int num)
> +{
> +  int regnum;
> +  switch (num)
> +    {
> +    case 64: /* mq */
> +      if (TARGET_ARCHITECTURE->mach == bfd_mach_ppc_601)
> +	regnum = 124;

Hmm... I wish we had a symbolic constant for this one.  (It took me
a while to figure out why this register number was different.)

> +      else
> +	regnum = 70;

I'd prefer to see PPC_MQ_REGNUM used here in place of the constant 70.

> +      break;
> +    case 65: regnum = 67; /* lr	*/

Likewise, here I'd like to see PPC_LR_REGNUM in place of 67.

> +      break;
> +    case 66: regnum = 68; /* ctr */

Likewise, here I'd like to see PPC_CTR_REGNUM in place of 68.

> +      break;
> +    case 76: regnum = 69; /* xer */

Likewise, here I'd like to see PPC_XER_REGNUM in place of 69.

> +      break;
> +    default: regnum = num;
> +      break;
> +    }
> +  return regnum;
> +}
> +
>  /* Store the address of the place in which to copy the structure the
>     subroutine will return.  This is called from call_function.
>  
> @@ -2340,6 +2366,7 @@ rs6000_gdbarch_init (struct gdbarch_info
>  	rs6000_frameless_function_invocation);
>        set_gdbarch_frame_chain (gdbarch, rs6000_frame_chain);
>        set_gdbarch_frame_saved_pc (gdbarch, rs6000_frame_saved_pc);
> +      set_gdbarch_stab_reg_to_regnum (gdbarch, rs6000_stab_reg_to_regnum);

After examining the gcc sources, it appears to me that we need this
for Linux/PPC too.  Either add a similar statement to the Linux/PPC
part or move this statement up above the ``if (osabi == ELFOSABI_LINUX)''
statement.  (I'd prefer the latter.)

Thanks,

Kevin


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