2002-11-18 Andrew Cagney <ac131313@redhat.com>
* frame.h (enum frame_type): Define. (get_frame_type): Declare. (struct frame_info): Add field `type'. Delete field signal_handler_caller. (deprecated_set_frame_signal_handler_caller): Declare. * frame.c (get_frame_type): New function. (deprecated_set_frame_type): New function. (create_new_frame): Set the frame's type. (get_prev_frame): Similar. * sparc-tdep.c: Use get_frame_type instead of signal_handler_caller. * s390-tdep.c: Ditto. * m68klinux-nat.c: Ditto. * ns32k-tdep.c: Ditto. * x86-64-linux-tdep.c: Ditto. * vax-tdep.c: Ditto. * rs6000-tdep.c: Ditto. * ppc-linux-tdep.c: Ditto. * i386-interix-tdep.c: Ditto. * mips-tdep.c: Ditto. * m68k-tdep.c: Ditto. * hppa-tdep.c: Ditto. * ia64-tdep.c: Ditto. * cris-tdep.c: Ditto. * arm-tdep.c: Ditto. * alpha-tdep.c: Ditto. * i386-tdep.c: Ditto. * stack.c: Ditto. * ada-lang.c: Ditto. * blockframe.c: Update. * i386-interix-tdep.c (i386_interix_back_one_frame): Use deprecated_set_frame_type instead of signal_handler_caller. * ppc-linux-tdep.c (ppc_linux_init_extra_frame_info): Ditto. * rs6000-tdep.c (rs6000_init_extra_frame_info): Ditto. * breakpoint.h: Delete FIXME suggesting get_frame_type. Index: tui/ChangeLog 2002-11-18 Andrew Cagney <ac131313@redhat.com> * tuiStack.c (tuiShowFrameInfo): Use get_frame_type instead of signal_handler_caller.
This commit is contained in:
parent
bf4ae8b20c
commit
5a203e4405
26 changed files with 286 additions and 133 deletions
16
gdb/stack.c
16
gdb/stack.c
|
@ -367,7 +367,7 @@ print_frame_info_base (struct frame_info *fi, int level, int source, int args)
|
|||
annotate_frame_end ();
|
||||
return;
|
||||
}
|
||||
if (fi->signal_handler_caller)
|
||||
if ((get_frame_type (fi) == SIGTRAMP_FRAME))
|
||||
{
|
||||
annotate_frame_begin (level == -1 ? 0 : level, fi->pc);
|
||||
|
||||
|
@ -385,15 +385,15 @@ print_frame_info_base (struct frame_info *fi, int level, int source, int args)
|
|||
}
|
||||
|
||||
/* If fi is not the innermost frame, that normally means that fi->pc
|
||||
points to *after* the call instruction, and we want to get the line
|
||||
containing the call, never the next line. But if the next frame is
|
||||
a signal_handler_caller or a dummy frame, then the next frame was
|
||||
not entered as the result of a call, and we want to get the line
|
||||
containing fi->pc. */
|
||||
points to *after* the call instruction, and we want to get the
|
||||
line containing the call, never the next line. But if the next
|
||||
frame is a SIGTRAMP_FRAME or a DUMMY_FRAME, then the next frame
|
||||
was not entered as the result of a call, and we want to get the
|
||||
line containing fi->pc. */
|
||||
sal =
|
||||
find_pc_line (fi->pc,
|
||||
fi->next != NULL
|
||||
&& !fi->next->signal_handler_caller
|
||||
&& !(get_frame_type (fi->next) == SIGTRAMP_FRAME)
|
||||
&& !deprecated_frame_in_dummy (fi->next));
|
||||
|
||||
location_print = (source == LOCATION
|
||||
|
@ -793,7 +793,7 @@ frame_info (char *addr_exp, int from_tty)
|
|||
|
||||
sal = find_pc_line (fi->pc,
|
||||
fi->next != NULL
|
||||
&& !fi->next->signal_handler_caller
|
||||
&& !(get_frame_type (fi->next) == SIGTRAMP_FRAME)
|
||||
&& !deprecated_frame_in_dummy (fi->next));
|
||||
func = get_frame_function (fi);
|
||||
s = find_pc_symtab (fi->pc);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue