diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 8f311d1316..f3024e22a4 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,10 @@ +2001-04-19 Mark Kettenis + + * 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 * top.c (gdb_init): Don't call cli_out_new() to diff --git a/gdb/config/i386/tm-i386.h b/gdb/config/i386/tm-i386.h index c4b64a547f..8939d86ca1 100644 --- a/gdb/config/i386/tm-i386.h +++ b/gdb/config/i386/tm-i386.h @@ -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. */ diff --git a/gdb/i386-tdep.c b/gdb/i386-tdep.c index 15b261ca47..7477266f43 100644 --- a/gdb/i386-tdep.c +++ b/gdb/i386-tdep.c @@ -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