From: Andrew Cagney <ac131313@redhat.com>
To: Mark Kettenis <kettenis@chello.nl>, mludvig@suse.cz
Cc: gdb-patches@sources.redhat.com
Subject: Re: [offbyone RFC] Merge i386newframe
Date: Fri, 14 Mar 2003 16:19:00 -0000 [thread overview]
Message-ID: <3E720120.9060302@redhat.com> (raw)
In-Reply-To: <3E71F9B4.5000504@redhat.com>
> If the previous frame's direction flag should have been reset then the register unwind code should have done that (wonder if dwarf2cfi is powerful enough to specify this).
>
> I felt that it is somehow different from a "saved" registers. But
> your phrasing makes me believe it's more correct to reset from the
> register unwind code.
>
> I don't think it is any different. For:
>
> (gdb) up
> Frame #1 foo()
> (gdb) info register psw
>
> to work correctly, the register unwind code will need to zap that bit. Otherwize GDB will mis-represent the value of the PSW in the calling frame.
>
> I think there is still going to be a problem in the CFI unwinder. The CFI spec as the `architectural' register unwind rule as a loop-hole. Something related to that may need to be added. Wonder if GCC even thought to generate it. Hmm, the throw/catch code must have done something ....
Thinking about this some more, a generic pop function won't work.
Consider the frames:
- sentinel
- normal
- sigtramp
- dummy
It's only when unwinding a normal frame that that PSW bit should be
zapped. For all the others the PSW value of the callee was hopefully
completly saved by the caller.
Andrew
next prev parent reply other threads:[~2003-03-14 16:19 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-03-12 22:06 Michal Ludvig
2003-03-12 22:42 ` Daniel Jacobowitz
2003-03-13 19:05 ` Andrew Cagney
2003-03-13 22:46 ` Mark Kettenis
2003-03-14 15:48 ` Andrew Cagney
2003-03-14 16:19 ` Andrew Cagney [this message]
2003-03-14 18:20 ` Andrew Cagney
2003-04-06 17:10 ` Andrew Cagney
2003-04-07 18:53 ` Mark Kettenis
2003-03-14 11:54 ` Michal Ludvig
2003-03-14 15:59 ` Andrew Cagney
2003-03-14 15:43 ` Michal Ludvig
2003-03-16 12:48 ` Mark Kettenis
2003-03-17 7:52 ` Michal Ludvig
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=3E720120.9060302@redhat.com \
--to=ac131313@redhat.com \
--cc=gdb-patches@sources.redhat.com \
--cc=kettenis@chello.nl \
--cc=mludvig@suse.cz \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox