Mirror of the gdb mailing list
 help / color / mirror / Atom feed
From: Daniel Jacobowitz <drow@mvista.com>
To: gdb@sources.redhat.com
Subject: Further problem with 2.95.3 debug info :(
Date: Thu, 11 Apr 2002 19:11:00 -0000	[thread overview]
Message-ID: <20020411221143.A2000@nevyn.them.org> (raw)

This one isn't as easy as the last stabs fix.  Sometimes, apparently, GCC
elides the first line number instead of shifting it later.  As a result,
breakpoints on the function now stop in a yet wronger location.  Example:

main:
.LBB10:
        pushl %ebp
        movl %esp,%ebp
        subl $2044,%esp
        pushl %edi
        pushl %esi
        pushl %ebx
.stabn 68,0,90,.LM21-main
.LM21:
        addl $-12,%esp
        pushl $toplevel
        call _setjmp
        addl $16,%esp
        testl %eax,%eax
        je .L174
.stabn 68,0,92,.LM22-main
.LM22:

So we break after the first call to setjmp.  Which is, the astute observer
notes, inside of an `if'.  In this case, it's a not-usually-taken `if' and
we stop at the completely wrong time.

There's no fixing this with the debug info we have, IMO.  GCC 3.0 gets the
debug info right and we then handle it correctly.  I've no idea what prompts
GCC to do which (although it seems to show up more on PowerPC than on i386,
I've seen it on both).

So, this message is just in case anyone has a brilliant idea for handling
this, or to save people a little time on bug reports.  The only thing I can
think of is to let a prologue scanner hit the panic button and say "no, the
prologue really DOES end between lines!".

-- 
Daniel Jacobowitz                           Carnegie Mellon University
MontaVista Software                         Debian GNU/Linux Developer


             reply	other threads:[~2002-04-12  2:11 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-04-11 19:11 Daniel Jacobowitz [this message]
2002-04-12  2:51 ` Pierre Muller

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=20020411221143.A2000@nevyn.them.org \
    --to=drow@mvista.com \
    --cc=gdb@sources.redhat.com \
    /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