Re: Unwinding dummy frames on the i386

Mark Kettenis
2003-03-08T11:42:19Z

Date: Fri, 07 Mar 2003 17:13:24 -0500
From: Andrew Cagney <ac131313@redhat.com>

> For now I've worked around this by having my own do-nothing
> i386_save_dummy_frame_tos(), and having i386_unwind_dummy_id() return
> contents of the (saved) frame pointer register for the frame's base.
> Is there a better way to solve this?

Can i386_save_dummy_frame_tos() save the `frame pointer register' that
the unwind_dummy_id() method later returns?

If reading the current value of FP_REGNUM from current_regcache is OK
the answer is yes. Hmm, in that case it's probably an even better
idea to actually set the frame pointer register to the top-of-stack in
i386_save_dummy_frame_tos(). That way, we won't have a problem when
there are several frameless function calls in a row. Is writing into
current_regcache acceptable?

While the TOS in save_dummy_frame_tos() might have once stood for
top-of-stack, there isn't anything saying that it has to be the stack
top. A better name for tha functioin's successor would be
save_dummy_frame_id()

Agreed.

Mark