This is the mail archive of the
libstdc++@gcc.gnu.org
mailing list for the libstdc++ project.
Re: Patch ping
Ian Lance Taylor wrote:
It would be easy to add a single instance of the mutex in
src/locale_init.cc. But then code compiled with a newer version of
libstdc++ would not work with older versions of libstdc++.so, as there
would be an undefined symbol at link time. Does that count as a bad
ABI change? It would continue to be possible to use code compiled
with older versions of libstdc++ with the new libstdc++.so; the older
code just wouldn't use the mutex when initializing the cache.
I think this kind of "incompatibility" *in principle* is possible: i.e.,
the .so number of mainline is 6.0.6 whereas 3.4.0 had 6.0.0
(http://gcc.gnu.org/onlinedocs/libstdc++/abi.html) and certainly the
same difficulty is experienced by someone trying to use the 3.4.0 .so
together with code compiled with the mainline - or 4_0-branch for that
matter - headers.
However, I think Benjamin espressed some concerns about symbol exports
(only one for your approach, right?) I'm not sure whether there are
specific problems with exporting mutex objects or whether he is
referring to our more general policy lately of adding exports only if
really, really, needed.
Paolo.