diff options
Diffstat (limited to 'gdb/alpha-tdep.h')
-rw-r--r-- | gdb/alpha-tdep.h | 38 |
1 files changed, 18 insertions, 20 deletions
diff --git a/gdb/alpha-tdep.h b/gdb/alpha-tdep.h index 0e8aefb..c0e28e6 100644 --- a/gdb/alpha-tdep.h +++ b/gdb/alpha-tdep.h @@ -34,33 +34,24 @@ 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. @@ -80,19 +71,15 @@ /* Target-dependent structure in gdbarch. */ struct gdbarch_tdep { - CORE_ADDR vm_min_address; /* used by heuristic_proc_start */ + CORE_ADDR vm_min_address; /* Used by alpha_heuristic_proc_start. */ /* If PC is inside a dynamically-generated signal trampoline function (i.e. one copied onto the user stack at run-time), return how many bytes PC is beyond the start of that function. Otherwise, return -1. */ LONGEST (*dynamic_sigtramp_offset) (CORE_ADDR); - /* If FRAME refers to a sigtramp frame, return the address of the next - frame. */ - CORE_ADDR (*skip_sigtramp_frame) (struct frame_info *, CORE_ADDR); - - /* Translate a signal handler frame into the address of the sigcontext - structure for that signal handler. */ + /* Translate a signal handler stack base address into the address of + the sigcontext structure for that signal handler. */ CORE_ADDR (*sigcontext_addr) (struct frame_info *); int jb_pc; /* Offset to PC value in jump buffer. @@ -101,6 +88,17 @@ struct gdbarch_tdep size_t jb_elt_size; /* And the size of each entry in the buf. */ }; -void alpha_software_single_step (enum target_signal, int); +extern unsigned int alpha_read_insn (CORE_ADDR pc); +extern void alpha_software_single_step (enum target_signal, int); +extern CORE_ADDR alpha_after_prologue (CORE_ADDR pc); + +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 */ |