diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 6c8c9fcfb0..704f9cd0c9 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,9 @@ +2005-06-11 Mark Kettenis + + * i386-tdep.c (i386_register_type): Return + builtin_type_void_func_ptr for %eip and builtin_type_void_data_ptr + for %ebp and %esp. + 2005-06-10 Ben Elliston * valprint.c (print_floating): Fix comment typo. diff --git a/gdb/i386-tdep.c b/gdb/i386-tdep.c index 622dc4ce4a..830d1b44da 100644 --- a/gdb/i386-tdep.c +++ b/gdb/i386-tdep.c @@ -1560,9 +1560,11 @@ i386_build_sse_type (void) static struct type * i386_register_type (struct gdbarch *gdbarch, int regnum) { - if (regnum == I386_EIP_REGNUM - || regnum == I386_EBP_REGNUM || regnum == I386_ESP_REGNUM) - return lookup_pointer_type (builtin_type_void); + if (regnum == I386_EIP_REGNUM) + return builtin_type_void_func_ptr; + + if (regnum == I386_EBP_REGNUM || regnum == I386_ESP_REGNUM) + return builtin_type_void_data_ptr; if (i386_fp_regnum_p (regnum)) return builtin_type_i387_ext;