aboutsummaryrefslogtreecommitdiff
path: root/gdb
diff options
context:
space:
mode:
authorMark Kettenis <kettenis@gnu.org>2001-04-19 11:39:48 +0000
committerMark Kettenis <kettenis@gnu.org>2001-04-19 11:39:48 +0000
commit539ffe0b42135dbf2714c3bb836aad493c7081a3 (patch)
tree524f736053a0df22f73c3a5f91f8eddcb41d2dbb /gdb
parent653165cc0d1803bb11bfef2288778c85ac32bbe7 (diff)
downloadgdb-539ffe0b42135dbf2714c3bb836aad493c7081a3.zip
gdb-539ffe0b42135dbf2714c3bb836aad493c7081a3.tar.gz
gdb-539ffe0b42135dbf2714c3bb836aad493c7081a3.tar.bz2
* 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.
Diffstat (limited to 'gdb')
-rw-r--r--gdb/ChangeLog7
-rw-r--r--gdb/config/i386/tm-i386.h11
-rw-r--r--gdb/i386-tdep.c13
3 files changed, 26 insertions, 5 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 8f311d1..f3024e2 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 c4b64a5..8939d86 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 15b261c..7477266 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