* i386-tdep.c (i386_frameless_function_invocation): New function.

* config/i386/tm-i386.h (FRAMELESS_FUNCTION_INVOCATION): Redefine
in terms of i386_frameless_function_invocation.  Adjust comment.
(i386_frameless_function_invocation): New prototype.
This commit is contained in:
Mark Kettenis 2001-04-19 11:39:48 +00:00
parent 653165cc0d
commit 539ffe0b42
3 changed files with 26 additions and 5 deletions

View File

@ -1,3 +1,10 @@
2001-04-19 Mark Kettenis <kettenis@gnu.org>
* i386-tdep.c (i386_frameless_function_invocation): New function.
* config/i386/tm-i386.h (FRAMELESS_FUNCTION_INVOCATION): Redefine
in terms of i386_frameless_function_invocation. Adjust comment.
(i386_frameless_function_invocation): New prototype.
2001-04-18 Martin M. Hunt <hunt@redhat.com>
* top.c (gdb_init): Don't call cli_out_new() to

View File

@ -328,12 +328,13 @@ extern CORE_ADDR i386_extract_struct_value_address (char *regbuf);
#define FRAME_CHAIN(frame) i386_frame_chain ((frame))
extern CORE_ADDR i386_frame_chain (struct frame_info *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. */
/* Determine whether the function invocation represented by FRAME does
not have a from on the stack associated with it. If it does not,
return non-zero, otherwise return zero. */
#define FRAMELESS_FUNCTION_INVOCATION(FI) \
(((FI)->signal_handler_caller) ? 0 : frameless_look_for_prologue(FI))
#define FRAMELESS_FUNCTION_INVOCATION(frame) \
i386_frameless_function_invocation (frame)
extern int i386_frameless_function_invocation (struct frame_info *frame);
/* Saved Pc. Get it from sigcontext if within sigtramp. */

View File

@ -365,6 +365,19 @@ i386_frame_chain (struct frame_info *frame)
return 0;
}
/* Determine whether the function invocation represented by FRAME does
not have a from on the stack associated with it. If it does not,
return non-zero, otherwise return zero. */
int
i386_frameless_function_invocation (struct frame_info *frame)
{
if (frame->signal_handler_caller)
return 0;
return frameless_look_for_prologue (frame);
}
/* Immediately after a function call, return the saved pc. */
CORE_ADDR