register_type method

Theodore A. Roth troth@openavr.org
Sat Jun 14 22:29:00 GMT 2003


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



More information about the Gdb mailing list