* blockframe.c (get_frame_block): Do not adjust pc if the frame

function was interrupted by a signal.
This commit is contained in:
Peter Schauer 1993-10-08 09:54:32 +00:00
parent bb959d0ab9
commit 747a632937
2 changed files with 14 additions and 8 deletions

View File

@ -1,3 +1,8 @@
Fri Oct 8 02:34:21 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
* blockframe.c (get_frame_block): Do not adjust pc if the frame
function was interrupted by a signal.
Thu Oct 7 19:20:11 1993 Jim Kingdon (kingdon@lioth.cygnus.com)
* config/h8300/tm-h8300.h: Don't define sr_get_debug.
@ -50,7 +55,7 @@ Thu Oct 7 06:22:43 1993 Jim Kingdon (kingdon@lioth.cygnus.com)
* config/sparc/sun4os4.mh: Add comment saying why we don't use
-lresolv.
Thu Oct 07 09:29:11 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
Thu Oct 7 09:29:11 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
* breakpoint.c, breakpoint.h (breakpoint_init_inferior): New function
that clears the `inserted' flag for all breakpoints and deletes
@ -62,7 +67,7 @@ Thu Oct 07 09:29:11 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
uses it in a completely different context.
* breakpoint.c (breakpoint_re_set_one): Add bp_call_dummy case.
Thu Oct 07 09:29:11 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
Thu Oct 7 09:29:11 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
* Makefile.in (REGEX, REGEX1): Always use our own version of
regex.c to be consistent across hosts.

View File

@ -446,12 +446,13 @@ get_frame_block (frame)
fi = get_frame_info (frame);
pc = fi->pc;
if (fi->next != 0)
/* We are not in the innermost frame. We need to subtract one to
get the correct block, in case the call instruction was the
last instruction of the block. If there are any machines on
which the saved pc does not point to after the call insn, we
probably want to make fi->pc point after the call insn anyway. */
if (fi->next != 0 && fi->next->signal_handler_caller == 0)
/* We are not in the innermost frame and we were not interrupted
by a signal. We need to subtract one to get the correct block,
in case the call instruction was the last instruction of the block.
If there are any machines on which the saved pc does not point to
after the call insn, we probably want to make fi->pc point after
the call insn anyway. */
--pc;
return block_for_pc (pc);
}