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

Jim Ingham jingham@apple.com
Wed Oct 2 18:25:00 GMT 2002


Daniel,

On Wednesday, October 2, 2002, at 06:16  PM, Daniel Jacobowitz wrote:

> On Wed, Oct 02, 2002 at 05:48:01PM -0700, Jim Ingham wrote:
>>
>> On Wednesday, October 2, 2002, at 02:50  PM,
>> gdb-patches-digest-help@sources.redhat.com wrote:
>>
>>>> We need to make demangling-style only affect *printout* and *user
>>>> entered strings*, and during symbol reading, force it to auto, so it
>>>> always gets the right names in the symbol table in the first place.
>>>
>>> Doesn't that sort of defeat the point of letting the user set
>>> demangling style?  It's in case something goes wrong with
>>> autodetection....
>>>
>>>>> The source code name of a symbol does not depend depend on the
>>>>> current
>>>>> demangling setting;
>>>>
>>>> And to enforce this, you have to make the readers *not* honor the
>>>> demangling style. If you just fix SYMBOL_SOURCE_NAME,
>>>> SYMBOL_INIT_DEMANGLED_NAME will still be only called once, and it'll
>>>> have the wrong demangling style when it calls cplus_demangle,
>>>> resulting
>>>> in the symbol having the wrong demangled name forevermore.
>>>
>>> Perhaps we need to decide what the point of letting users force the
>>> demangle style is, first.
>>
>> The case where we have had to use this was because we had private C++
>> API's in some of the Mac OS X frameworks for 10.2 (which was compiled
>> with gcc 3.1) but users who didn't want to move their C++ code to 3.1
>> yet.  When you hit the frameworks, gdb would see _Z, and assume the
>> mangling style was the 3.1 style.  Of course, all their code was 2.95,
>> and they didn't in general care about the C++ stuff in frameworks
>> (Apple tries not to export C++ API's if it can help it).  So forcing
>> demangling to 2.95 was useful in this case.
>>
>> This should, hopefully, be just a short term problem.  Very few of our
>> customers are still using 2.95 that we know about.  But it is still
>> worth keeping in mind for the next year or so...
>
> Time to unconfuse one issue:
>
> Jim, are you sure that you are talking about _demangling_ style?  It is
> orthogonal to 'set cp-abi'.  I'm talking about 'set demangle-style'
> here.  I assume in a mixed v2/v3 environment you'd want 'auto' anyway.
>

Oh, sorry, my mistake...  But you don't want "auto" in a mixed 
environment, because auto chooses v3 when it sees it.  For the folks 
using v2, the v3 bits are all stuff they don't care at all about.  So 
you have to force it to v2.  We did all this already, however, IIRC...

Jim
--
Jim Ingham                                   jingham@apple.com
Developer Tools
Apple Computer



More information about the Gdb-patches mailing list