diff options
author | Mark Kettenis <kettenis@gnu.org> | 2001-04-19 11:39:48 +0000 |
---|---|---|
committer | Mark Kettenis <kettenis@gnu.org> | 2001-04-19 11:39:48 +0000 |
commit | 09e840f742809a33e51647dc6808b31856d2d067 (patch) | |
tree | babce0e312c33a0fd84275ff89a5e55272bbb13e | |
parent | 15a0f66bc3381b9064f4b441d61e3189b514adce (diff) | |
download | gdb-09e840f742809a33e51647dc6808b31856d2d067.tar.gz |
* 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.
-rw-r--r-- | gdb/ChangeLog | 7 | ||||
-rw-r--r-- | gdb/config/i386/tm-i386.h | 11 | ||||
-rw-r--r-- | gdb/i386-tdep.c | 13 |
3 files changed, 26 insertions, 5 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 8f311d13162..f3024e22a4e 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -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 diff --git a/gdb/config/i386/tm-i386.h b/gdb/config/i386/tm-i386.h index c4b64a547f2..8939d86ca1c 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 15b261ca474..7477266f433 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 |