diff options
author | Michael Snyder <msnyder@vmware.com> | 2002-08-20 19:41:59 +0000 |
---|---|---|
committer | Michael Snyder <msnyder@vmware.com> | 2002-08-20 19:41:59 +0000 |
commit | b5d1566e1b317bce29393fbbce55cae87abf3805 (patch) | |
tree | e4457e1a9efef3c7cae3d3a9ceeab5ea4d4e96f7 | |
parent | 73da396e0b7433c2b207da2204d0a1a6785df5e1 (diff) | |
download | gdb-b5d1566e1b317bce29393fbbce55cae87abf3805.zip gdb-b5d1566e1b317bce29393fbbce55cae87abf3805.tar.gz gdb-b5d1566e1b317bce29393fbbce55cae87abf3805.tar.bz2 |
2002-08-19 Michael Snyder <msnyder@redhat.com>
* 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.
-rw-r--r-- | gdb/ChangeLog | 11 | ||||
-rw-r--r-- | gdb/config/mips/tm-mips.h | 40 | ||||
-rw-r--r-- | gdb/config/mips/tm-mipsv4.h | 3 | ||||
-rw-r--r-- | gdb/mips-tdep.c | 18 |
4 files changed, 20 insertions, 52 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 9accf14..cc203e0 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,14 @@ +2002-08-19 Michael Snyder <msnyder@redhat.com> + + * 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 <msnyder@redhat.com> * 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 7ace4dc..1d16abe 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 3a362f0..ebf671b 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 6308e4f..6a36dd8 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); |