forked from Imagelibrary/binutils-gdb
2004-03-22 Andrew Cagney <cagney@redhat.com>
* frame.h (deprecated_pc_in_call_dummy): Rename generic_pc_in_call_dummy. * dummy-frame.h (pc_in_dummy_frame): Delete declaration. * dummy-frame.c (deprecated_pc_in_call_dummy): Rename generic_pc_in_call_dummy. (pc_in_dummy_frame): Make static. * gdbarch.sh (DEPRECATED_PC_IN_CALL_DUMMY): Update. * gdbarch.h, gdbarch.c: Re-generate. * dummy-frame.c (dummy_frame_sniffer): Simplify. * frame.c (frame_type_from_pc): Call deprecated_pc_in_call_dummy. (legacy_get_prev_frame): Ditto. * inferior.h: Delete reference to generic_pc_in_call_dummy in comment.
This commit is contained in:
@@ -50,31 +50,6 @@ struct frame_id;
|
||||
|
||||
extern const struct frame_unwind *dummy_frame_sniffer (struct frame_info *next_frame);
|
||||
|
||||
/* Does the PC fall in a dummy frame?
|
||||
|
||||
This function is used by "frame.c" when creating a new `struct
|
||||
frame_info'.
|
||||
|
||||
Note that there is also very similar code in breakpoint.c (where
|
||||
the bpstat stop reason is computed). It is looking for a PC
|
||||
falling on a dummy_frame breakpoint. Perhaphs this, and that code
|
||||
should be combined?
|
||||
|
||||
Architecture dependant code, that has access to a frame, should not
|
||||
use this function. Instead (get_frame_type() == DUMMY_FRAME)
|
||||
should be used.
|
||||
|
||||
Hmm, but what about threads? When the dummy-frame code tries to
|
||||
relocate a dummy frame's saved registers it definitly needs to
|
||||
differentiate between threads (otherwize it will do things like
|
||||
clean-up the wrong threads frames). However, when just trying to
|
||||
identify a dummy-frame that shouldn't matter. The wost that can
|
||||
happen is that a thread is marked as sitting in a dummy frame when,
|
||||
in reality, its corrupted its stack, to the point that a PC is
|
||||
pointing into a dummy frame. */
|
||||
|
||||
extern int pc_in_dummy_frame (CORE_ADDR pc);
|
||||
|
||||
/* Return the regcache that belongs to the dummy-frame identifed by PC
|
||||
and FP, or NULL if no such frame exists. */
|
||||
/* FIXME: cagney/2002-11-08: The function only exists because of
|
||||
|
||||
Reference in New Issue
Block a user