This is the mail archive of the
gdb-prs@sources.redhat.com
mailing list for the GDB project.
Re: tdep/1155: s/390 Linux: GDB can't reselect the right frame after an inferior function call
- From: Jim Blandy <jimb at redhat dot com>
- To: cagney at redhat dot com
- Cc: gdb-prs at sources dot redhat dot com,
- Date: 28 Mar 2003 15:38:01 -0000
- Subject: Re: tdep/1155: s/390 Linux: GDB can't reselect the right frame after an inferior function call
- Reply-to: Jim Blandy <jimb at redhat dot com>
The following reply was made to PR tdep/1155; it has been noted by GNATS.
From: Jim Blandy <jimb at redhat dot com>
To: Andrew Cagney <ac131313 at redhat dot com>
Cc: gdb-gnats at sources dot redhat dot com
Subject: Re: tdep/1155: s/390 Linux: GDB can't reselect the right frame after an inferior function call
Date: 28 Mar 2003 10:33:46 -0500
Andrew Cagney <ac131313 at redhat dot com> writes:
> I still don't think this is the `dooms day senario' that those
> comments elude to. If it was, we'd have seen it long ago.
>
> Does your struct frame_id . base (a.k.a., stack_addr, nee
> frame->frame) point at the outer most address of a stack frame?
Yes --- the ID base does point at the outermost address on the S/390.
I was thinking about switching it to the innermost address, which
would distinguish the frames in this case, but that was going to take
some time for me to figure out, so thought I should report the bug in
some form until that was resolved.
The comments in frame_id_eq indicate that it's supposed to be
comparing the pc's, too, but the code just hasn't been written yet.
If that code were written, then this problem would go away:
frame_find_by_id is already written to check all the frames that
aren't too far in, so it'll check all frames with identical bases for
one whose function matches. That is the solution I was hoping to see.
> See dwarf2's cfi's definition of CFA, and this patch:
> http://sources.redhat.com/ml/gdb-patches/2003-03/msg00523.html
Yeah --- I remember you pointing out that the two values are distinct
a while back. The change looks like a good thing to me; I'll have to
wait until next week to read it over more thoroughly, though.