RFA: Search for symbol names the same way they're hashed.

Daniel Jacobowitz drow@mvista.com
Wed Oct 2 13:02:00 GMT 2002


On Wed, Oct 02, 2002 at 12:41:46PM -0700, David Carlton wrote:
> On 02 Oct 2002 14:18:51 -0500, Jim Blandy <jimb@redhat.com> said:
> > David Carlton <carlton@math.stanford.edu> writes:
> 
> >> 1) This concept of 'a name that is as demangled as possible' is a
> >> pretty important one and occurs in multiple places in GDB's sources,
> 
> > Yeah, I think we need something like that, too.
> 
> > How about SYMBOL_DEMANGLEDEST_NAME?  Um.
> 
> Um indeed.

Dare I suggest SYMBOL_SEARCH_NAME?  That is, the only name we should
search for when we're looking up this function in symbol tables.  Since
that's the other use.

> > I just did a quick survey of the uses of SYMBOL_SOURCE_NAME.
> 
> Thanks!  I'd been meaning to do that, but I hadn't gotten around to it
> yet.  Also, somebody should look at all uses of SYMBOL_DEMANGLED_NAME
> to see which ones are part of a chunk of code that could be replaced
> by SYMBOL_BEST_NAME.
> 
> > They all fall into two categories:
> > - printing symbol names, and
> > - sort comparison functions.
> 
> > The first usage is exactly correct: the way a symbol prints should
> > respect the current demangling setting.
> 
> > The second usage seems wrong to me: if you sort under one demangling
> > setting, but then search under a different one, well, ... duh.
> 
> Right.  That's exactly what I was afraid of: we should make it clear
> that SYMBOL_SOURCE_NAME is for external use only.  (Both by comments
> and by renaming it, as you suggest below.)

Blech.  There's some of these left?  I swear I fixed them!  I see, in
symtab.c, bogus uses in lookup_partial_symbol and lookup_block_symbol,
but only in the linear search code.  So I think I got the rest.  The
ones for sort_search_symbols are benign.

> > The source code name of a symbol does not depend depend on the current
> > demangling setting; the way it should be printed obviously does.  So
> > I'd suggest:
> > - changing the first category of uses to use SYMBOL_PRINT_NAME,
> >   a new macro which will be defined just like the current
> >   SYMBOL_SOURCE_NAME (or David's defn below looks nice, too), and
> > - defining a new SYMBOL_SOURCE_NAME which does what David's
> >   SYMBOL_BEST_NAME does above.
> 
> I agree.

I agree about SYMBOL_PRINT_NAME... or, how about SYMBOL_PRINTABLE_NAME?

-- 
Daniel Jacobowitz
MontaVista Software                         Debian GNU/Linux Developer



More information about the Gdb-patches mailing list