witam, wraz z nadchodzacym gcc-4.7 chcialbym wlaczyc pelne wersjonowanie symboli w libstdc++.so tak jak ma to miejsce od lat w glibc. dzieki temu biblioteka standardowa w roznych przestrzeniach nazw i wersjach eksportuje symbole dla roznych wersji standardu c++. taki kompilat moze obslugiwac aplikacje korzystajace z roznych wersji c++, ktore maja rozne abi (98 vs. 0x), a w bliskiej przyszlosci (0x vs 11) znow moga sie rozjechac.
od strony legacy-code nic nie trzeba robic. naglowki libstdc++ wciagaja do przestrzeni std:: detale implementacji (np. std::__7::), kod uzytkownika kompiluje sie bez zmian i linkuje juz z wersjonowanym symbolem. obecne libstdc++.so.6 trzeba dodac do compat-libs a pakiety w distro sie przebuduja z .so.7 przy najblizszej aktualizacji, tak wiec odpada nam massive-rebuild. wersjonowane .so.7 ma jeszcze jedna zalete dla osob uzywajacych pld do produkcji softu dla enterprajsow - aplikacja zlinkowana z .so.7 nie bedzie juz podatna na nadpisanie symboli c++ przez ld_preload. pluginy .so dla softu firm trzecich moga byc bez obaw otwierane przez dlopen() w aplikacji nadrzednej i tez nie dojdzie do nadpisania symboli. uzywam tego od kilku miesiecy w prywatnym jak narazie toolchain-ie, ale chce to popchnac do glownej linii dla szerszego ogolu :) _______________________________________________ pld-devel-pl mailing list pld-devel-pl@lists.pld-linux.org http://lists.pld-linux.org/mailman/listinfo/pld-devel-pl