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

Odpowiedź listem elektroniczym