From b5d1566e1b317bce29393fbbce55cae87abf3805 Mon Sep 17 00:00:00 2001 From: Michael Snyder Date: Tue, 20 Aug 2002 19:41:59 +0000 Subject: [PATCH] 2002-08-19 Michael Snyder * mips-tdep.c (mips_frame_num_args): New function. (mips_gdbarch_init): Set frame_chain, frameless_function_invocation, frame_saved_pc, frame_args_address, frame_locals_address, frame_num_args, and frame_args_skip. * config/mips/tm-mips.h (FRAME_CHAIN, FRAMELESS_FUNCTION_INVOCATION, FRAME_SAVED_PC, FRAME_ARGS_ADDRESS, FRAME_LOCALS_ADDRESS, FRAME_NUM_ARGS, FRAME_ARGS_SKIP): Delete. * config/mips/tm-mipsv4.h (FRAME_CHAIN_VALID): Delete. --- gdb/ChangeLog | 11 ++++++++++ gdb/config/mips/tm-mips.h | 40 ------------------------------------- gdb/config/mips/tm-mipsv4.h | 3 --- gdb/mips-tdep.c | 18 ++++++++--------- 4 files changed, 20 insertions(+), 52 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 9accf146e2c..cc203e004e5 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,14 @@ +2002-08-19 Michael Snyder + + * mips-tdep.c (mips_frame_num_args): New function. + (mips_gdbarch_init): Set frame_chain, frameless_function_invocation, + frame_saved_pc, frame_args_address, frame_locals_address, + frame_num_args, and frame_args_skip. + * config/mips/tm-mips.h (FRAME_CHAIN, FRAMELESS_FUNCTION_INVOCATION, + FRAME_SAVED_PC, FRAME_ARGS_ADDRESS, FRAME_LOCALS_ADDRESS, + FRAME_NUM_ARGS, FRAME_ARGS_SKIP): Delete. + * config/mips/tm-mipsv4.h (FRAME_CHAIN_VALID): Delete. + 2002-08-20 Michael Snyder * config/mips/tm-mips.h (STORE_STRUCT_RETURN): Delete. diff --git a/gdb/config/mips/tm-mips.h b/gdb/config/mips/tm-mips.h index 7ace4dc28e5..1d16abedc8b 100644 --- a/gdb/config/mips/tm-mips.h +++ b/gdb/config/mips/tm-mips.h @@ -171,46 +171,6 @@ extern void mips_register_convert_from_type (int regnum, mips_register_convert_from_type ((n), (type), (buffer)) -/* Describe the pointer in each stack frame to the previous stack frame - (its caller). */ - -/* FRAME_CHAIN takes a frame's nominal address - and produces the frame's chain-pointer. */ - -#define FRAME_CHAIN(thisframe) (CORE_ADDR) mips_frame_chain (thisframe) -extern CORE_ADDR mips_frame_chain (struct frame_info *); - -/* Define other aspects of the stack frame. */ - - -/* A macro that tells us whether the function invocation represented - by FI does not have a frame on the stack associated with it. If it - does not, FRAMELESS is set to 1, else 0. */ -/* We handle this differently for mips, and maybe we should not */ - -#define FRAMELESS_FUNCTION_INVOCATION(FI) (0) - -/* Saved Pc. */ - -#define FRAME_SAVED_PC(FRAME) (mips_frame_saved_pc(FRAME)) -extern CORE_ADDR mips_frame_saved_pc (struct frame_info *); - -#define FRAME_ARGS_ADDRESS(fi) (fi)->frame - -#define FRAME_LOCALS_ADDRESS(fi) (fi)->frame - -/* Return number of args passed to a frame. - Can return -1, meaning no way to tell. */ - -#define FRAME_NUM_ARGS(fi) (mips_frame_num_args(fi)) -extern int mips_frame_num_args (struct frame_info *); - -/* Return number of bytes at start of arglist that are not really args. */ - -#define FRAME_ARGS_SKIP 0 - - - /* Things needed for making the inferior call functions. */ /* Stack must be aligned on 32-bit boundaries when synthesizing diff --git a/gdb/config/mips/tm-mipsv4.h b/gdb/config/mips/tm-mipsv4.h index 3a362f05a3a..ebf671bd54a 100644 --- a/gdb/config/mips/tm-mipsv4.h +++ b/gdb/config/mips/tm-mipsv4.h @@ -33,8 +33,5 @@ #define SIGFRAME_PC_OFF (SIGFRAME_BASE + 40 + 35 * 4) #define SIGFRAME_FPREGSAVE_OFF (SIGFRAME_BASE + 40 + 36 * 4) -/* Use the alternate method of determining valid frame chains. */ -#define FRAME_CHAIN_VALID(fp,fi) func_frame_chain_valid (fp, fi) - /* Convert a DWARF register number to a gdb REGNUM. */ #define DWARF_REG_TO_REGNUM(num) ((num) < 32 ? (num) : (num)+FP0_REGNUM-32) diff --git a/gdb/mips-tdep.c b/gdb/mips-tdep.c index 6308e4f735d..6a36dd8e1fe 100644 --- a/gdb/mips-tdep.c +++ b/gdb/mips-tdep.c @@ -4143,15 +4143,6 @@ mips_do_registers_info (int regnum, int fpregs) } } -/* Return number of args passed to a frame. described by FIP. - Can return -1, meaning no way to tell. */ - -int -mips_frame_num_args (struct frame_info *frame) -{ - return -1; -} - /* Is this a branch with a delay slot? */ static int is_delayed (unsigned long); @@ -5922,7 +5913,16 @@ mips_gdbarch_init (struct gdbarch_info info, set_gdbarch_coerce_float_to_double (gdbarch, mips_coerce_float_to_double); + set_gdbarch_frame_chain (gdbarch, mips_frame_chain); set_gdbarch_frame_chain_valid (gdbarch, func_frame_chain_valid); + set_gdbarch_frameless_function_invocation (gdbarch, + generic_frameless_function_invocation_not); + set_gdbarch_frame_saved_pc (gdbarch, mips_frame_saved_pc); + set_gdbarch_frame_args_address (gdbarch, default_frame_address); + set_gdbarch_frame_locals_address (gdbarch, default_frame_address); + set_gdbarch_frame_num_args (gdbarch, frame_num_args_unknown); + set_gdbarch_frame_args_skip (gdbarch, 0); + set_gdbarch_get_saved_register (gdbarch, mips_get_saved_register); set_gdbarch_inner_than (gdbarch, core_addr_lessthan); -- 2.30.2