On Sun, 19 Jun 2005 15:06:58 +0200, Paolo Carlini wrote: > The issue that Benjamin just fixed is very simple to explain (much less > to fix ;) : some recently added exported symbols had the default v6 > version, that is, 3.4.0, instead of 3.4.5.
Ah I see :) Are the new symbols new APIs, or will pre-existing code compiled with GCC 3.4.5 depend on these symbols when they would not have done when compiled with GCC 3.4.0? Also, is anybody looking at bug #21405? This bug makes the symbol versioning not so useful - to successfully distribute C++ apps on Linux we have had to resort to a binary diffing/cross-build system so the user gets a binary built with the right ABI installed. This problem affects games a lot, because they tend to use SDL and libSDL dlopens sound drivers according to the environment. When SDL dlopens the aRTS driver, you get both libstdc++.so.5 and libstdc++.so.6 versions mixed into the same binary and the symbol versioning is not enough to stop them conflicting. thanks -mike