/* Builtin frame register, for GDB, the GNU debugger.
- Copyright (C) 2002, 2005 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2005, 2007 Free Software Foundation, Inc.
Contributed by Red Hat.
}
static struct value *
-value_of_builtin_frame_reg (struct frame_info *frame)
+value_of_builtin_frame_reg (struct frame_info *frame, const void *baton)
{
struct value *val;
gdb_byte *buf;
memset (buf, 0, TYPE_LENGTH (value_type (val)));
/* frame.base. */
if (frame != NULL)
- ADDRESS_TO_POINTER (builtin_type_void_data_ptr, buf,
- get_frame_base (frame));
+ gdbarch_address_to_pointer (current_gdbarch, builtin_type_void_data_ptr,
+ buf, get_frame_base (frame));
buf += TYPE_LENGTH (builtin_type_void_data_ptr);
/* frame.XXX. */
return val;
}
static struct value *
-value_of_builtin_frame_fp_reg (struct frame_info *frame)
+value_of_builtin_frame_fp_reg (struct frame_info *frame, const void *baton)
{
if (DEPRECATED_FP_REGNUM >= 0)
/* NOTE: cagney/2003-04-24: Since the mere presence of "fp" in the
if (frame == NULL)
memset (buf, 0, TYPE_LENGTH (value_type (val)));
else
- ADDRESS_TO_POINTER (builtin_type_void_data_ptr, buf,
- get_frame_base_address (frame));
+ gdbarch_address_to_pointer (current_gdbarch, builtin_type_void_data_ptr,
+ buf, get_frame_base_address (frame));
return val;
}
}
static struct value *
-value_of_builtin_frame_pc_reg (struct frame_info *frame)
+value_of_builtin_frame_pc_reg (struct frame_info *frame, const void *baton)
{
if (PC_REGNUM >= 0)
return value_of_register (PC_REGNUM, frame);
if (frame == NULL)
memset (buf, 0, TYPE_LENGTH (value_type (val)));
else
- ADDRESS_TO_POINTER (builtin_type_void_data_ptr, buf,
- get_frame_pc (frame));
+ gdbarch_address_to_pointer (current_gdbarch, builtin_type_void_data_ptr,
+ buf, get_frame_pc (frame));
return val;
}
}
static struct value *
-value_of_builtin_frame_sp_reg (struct frame_info *frame)
+value_of_builtin_frame_sp_reg (struct frame_info *frame, const void *baton)
{
#ifdef SP_REGNUM
if (SP_REGNUM >= 0)
}
static struct value *
-value_of_builtin_frame_ps_reg (struct frame_info *frame)
+value_of_builtin_frame_ps_reg (struct frame_info *frame, const void *baton)
{
#ifdef PS_REGNUM
if (PS_REGNUM >= 0)
/* Frame based $fp, $pc, $sp and $ps. These only come into play
when the target does not define its own version of these
registers. */
- user_reg_add_builtin ("fp", value_of_builtin_frame_fp_reg);
- user_reg_add_builtin ("pc", value_of_builtin_frame_pc_reg);
- user_reg_add_builtin ("sp", value_of_builtin_frame_sp_reg);
- user_reg_add_builtin ("ps", value_of_builtin_frame_ps_reg);
+ user_reg_add_builtin ("fp", value_of_builtin_frame_fp_reg, NULL);
+ user_reg_add_builtin ("pc", value_of_builtin_frame_pc_reg, NULL);
+ user_reg_add_builtin ("sp", value_of_builtin_frame_sp_reg, NULL);
+ user_reg_add_builtin ("ps", value_of_builtin_frame_ps_reg, NULL);
/* NOTE: cagney/2002-04-05: For moment leave the $frame / $gdbframe
/ $gdb.frame disabled. It isn't yet clear which of the many
options is the best. */
if (0)
- user_reg_add_builtin ("frame", value_of_builtin_frame_reg);
+ user_reg_add_builtin ("frame", value_of_builtin_frame_reg, NULL);
}