From: Elena Zannoni <ezannoni@redhat.com>
To: David Carlton <carlton@math.stanford.edu>
Cc: Elena Zannoni <ezannoni@redhat.com>,
gdb-patches@sources.redhat.com, Jim Blandy <jimb@redhat.com>
Subject: Re: [rfc/rfa] accept DW_TAG_namespace and friends, possibly on 5.3
Date: Tue, 22 Oct 2002 16:10:00 -0000 [thread overview]
Message-ID: <15797.55864.443242.623352@localhost.redhat.com> (raw)
In-Reply-To: <ro1vg3u3wmy.fsf@jackfruit.Stanford.EDU>
David Carlton writes:
> On Tue, 22 Oct 2002 18:27:09 -0400, Elena Zannoni <ezannoni@redhat.com> said:
> > David Carlton writes:
>
> >> @@ -1376,37 +1384,54 @@ scan_partial_symbols (char *info_ptr, st
> >> case DW_TAG_enumerator:
> >> /* File scope enumerators are added to the partial symbol
> >> table. */
>
> > Could you add a comment here about why/how we know that the level
> > should be 2 here?
>
> How about if I add a sentence like "They're children of the
> enumeration type die, so they occur at a level one higher than we
> normally look for." to the end of the comment?
>
yes thanks.
> >> if (pdi.tag == 0)
> >> {
> >> nesting_level--;
> >> + /* If this is the end of a DW_TAG_namespace entry, then
> >> + decrease the file_scope_level, too. */
> >> + if (nesting_level < file_scope_level)
> >> + {
> >> + file_scope_level--;
> >> + gdb_assert (nesting_level == file_scope_level);
> >> + }
> >> }
> >> }
> >>
>
> > Can you explain a bit about the levels? I am getting confused.
>
> How about the following change to the comment before the definition of
> file_scope_level:
>
> /* We only want to read in symbols corresponding to variables or
> other similar objects that are global or static. Normally, these
> are all children of the DW_TAG_compile_unit die, so are all at
> level 1. But C++ namespaces give ries to DW_TAG_namespace dies
> whose children are global objects. So we keep track of what
> level we currently think of as referring to file scope; this
> should always equal 1 plus the number of namespaces that we are
> currently nested within. */
>
yes, much clearer.
> > About the new DW_TAGs etc. Are they handled by objdump and readelf?
> > If not, you should add those to binutils and dwarf2.h as well.
>
> readelf seems okay, and they're certainly all in dwarf2.h. (In fact,
> that's what I looked at to get the new names.) I can't convince
> objdump to give me any information at all about DWARF 2 info; am I
> missing something? I've never used the program before, so I could
> well be.
>
Oh yeah sorry. No, objdump doesn't give you dwarf2. Brain blackout.
I think it can go in now.
Elena
> David Carlton
> carlton@math.stanford.edu
next prev parent reply other threads:[~2002-10-22 23:10 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-10-22 13:40 David Carlton
2002-10-22 13:51 ` Daniel Jacobowitz
2002-10-22 14:25 ` Andrew Cagney
2002-10-22 14:17 ` Daniel Berlin
2002-10-22 14:40 ` David Carlton
2002-10-22 15:09 ` Daniel Berlin
2002-10-22 15:33 ` David Carlton
2002-10-22 16:48 ` Daniel Berlin
2002-10-22 15:29 ` Elena Zannoni
2002-10-22 16:02 ` David Carlton
2002-10-22 16:10 ` Elena Zannoni [this message]
2002-10-22 16:14 ` David Carlton
2002-10-23 11:36 ` David Carlton
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=15797.55864.443242.623352@localhost.redhat.com \
--to=ezannoni@redhat.com \
--cc=carlton@math.stanford.edu \
--cc=gdb-patches@sources.redhat.com \
--cc=jimb@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