Mirror of the gdb mailing list
 help / color / mirror / Atom feed
From: Tom Tromey <tromey@redhat.com>
To: "Elmenthaler\, Jens" <JENS.ELMENTHALER@advantest.com>
Cc: "gdb\@sourceware.org" <gdb@sourceware.org>
Subject: Re: gdb bug or corrupt dwarf info?
Date: Thu, 28 Mar 2013 20:46:00 -0000	[thread overview]
Message-ID: <87ip4bb6d1.fsf@fleche.redhat.com> (raw)
In-Reply-To: <CEA8125BCE884349929B204B961E547128E06D8F@DEBOSVPEX001.ent.rt.verigy.net>	(Jens Elmenthaler's message of "Thu, 28 Mar 2013 11:39:41 +0000")

>>>>> "Jens" == Elmenthaler, Jens <JENS.ELMENTHALER@advantest.com> writes:

Jens> I'm currently investigation why gdb is only showing 'i' as local
Jens> variable in the following loop body, and not also 'text':

Jens> So my question now is, whether this is a gdb bug which I possibly
Jens> could fix, or whether the debug info is broken.

Jens> In my opinion it looks suspicious that the lexical block
Jens> containing 'text' is not a child of the lexical block containing
Jens> 'i', but a sibling.

I am not sure if it is invalid DWARF.  There isn't much in DWARF that
prohibits odd output like this.  Maybe such a prohibition is in there --
I couldn't quickly find it, but that isn't definitive.

This DWARF is definitely not what gdb expects.  gdb expects lexical
blocks to be nested and not to overlap.  However, see the "???" comment
in read_lexical_block_scope -- there appears to be some room for
improvement, though it is unclear to me if trying to handle the DWARF
you have is worth the effort.  In particular the comment refers to how
to handle disjoint ranges, but your problem is both disjoint ranges in
one scope combined with an overlap of another scope.

I would say that it is both a compiler bug and a gdb bug.
The blocks ought to nest, and there doesn't seem to me to be a good
reason to use the representation you are seeing.

Tom


  reply	other threads:[~2013-03-28 20:46 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-03-28 11:40 Elmenthaler, Jens
2013-03-28 20:46 ` Tom Tromey [this message]
2013-04-18 11:47   ` Elmenthaler, Jens
2013-04-23 18:08     ` Tom Tromey

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=87ip4bb6d1.fsf@fleche.redhat.com \
    --to=tromey@redhat.com \
    --cc=JENS.ELMENTHALER@advantest.com \
    --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