* doc/gdbint.texinfo (Host Definition): Remove documentation
[deliverable/binutils-gdb.git] / gdb / alpha-tdep.h
index 412ec37c5a901e9565a6a4cd9b7ff6f3ee0398ba..60cea0a5cb472715aef4c54290d790545c77b6f6 100644 (file)
@@ -23,7 +23,7 @@
 #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
 
    register state.  */
 #define ALPHA_REGISTER_BYTES (ALPHA_NUM_REGS * 8)
 
-/* Largest value REGISTER_RAW_SIZE can have.  */
-#define ALPHA_MAX_REGISTER_RAW_SIZE 8
-
-/* Largest value REGISTER_VIRTUAL_SIZE can have.  */
-#define ALPHA_MAX_REGISTER_VIRTUAL_SIZE 8
-
 /* Register numbers of various important registers.  Note that most of
    these values are "real" register numbers, and correspond to the
-   general registers of the machine, and DEPRECATED_FP_REGNUM is a
-   "phony" register number which is too large to be an actual register
-   number as far as the user is concerned but serves to get the
-   desired value when passed to read_register.  */
+   general registers of the machine.  */
 
 #define ALPHA_V0_REGNUM             0  /* Function integer return value */
 #define ALPHA_T7_REGNUM             8  /* Return address register for OSF/1 __add* */
 #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* */
+#define ALPHA_RA_REGNUM     26  /* Contains return address value */
 #define ALPHA_T12_REGNUM    27  /* Contains start addr of current proc */
+#define ALPHA_GP_REGNUM     29  /* Contains the global pointer */
 #define ALPHA_SP_REGNUM     30  /* Contains address of top of stack */
-#define ALPHA_RA_REGNUM     26  /* Contains return address value */
 #define ALPHA_ZERO_REGNUM   31  /* Read-only register, always 0 */
 #define ALPHA_FP0_REGNUM    32  /* Floating point register 0 */
 #define ALPHA_FPA0_REGNUM   48  /* First float arg during a subr call */
 #define ALPHA_FPCR_REGNUM   63  /* Floating point control register */
 #define ALPHA_PC_REGNUM     64  /* Contains program counter */
-#define ALPHA_FP_REGNUM     65  /* Virtual frame pointer */
 #define ALPHA_UNIQUE_REGNUM 66 /* PAL_rduniq value */
 
 /* The alpha has two different virtual pointers for arguments and locals.
@@ -91,6 +82,17 @@ 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);
+
+  /* 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.  */
@@ -99,20 +101,15 @@ struct gdbarch_tdep
 
 extern unsigned int alpha_read_insn (CORE_ADDR pc);
 extern void alpha_software_single_step (enum target_signal, int);
-
-/* Let other files poke at the heuristic unwinder.  */
 extern CORE_ADDR alpha_after_prologue (CORE_ADDR pc);
-extern struct alpha_heuristic_unwind_cache *
-  alpha_heuristic_frame_unwind_cache (struct frame_info *, void **, CORE_ADDR);
-extern void alpha_heuristic_frame_this_id (struct frame_info *, void **,
-                                          struct frame_id *);
-extern void alpha_heuristic_frame_prev_register (struct frame_info *,
-                                                void **, int, int *,
-                                                enum lval_type *,
-                                                CORE_ADDR *, int *, void *);
-extern CORE_ADDR alpha_heuristic_frame_base_address (struct frame_info *,
-                                                    void **);
 
 extern void alpha_mdebug_init_abi (struct gdbarch_info, struct gdbarch *);
+extern void alpha_dwarf2_init_abi (struct gdbarch_info, struct gdbarch *);
+
+extern void alpha_supply_int_regs (int, const void *, const void *,
+                                  const void *);
+extern void alpha_fill_int_regs (int, void *, void *, void *);
+extern void alpha_supply_fp_regs (int, const void *, const void *);
+extern void alpha_fill_fp_regs (int, void *, void *);
 
 #endif /* ALPHA_TDEP_H */
This page took 0.024696 seconds and 4 git commands to generate.