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


Reply via email to