Any resolution to the C++ symbol conflict problems?
Mike Hearn
mike@plan99.net
Fri Apr 14 15:14:00 GMT 2006
Hi,
A while ago I brought up the subject of C++ inlined symbols conflicting
inside a process image due to them having ELF global scope:
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21405
Template inlines have global visibility
It seems there's now been a sort of fix, at least for libstdc++, but I
don't fully understand what it is or what its implications are:
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24660
Versioning weak symbols in libstdc++
IIRC the scheme that is now implemented in CVS HEAD was proposed at the
GCC summit and involves some fairly complex mangling changes - at least I
am struggling to remember the details off the top of my head.
Could somebody sum up how this fixes the problem of inlined symbols not
having any ELF symbol versions attached to them? Does this require
modification of all C++ libraries that provide templates or inline methods
in the headers?
Put simply, what does all this mean for ISVs? Inquiring minds want to know :)
thanks -mike
More information about the Gcc
mailing list