This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
Re: ppc_linux_init_extra_frame_info
On Feb 21, 11:59am, Andrew Cagney wrote:
> ac131313 at lulu$ frep deprecated_set_frame_type
> frame.c:1388:deprecated_set_frame_type (struct frame_info *frame, enum
> frame_type type)
> frame.h:251:extern void deprecated_set_frame_type (struct frame_info *,
> i386-interix-tdep.c:166: deprecated_set_frame_type (frame,
> SIGTRAMP_FRAME);
> i386-interix-tdep.c:174: deprecated_set_frame_type (frame,
> SIGTRAMP_FRAME);
> ppc-linux-tdep.c:376: deprecated_set_frame_type (fi, SIGTRAMP_FRAME);
> ppc-linux-tdep.c:380: deprecated_set_frame_type (fi, NORMAL_FRAME);
> rs6000-tdep.c:181: deprecated_set_frame_type (fi, SIGTRAMP_FRAME);
>
> (Joel, I'm going to ignore interix :-/)
>
> So it's solely PPC GNU/Linux that is the cause of all the problems. An
And AIX (from rs6000-tdep.c).
> addition to the comment;
>
> /* FIXME: cagney/2002-11-18: Should be setting the frame's type
> here, before anything else, and not last. Various INIT functions
> are full of work-arounds for the frames type not being set
> correctly from the word go. Ulgh! */
> prev->type = NORMAL_FRAME;
>
> is that, for legacy targets, you don't know at this point what the PC is.
>
> Why not also modify the nasty ppc-linux hack to read:
>
> if (get_frame_type () == NORMAL)
> if (pc in sigtramp)
> deprecated set frame type ()
That's okay with me.
Kevin