/* Builtin frame register, for GDB, the GNU debugger.
- Copyright 2002, 2005 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2005, 2007 Free Software Foundation, Inc.
Contributed by Red Hat.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place - Suite 330,
- Boston, MA 02111-1307, USA. */
+ Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA. */
#include "defs.h"
#include "user-regs.h"
}
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;
- char *buf;
+ gdb_byte *buf;
build_builtin_type_frame_reg ();
val = allocate_value (builtin_type_frame_reg);
VALUE_LVAL (val) = not_lval;
}
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
else
{
struct value *val = allocate_value (builtin_type_void_data_ptr);
- char *buf = value_contents_raw (val);
+ gdb_byte *buf = value_contents_raw (val);
if (frame == NULL)
memset (buf, 0, TYPE_LENGTH (value_type (val)));
else
}
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);
else
{
struct value *val = allocate_value (builtin_type_void_data_ptr);
- char *buf = value_contents_raw (val);
+ gdb_byte *buf = value_contents_raw (val);
if (frame == NULL)
memset (buf, 0, TYPE_LENGTH (value_type (val)));
else
}
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);
}