Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: David Carlton <carlton@math.stanford.edu>
To: Elena Zannoni <ezannoni@redhat.com>
Cc: 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:02:00 -0000	[thread overview]
Message-ID: <ro1vg3u3wmy.fsf@jackfruit.Stanford.EDU> (raw)
In-Reply-To: <15797.53437.183222.336553@localhost.redhat.com>

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?

>> 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.  */
  
> 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.

David Carlton
carlton@math.stanford.edu


  reply	other threads:[~2002-10-22 23:02 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 [this message]
2002-10-22 16:10     ` Elena Zannoni
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=ro1vg3u3wmy.fsf@jackfruit.Stanford.EDU \
    --to=carlton@math.stanford.edu \
    --cc=ezannoni@redhat.com \
    --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