Re: [Fwd: Re: tdep/1155: s/390 Linux: GDB can't reselect the right frame after an inferior function call]

Daniel Jacobowitz
2003-03-27T21:37:18Z

On Thu, Mar 27, 2003 at 04:32:42PM -0500, Andrew Cagney wrote:
> There are two ways of handling bugs:
>
> a. the bug remains open until every last possible [un]related issue is
> resolved
>
> b. the original bug, as filed, is closed, as soon as the original
> problem is resolved. If additional problems or enhancements are
> identified, they are recorded in new separate bug reports

The original bug, as filed, said:

<quote>
If you ask GDB to make an inferior function call when the youngest
frame is a frameless function, and the selected frame is the
second-to-youngest frame, then GDB will not properly re-select the
second-to-youngest frame when the inferior call returns.

On the S/390, if a function doesn't use alloca, then the compiler just
uses the stack pointer as the frame pointer. This means that GDB's
frame_info structures use the address of the low end of the frame as
the frame base, not the high end. (The S/390 stack grows downwards.)
So, if the youngest function call hasn't allocated any stack space,
then its frame base address is equal to that of its caller. This means
that frame_find_by_id is unable to distinguish between the two.
</quote>

In what way do you see this problem as resolved?

--
Daniel Jacobowitz
MontaVista Software Debian GNU/Linux Developer