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

register_type method


Hi,

What builtin type should the *_register_type method return for the PC?

I would think that it it should be builtin_type_void_func_ptr like the d10v
does, but when I use that for the avr, I only get 2 bytes for the PC
register size and I need 4 bytes. Using builtin_type_uint32 works but just
doesn't feel right.

I also tried using builtin_type_CORE_ADDR and that seemed to work as well as
builtin_type_uint32.

Here's my avr_register_type method I'm currently playing with:


static struct type *
avr_register_type (struct gdbarch *gdbarch, int reg_nr)
{
  if (reg_nr == AVR_PC_REGNUM)
/*     return builtin_type_void_func_ptr; */
/*     return builtin_type_uint32; */
    return builtin_type_CORE_ADDR;
  if (reg_nr == AVR_SP_REGNUM)
    return builtin_type_void_data_ptr;
  else
    return builtin_type_uint8;
}


Ted Roth


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