aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog3
-rw-r--r--gdb/i386bsd-tdep.c6
2 files changed, 7 insertions, 2 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 5a10939..d6de92e 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,8 @@
2003-03-02 Mark Kettenis <kettenis@gnu.org>
+ * i386bsd-tdep.c (i386bsd_sigcontext_addr): Use get_next_frame and
+ get_frame_base.
+
* i386-tdep.c (i386_pe_skip_trampoline_code): Replace usage of
DEPRECATED_SYMBOL_NAME with SYMBOL_LINKAGE_NAME.
diff --git a/gdb/i386bsd-tdep.c b/gdb/i386bsd-tdep.c
index af30df1..c0c544d 100644
--- a/gdb/i386bsd-tdep.c
+++ b/gdb/i386bsd-tdep.c
@@ -50,11 +50,13 @@ i386bsd_pc_in_sigtramp (CORE_ADDR pc, char *name)
CORE_ADDR
i386bsd_sigcontext_addr (struct frame_info *frame)
{
- if (frame->next)
+ struct frame_info *next_frame = get_next_frame (frame);
+
+ if (next_frame)
/* If this isn't the top frame, the next frame must be for the
signal handler itself. A pointer to the sigcontext structure
is passed as the third argument to the signal handler. */
- return read_memory_unsigned_integer (frame->next->frame + 16, 4);
+ return read_memory_unsigned_integer (get_frame_base (next_frame) + 16, 4);
/* This is the top frame. We'll have to find the address of the
sigcontext structure by looking at the stack pointer. */