2002-08-19 Michael Snyder <msnyder@redhat.com>
authorMichael Snyder <msnyder@vmware.com>
Tue, 20 Aug 2002 19:41:59 +0000 (19:41 +0000)
committerMichael Snyder <msnyder@vmware.com>
Tue, 20 Aug 2002 19:41:59 +0000 (19:41 +0000)
* 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
gdb/config/mips/tm-mips.h
gdb/config/mips/tm-mipsv4.h
gdb/mips-tdep.c

index 9accf146e2cb9008b0d77a15050348350d5a2374..cc203e004e5a9695057d0ed1d30e090577fe9fec 100644 (file)
@@ -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.
index 7ace4dc28e540577abd5460757a481429ebf494e..1d16abedc8bdc8bfd0ba2e3de044d408028fc643 100644 (file)
@@ -171,46 +171,6 @@ extern void mips_register_convert_from_type (int regnum,
   mips_register_convert_from_type ((n), (type), (buffer))
 
 \f
-/* 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
-
-\f
-
 /* Things needed for making the inferior call functions.  */
 
 /* Stack must be aligned on 32-bit boundaries when synthesizing
index 3a362f05a3a626988e4d0e6c6cacca7a7b04314b..ebf671bd54ae8731f5222bc886a7ea08c24c2201 100644 (file)
@@ -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)
index 6308e4f735db678af64c87f80e6f71d03f0db2d9..6a36dd8e1feef035bd2cdd1210993b7a456f775f 100644 (file)
@@ -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);