* alpha-tdep.c (alpha_setup_arbitrary_frame): Delete.
* config/alpha/tm-alpha.h (SETUP_ARBITRARY_FRAME): Delete.
(alpha_setup_arbitrary_frame): Delete.
* mips-tdep.c (setup_arbitrary_frame): Delete.
* config/mips/tm-mips.h (SETUP_ARBITRARY_FRAME): Delete.
(setup_arbitrary_frame): Delete.
* stack.c (parse_frame_specification_1): When specified, call
create_new_frame with two parameters. Delete #ifdef
SETUP_ARBITRARY_FRAME.
2004-10-30 Andrew Cagney <cagney@gnu.org>
+ * alpha-tdep.c (alpha_setup_arbitrary_frame): Delete.
+ * config/alpha/tm-alpha.h (SETUP_ARBITRARY_FRAME): Delete.
+ (alpha_setup_arbitrary_frame): Delete.
+ * mips-tdep.c (setup_arbitrary_frame): Delete.
+ * config/mips/tm-mips.h (SETUP_ARBITRARY_FRAME): Delete.
+ (setup_arbitrary_frame): Delete.
+ * stack.c (parse_frame_specification_1): When specified, call
+ create_new_frame with two parameters. Delete #ifdef
+ SETUP_ARBITRARY_FRAME.
+
* config/mips/tm-mips.h (MIPS16_INSTLEN, MIPS_NUMREGS)
(MIPS_INSTLEN): Delete.
* mips-tdep.h (enum mips_insn_size): Rename MIPS32_INSN_SIZE and
}
\f
-/* ALPHA stack frames are almost impenetrable. When execution stops,
- we basically have to look at symbol information for the function
- that we stopped in, which tells us *which* register (if any) is
- the base of the frame pointer, and what offset from that register
- the frame itself is at.
-
- This presents a problem when trying to examine a stack in memory
- (that isn't executing at the moment), using the "frame" command. We
- don't have a PC, nor do we have any registers except SP.
-
- This routine takes two arguments, SP and PC, and tries to make the
- cached frames look as if these two arguments defined a frame on the
- cache. This allows the rest of info frame to extract the important
- arguments without difficulty. */
-
-struct frame_info *
-alpha_setup_arbitrary_frame (int argc, CORE_ADDR *argv)
-{
- if (argc != 2)
- error ("ALPHA frame specifications require two arguments: sp and pc");
-
- return create_new_frame (argv[0], argv[1]);
-}
-
/* Assuming NEXT_FRAME->prev is a dummy, return the frame ID of that
dummy frame. The frame ID's base needs to match the TOS value
saved by save_dummy_frame_tos(), and the PC match the dummy frame's
#define mips_extra_func_info alpha_extra_func_info
#define mips_extra_func_info_t alpha_extra_func_info_t
-/* It takes two values to specify a frame on the ALPHA. Sigh.
-
- In fact, at the moment, the *PC* is the primary value that sets up
- a frame. The PC is looked up to see what function it's in; symbol
- information from that function tells us which register is the frame
- pointer base, and what offset from there is the "virtual frame pointer".
- (This is usually an offset from SP.) FIXME -- this should be cleaned
- up so that the primary value is the SP, and the PC is used to disambiguate
- multiple functions with the same SP that are at different stack levels. */
-
-#define SETUP_ARBITRARY_FRAME(argc, argv) \
- alpha_setup_arbitrary_frame (argc, argv)
-extern struct frame_info *alpha_setup_arbitrary_frame (int, CORE_ADDR *);
-
#endif /* TM_ALPHA_H */
}
*mips_extra_func_info_t;
-/* It takes two values to specify a frame on the MIPS.
-
- In fact, the *PC* is the primary value that sets up a frame. The
- PC is looked up to see what function it's in; symbol information
- from that function tells us which register is the frame pointer
- base, and what offset from there is the "virtual frame pointer".
- (This is usually an offset from SP.) On most non-MIPS machines,
- the primary value is the SP, and the PC, if needed, disambiguates
- multiple functions with the same SP. But on the MIPS we can't do
- that since the PC is not stored in the same part of the frame every
- time. This does not seem to be a very clever way to set up frames,
- but there is nothing we can do about that. */
-
-#define SETUP_ARBITRARY_FRAME(argc, argv) setup_arbitrary_frame (argc, argv)
-extern struct frame_info *setup_arbitrary_frame (int, CORE_ADDR *);
-
/* Functions for dealing with MIPS16 call and return stubs. */
#define DEPRECATED_IGNORE_HELPER_CALL(pc) mips_ignore_helper (pc)
extern int mips_ignore_helper (CORE_ADDR pc);
char *contents;
};
-/* MIPS stack frames are almost impenetrable. When execution stops,
- we basically have to look at symbol information for the function
- that we stopped in, which tells us *which* register (if any) is
- the base of the frame pointer, and what offset from that register
- the frame itself is at.
-
- This presents a problem when trying to examine a stack in memory
- (that isn't executing at the moment), using the "frame" command. We
- don't have a PC, nor do we have any registers except SP.
-
- This routine takes two arguments, SP and PC, and tries to make the
- cached frames look as if these two arguments defined a frame on the
- cache. This allows the rest of info frame to extract the important
- arguments without difficulty. */
-
-struct frame_info *
-setup_arbitrary_frame (int argc, CORE_ADDR *argv)
-{
- if (argc != 2)
- error ("MIPS frame specifications require two arguments: sp and pc");
-
- return create_new_frame (argv[0], argv[1]);
-}
-
/* According to the current ABI, should the type be passed in a
floating-point register (assuming that there is space)? When there
is no FPU, FP are not even considered as possibile candidates for
/* We couldn't identify the frame as an existing frame, but
perhaps we can create one with a single argument. */
-#ifdef SETUP_ARBITRARY_FRAME
- return SETUP_ARBITRARY_FRAME (numargs, addrs);
-#else
- /* Usual case. Do it here rather than have everyone supply a
- SETUP_ARBITRARY_FRAME that does this. */
if (numargs == 1)
return create_new_frame (addrs[0], 0);
- error ("Too many args in frame specification");
-#endif
+ else if (numargs == 2)
+ return create_new_frame (addrs[0], addrs[1]);
+ else
+ error ("Too many args in frame specification");
}
struct frame_info *