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