aboutsummaryrefslogtreecommitdiff
path: root/gdb
diff options
context:
space:
mode:
authorJim Blandy <jimb@codesourcery.com>2000-03-16 23:53:35 +0000
committerJim Blandy <jimb@codesourcery.com>2000-03-16 23:53:35 +0000
commit17f9defb0b0670c472e58af60cfa96ba4c3eaafb (patch)
tree7a240610be44c4b00472db0247d66f85310190c7 /gdb
parenta37c8f88430e4afb9f8279e70b07e17c79cd8cce (diff)
downloadfsf-binutils-gdb-17f9defb0b0670c472e58af60cfa96ba4c3eaafb.zip
fsf-binutils-gdb-17f9defb0b0670c472e58af60cfa96ba4c3eaafb.tar.gz
fsf-binutils-gdb-17f9defb0b0670c472e58af60cfa96ba4c3eaafb.tar.bz2
* i386-linux-nat.c (i386_linux_saved_pc_after_call): Lost in the
merge; reinstated.
Diffstat (limited to 'gdb')
-rw-r--r--gdb/ChangeLog10
-rw-r--r--gdb/i386-linux-nat.c11
2 files changed, 17 insertions, 4 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 824a40e..7aefcdf 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,10 +1,11 @@
2000-03-16 Jim Blandy <jimb@redhat.com>
+ * i386-linux-nat.c (i386_linux_saved_pc_after_call): Lost in the
+ merge; reinstated.
+
* solib.c (current_sos): Be more careful about freeing the new
so_list node if an error occurs.
-2000-03-16 Jim Blandy <jimb@redhat.com>
-
* i386-tdep.c (LINUX_SIGTRAMP_INSN0, LINUX_SIGTRAMP_OFFSET0,
LINUX_SIGTRAMP_INSN1, LINUX_SIGTRAMP_OFFSET1,
LINUX_SIGTRAMP_INSN2, LINUX_SIGTRAMP_OFFSET2, linux_sigtramp_code,
@@ -15,8 +16,9 @@
i386_linux_rt_sigtramp_start, i386_linux_in_sigtramp,
i386_linux_sigcontext_addr, LINUX_SIGCONTEXT_PC_OFFSET,
i386_linux_sigtramp_saved_pc, LINUX_SIGCONTEXT_SP_OFFSET,
- i386_linux_sigtramp_saved_sp): Deleted. These all implement
- Linux-specific signal trampoline detection, and should be moved to...
+ i386_linux_sigtramp_saved_sp): Deleted. These all implement
+ Linux-specific signal trampoline detection, and should be moved
+ to...
* i386-linux-nat.c: ... here.
* config/i386/tm-linux.h (I386_LINUX_SIGTRAMP): No need to define
this any more, since we're not enabling OS-specific code in a
diff --git a/gdb/i386-linux-nat.c b/gdb/i386-linux-nat.c
index d5350dc..bf5e821 100644
--- a/gdb/i386-linux-nat.c
+++ b/gdb/i386-linux-nat.c
@@ -1289,6 +1289,17 @@ i386_linux_sigtramp_saved_sp (struct frame_info *frame)
return read_memory_integer (addr + LINUX_SIGCONTEXT_SP_OFFSET, 4);
}
+/* Immediately after a function call, return the saved pc. */
+
+CORE_ADDR
+i386_linux_saved_pc_after_call (struct frame_info *frame)
+{
+ if (frame->signal_handler_caller)
+ return i386_linux_sigtramp_saved_pc (frame);
+
+ return read_memory_integer (read_register (SP_REGNUM), 4);
+}
+
/* Register that we are able to handle Linux ELF core file formats. */