From: Daniel Jacobowitz <drow@false.org>
To: Paul Hilfinger <hilfingr@gnat.com>, Jim Blandy <jimb@redhat.com>
Cc: gdb-patches@sources.redhat.com
Subject: Re: [RFA] Introduce notion of "search name"
Date: Fri, 09 Apr 2004 22:40:00 -0000 [thread overview]
Message-ID: <20040409215112.GB851@nevyn.them.org> (raw)
In-Reply-To: <vt28yh92mzf.fsf@zenia.home> <20040402082955.CCEF3F2F2A@nile.gnat.com>
On Tue, Apr 06, 2004 at 09:35:16AM -0500, Jim Blandy wrote:
>
> Paul Hilfinger <hilfingr@gnat.com> writes:
> > Do you really object to our simply making permanent copies of these
> > names as needed? (I'm perfectly happy to ditch the kludgy
> > objfile-finding hack.) You can't expect to save any space by
> > reclaiming these demangled names space when you reload the symbol
> > file, because (as I argued before) the set of demangled names
> > generally doesn't change much in such cases, and we are "interning"
> > the demangled symbols, so that multiple computations of the same
> > demangled symbol don't increase space. This particular choice of name
> > storage is confined to the Ada module (the symbol table module doesn't
> > apply free to names stored in symbols, partial symbols, or minimal
> > symbols, so it doesn't care if one them has a longer than necessary
> > lifetime).
>
> I tend to think it's not ideal, but okay. Daniel, you were unhappy
> with this; did you have suggestions?
I'm unhappy with it, partly because not having a lifetime for these
things make it harder to identify memory leaks (of which we already
have quite enough, thank you). But there are two options:
- decide that lazily demangling is useful, and arrange to pass
an objfile to every call to SYMBOL_DEMANGLED_NAME. This also
affects, at least, SYMBOL_NATURAL_NAME and SYMBOL_PRINT_NAME.
I think it wouldn't be hard, just messy.
- decide that being picky about the storage lifetime doesn't matter,
and Paul's approximation is good enough.
I'm happier with the global hash table than I am with kludging around
searching for an objfile, certainly. What do you think of the options?
On Fri, Apr 02, 2004 at 03:29:55AM -0500, Paul Hilfinger wrote:
> > What you did not explain is how [SYMBOL_DEMANGLED_SEARCH_NAME]
> > is supposed to be different from SYMBOL_SEARCH_NAME.
>
> Well, the direct answer is that for Ada,
> SYMBOL_DEMANGLED_SEARCH_NAME (sym) == NULL
> whereas
> SYMBOL_SEARCH_NAME (sym) == the "linkage name" of the symbol
> Perhaps, now that you bring it up, it might be clearer simply to make
> this a predicate:
> SYMBOL_SEARCHED_BY_DEMANGLED_NAME (sym)
> or something like that?
I don't think that either of those divisions is general enough to be
useful. Why should the search name have to be the linkage name or the
demangled name? For C++ there are two potential 'search names' - the
name without DMGL_PARAMS, or just the basename. Neither of these is
the linkage or natural name.
> > The existing ada_demangle never fails. How does that interact with
> > what you said above? Hopefully not by tagging all minsyms as Ada!
>
> Ah, I have been putting off syncing the ada-* files with ours (they
> aren't compiled at the moment, and I feel no need to clutter the
> public file system with unused versions. However, perhaps it's time to
> check in the current versions, which are considerably different from the
> snapshot that's currently there. In short: you are quite right, and the
> current Ada demangler returns NULL for non-Ada-mangled symbols.
Perhaps it's time to do this again. I'm not sure how to handle it.
--
Daniel Jacobowitz
MontaVista Software Debian GNU/Linux Developer
next prev parent reply other threads:[~2004-04-09 22:40 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-03-03 19:15 Paul Hilfinger
2004-03-19 0:09 ` Daniel Jacobowitz
2004-03-05 3:59 ` Daniel Jacobowitz
2004-03-05 10:39 ` Paul Hilfinger
2004-03-19 0:09 ` Paul Hilfinger
2004-03-31 22:12 ` Daniel Jacobowitz
2004-04-01 14:53 ` Jim Blandy
2004-04-01 15:00 ` Daniel Jacobowitz
2004-04-01 15:21 ` Jim Blandy
2004-04-02 9:30 ` Paul Hilfinger
2004-04-02 22:27 ` Jim Blandy
2004-04-03 12:04 ` Paul Hilfinger
2004-04-06 14:37 ` Jim Blandy
2004-04-02 9:33 ` Paul Hilfinger
2004-04-02 8:29 ` Paul Hilfinger
2004-04-09 22:40 ` Daniel Jacobowitz [this message]
2004-04-12 8:22 ` Paul Hilfinger
2004-04-16 4:11 ` Jim Blandy
2004-04-29 10:37 ` Paul Hilfinger
[not found] ` <20040429211458.GB27523@nevyn.them.org>
[not found] ` <vt2n04umj8b.fsf@zenia.home>
[not found] ` <20040430084538.ECDE1F2E1C@nile.gnat.com>
[not found] ` <20040430134955.GA15786@nevyn.them.org>
2004-05-03 8:49 ` Paul Hilfinger
2004-05-11 19:48 ` Daniel Jacobowitz
2004-05-12 11:00 ` Paul Hilfinger
2004-05-12 13:27 ` Daniel Jacobowitz
2004-05-12 14:14 ` Andrew Cagney
2004-05-12 14:23 ` Daniel Jacobowitz
2004-05-12 15:11 ` Andrew Cagney
2004-05-12 16:59 ` Joel Brobecker
2004-05-13 14:29 ` Andrew Cagney
2004-05-13 9:30 ` Paul Hilfinger
2004-05-13 13:49 ` Daniel Jacobowitz
2004-05-18 21:59 ` Jim Blandy
2004-05-19 9:55 ` Paul Hilfinger
2004-05-19 13:00 ` Daniel Jacobowitz
2004-05-19 15:21 ` Andrew Cagney
2004-05-20 10:18 ` Abstracting "name" Paul Hilfinger
2004-05-21 19:10 ` Andrew Cagney
2004-05-21 20:01 ` Jim Blandy
2004-03-19 0:09 ` [RFA] Introduce notion of "search name" Paul Hilfinger
2004-03-19 0:09 ` David Carlton
2004-03-03 19:26 ` David Carlton
2004-03-19 0:09 ` Paul Hilfinger
2004-03-04 8:45 ` Paul Hilfinger
2004-03-30 9:37 Paul Hilfinger
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=20040409215112.GB851@nevyn.them.org \
--to=drow@false.org \
--cc=gdb-patches@sources.redhat.com \
--cc=hilfingr@gnat.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