clang mangling some static struct names?

Rui Paulo rpaulo at felyko.com
Sun Nov 18 08:21:34 UTC 2012


On 16 Nov 2012, at 14:04, Navdeep Parhar <nparhar at gmail.com> wrote:

> On 11/16/12 13:49, Roman Divacky wrote:
>> Yes, it does that. iirc so that you can have things like
>> 
>> void foo(int cond) {
>>  if (cond) {
>>    static int i = 7;
>>  } else {
>>    static int i = 8;
>>  }
>> }
>> 
>> working correctly.
> 
> It's not appending the .n everywhere.  And when it does, I don't see any
> potential collision that it prevented by doing so.  Instead, it looks
> like the .n symbol corresponds to the nth element in the structure (so
> this is not name mangling in the true sense).  I just don't see the
> point in doing things this way.  It is only making things harder for
> debuggers.


It's likely that FreeBSD's gdb has to grow support for this new symbol format. Have you tried using the newest gdb available from ports? 

Regards,
--
Rui Paulo



More information about the freebsd-hackers mailing list