2004-08-02 Andrew Cagney <cagney@gnu.org>

* gdbarch.sh (deprecated_frameless_function_invocation): Delete.
	* gdbarch.h, gdbarch.c: Re-generate.
	* arm-tdep.c 	(arm_frameless_function_invocation): Delete.
	(arm_gdbarch_init) Do not set frameless function invocation.
	* frame.h (legacy_frameless_look_for_prologue): Delete declaration.
	* blockframe.c (legacy_frameless_look_for_prologue): Delete function.
	* frv-tdep.c (frv_frameless_function_invocation): Delete.
	(frv_gdbarch_init): Do not set frameless function invocation.
	* sh64-tdep.c (sh64_gdbarch_init): Ditto.
	* sh-tdep.c (sh_gdbarch_init): Ditto.
	* m32r-tdep.c (m32r_gdbarch_init): Ditto.
	* h8300-tdep.c (h8300_gdbarch_init): Ditto.
	* avr-tdep.c (avr_gdbarch_init): Ditto.
This commit is contained in:
Andrew Cagney
2004-08-02 19:44:40 +00:00
parent 474093a64e
commit 48c2c0a6f3
13 changed files with 14 additions and 168 deletions

View File

@@ -135,44 +135,6 @@ inside_entry_func (struct frame_info *this_frame)
return (get_frame_func (this_frame) == entry_point_address ());
}
/* Return nonzero if the function for this frame lacks a prologue.
Many machines can define DEPRECATED_FRAMELESS_FUNCTION_INVOCATION
to just call this function. */
int
legacy_frameless_look_for_prologue (struct frame_info *frame)
{
CORE_ADDR func_start;
func_start = get_frame_func (frame);
if (func_start)
{
func_start += DEPRECATED_FUNCTION_START_OFFSET;
/* NOTE: cagney/2004-02-09: Eliminated per-architecture
PROLOGUE_FRAMELESS_P call as architectures with custom
implementations had all been deleted. Eventually even this
function can go - GDB no longer tries to differentiate
between framed, frameless and stackless functions. They are
all now considered equally evil :-^. */
/* If skipping the prologue ends up skips nothing, there must be
no prologue and hence no code creating a frame. There for
the function is "frameless" :-/. */
return func_start == SKIP_PROLOGUE (func_start);
}
else if (get_frame_pc (frame) == 0)
/* A frame with a zero PC is usually created by dereferencing a
NULL function pointer, normally causing an immediate core dump
of the inferior. Mark function as frameless, as the inferior
has no chance of setting up a stack frame. */
return 1;
else
/* If we can't find the start of the function, we don't really
know whether the function is frameless, but we should be able
to get a reasonable (i.e. best we can do under the
circumstances) backtrace by saying that it isn't. */
return 0;
}
/* Return the innermost lexical block in execution
in a specified stack frame. The frame address is assumed valid.