* gdb.gdb/selftest.exp (do_steps_and_nexts): Add more matches.
[deliverable/binutils-gdb.git] / gdb / alpha-tdep.h
index c0e28e65772ffd0c556124877e10c1e34be7b175..861b4b4450aa27c9a41d41cc392cbe5a0ea35f7a 100644 (file)
@@ -1,6 +1,6 @@
 /* Common target dependent code for GDB on Alpha systems.
-   Copyright 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2002, 2003 Free
-   Software Foundation, Inc.
+   Copyright (C) 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2002, 2003, 2007
+   Free Software Foundation, Inc.
 
    This file is part of GDB.
 
 
    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.  */
 
 #ifndef ALPHA_TDEP_H
 #define ALPHA_TDEP_H
 
 /* Say how long (ordinary) registers are.  This is a piece of bogosity
-   used in push_word and a few other places;  REGISTER_RAW_SIZE is the
+   used in push_word and a few other places; register_size() is the
    real way to know how big a register is.  */
 #define ALPHA_REGISTER_SIZE 8
 
@@ -40,6 +40,7 @@
 
 #define ALPHA_V0_REGNUM             0  /* Function integer return value */
 #define ALPHA_T7_REGNUM             8  /* Return address register for OSF/1 __add* */
+#define ALPHA_S0_REGNUM      9 /* First saved register */
 #define ALPHA_GCC_FP_REGNUM 15  /* Used by gcc as frame register */
 #define ALPHA_A0_REGNUM     16  /* Loc of first arg during a subr call */
 #define ALPHA_T9_REGNUM     23  /* Return address register for OSF/1 __div* */
@@ -54,6 +55,9 @@
 #define ALPHA_PC_REGNUM     64  /* Contains program counter */
 #define ALPHA_UNIQUE_REGNUM 66 /* PAL_rduniq value */
 
+/* Instruction size.  */
+#define ALPHA_INSN_SIZE        4
+
 /* The alpha has two different virtual pointers for arguments and locals.
    
    The virtual argument pointer is pointing to the bottom of the argument
@@ -82,6 +86,20 @@ struct gdbarch_tdep
      the sigcontext structure for that signal handler.  */
   CORE_ADDR (*sigcontext_addr) (struct frame_info *);
 
+  /* Does the PC fall in a signal trampoline.  */
+  /* NOTE: cagney/2004-04-30: Do not copy/clone this code.  Instead
+     look at tramp-frame.h and other simplier per-architecture
+     sigtramp unwinders.  */
+  int (*pc_in_sigtramp) (CORE_ADDR pc, char *name);
+
+  /* If TYPE will be returned in memory, return true.  */
+  int (*return_in_memory) (struct type *type);
+
+  /* Offset of registers in `struct sigcontext'.  */
+  int sc_pc_offset;
+  int sc_regs_offset;
+  int sc_fpregs_offset;
+
   int jb_pc;                   /* Offset to PC value in jump buffer.
                                   If htis is negative, longjmp support
                                   will be disabled.  */
This page took 0.037436 seconds and 4 git commands to generate.