Mirror of the gdb mailing list
 help / color / mirror / Atom feed
From: Aleksandar Ristovski <aristovski@qnx.com>
To: Daniel Jacobowitz <drow@false.org>
Cc: gdb@sourceware.org
Subject: Re: Frame lost after 'leave' and before 'ret' instruction on i386?
Date: Fri, 16 May 2008 16:02:00 -0000	[thread overview]
Message-ID: <482DB015.2020801@qnx.com> (raw)
In-Reply-To: <20080516155828.GA31038@caradoc.them.org>

Daniel Jacobowitz wrote:
> On Fri, May 16, 2008 at 11:28:20AM -0400, Aleksandar Ristovski wrote:
>> What happens is, we have restored the stack pointer but gdb is unaware of that fact and tries to unwind using already unwound value...
>>
>> how is this supposed to work?
> 
> Poorly.
> 
> The biggest problem, in my opinion, is that GCC emits bogus unwind
> info that does not describe epilogues.  I don't know about other
> compilers.  So far no one has fixed this in a way that didn't bloat
> debug info to an unacceptable size.
> 
> When DWARF unwinding is not in use, there's the in_epilogue_p hook.
> Prologue analyzers could also detect epilogues using the same
> technique.  But this is slow and complicated.
> 

assuming the problem occurs only while single stepping, couldn't we look for 'ret' 'leave' and such and 'figure out' that stack has changed and are now stepping through still the same function but with previous frame?



  reply	other threads:[~2008-05-16 16:02 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-05-16 15:32 Aleksandar Ristovski
2008-05-16 15:58 ` Daniel Jacobowitz
2008-05-16 16:02   ` Aleksandar Ristovski [this message]
2008-05-16 16:09     ` Daniel Jacobowitz
2008-05-22 14:29   ` Aleksandar Ristovski
2008-05-22 14:40     ` Aleksandar Ristovski
2008-05-22 14:50     ` Daniel Jacobowitz
2008-05-22 15:05       ` Aleksandar Ristovski
2008-05-22 16:00         ` Aleksandar Ristovski
2008-05-22 16:02         ` Daniel Jacobowitz
2008-05-23 15:19           ` Aleksandar Ristovski
2008-05-22 18:06             ` Aleksandar Ristovski
2008-05-23 17:11             ` Daniel Jacobowitz
2008-05-23 17:23         ` Michael Snyder
2008-05-26 23:08           ` Aleksandar Ristovski
2008-05-27 21:33             ` Aleksandar Ristovski
2008-05-29  6:21             ` Thiago Jung Bauermann
2008-05-29  6:22               ` Aleksandar Ristovski
2008-06-04 13:12             ` Aleksandar Ristovski
2008-06-05 20:12               ` Mark Kettenis
2008-05-16 17:24 ` Mark Kettenis
2008-05-16 17:28   ` Aleksandar Ristovski
2008-05-16 17:47     ` Daniel Jacobowitz
2008-05-16 17:48     ` Mark Kettenis

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=482DB015.2020801@qnx.com \
    --to=aristovski@qnx.com \
    --cc=drow@false.org \
    --cc=gdb@sourceware.org \
    /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