X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=gdb%2Fvax-tdep.c;h=346a59d14407db81628069210d2f640c120148ab;hb=8e05b6ff93bd96ceadd0c1bc57c8fbd58c075d0b;hp=fa2761711687468bbaf4f13a5a4bd984116c1d85;hpb=459f20b9a169b46f7b74581964ae6d160c595c83;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/vax-tdep.c b/gdb/vax-tdep.c index fa27617116..346a59d144 100644 --- a/gdb/vax-tdep.c +++ b/gdb/vax-tdep.c @@ -1,13 +1,13 @@ /* Target-dependent code for the VAX. - Copyright 1986, 1989, 1991, 1992, 1995, 1996, 1998, 1999, 2000, - 2002, 2003, 2004, 2005 Free Software Foundation, Inc. + Copyright (C) 1986, 1989, 1991, 1992, 1995, 1996, 1998, 1999, 2000, 2002, + 2003, 2004, 2005, 2007 Free Software Foundation, Inc. This file is part of GDB. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or + the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, @@ -16,13 +16,12 @@ GNU General Public License for more details. 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. */ + along with this program. If not, see . */ #include "defs.h" #include "arch-utils.h" #include "dis-asm.h" +#include "floatformat.h" #include "frame.h" #include "frame-base.h" #include "frame-unwind.h" @@ -41,7 +40,7 @@ /* Return the name of register REGNUM. */ static const char * -vax_register_name (int regnum) +vax_register_name (struct gdbarch *gdbarch, int regnum) { static char *register_names[] = { @@ -256,7 +255,7 @@ vax_return_value (struct gdbarch *gdbarch, struct type *type, location for inserting the breakpoint. */ static const gdb_byte * -vax_breakpoint_from_pc (CORE_ADDR *pc, int *len) +vax_breakpoint_from_pc (struct gdbarch *gdbarch, CORE_ADDR *pc, int *len) { static gdb_byte break_insn[] = { 3 }; @@ -383,14 +382,15 @@ vax_frame_this_id (struct frame_info *next_frame, void **this_cache, if (cache->base == 0) return; - (*this_id) = frame_id_build (cache->base, frame_func_unwind (next_frame)); + (*this_id) = frame_id_build (cache->base, + frame_func_unwind (next_frame, NORMAL_FRAME)); } static void vax_frame_prev_register (struct frame_info *next_frame, void **this_cache, int regnum, int *optimizedp, enum lval_type *lvalp, CORE_ADDR *addrp, - int *realnump, void *valuep) + int *realnump, gdb_byte *valuep) { struct vax_frame_cache *cache = vax_frame_cache (next_frame, this_cache); @@ -476,6 +476,11 @@ vax_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) gdbarch = gdbarch_alloc (&info, NULL); + set_gdbarch_float_format (gdbarch, floatformats_vax_f); + set_gdbarch_double_format (gdbarch, floatformats_vax_d); + set_gdbarch_long_double_format (gdbarch, floatformats_vax_d); + set_gdbarch_long_double_bit (gdbarch, 64); + /* Register info */ set_gdbarch_num_regs (gdbarch, VAX_NUM_REGS); set_gdbarch_register_name (gdbarch, vax_register_name);