aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Snyder <msnyder@vmware.com>2002-08-20 19:41:59 +0000
committerMichael Snyder <msnyder@vmware.com>2002-08-20 19:41:59 +0000
commitb5d1566e1b317bce29393fbbce55cae87abf3805 (patch)
treee4457e1a9efef3c7cae3d3a9ceeab5ea4d4e96f7
parent73da396e0b7433c2b207da2204d0a1a6785df5e1 (diff)
downloadgdb-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/ChangeLog11
-rw-r--r--gdb/config/mips/tm-mips.h40
-rw-r--r--gdb/config/mips/tm-mipsv4.h3
-rw-r--r--gdb/mips-tdep.c18
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);