Como criar funções com símbolos em um arquivo no Fedora?

3

Devido ao seguinte bug no Fedora:

link

Eu decidi compilar minhas próprias versões do zlib e libpng. Mas depois de fazer isso, percebi que o libcairo não poderia vincular a minha nova versão libpng. Algumas investigações mostraram que a razão era que os símbolos no sistema libpng continham a versão do símbolo, por exemplo:

readelf -Ws /usr/lib/libpng16.so.16.6.0  | awk '{print $8}' | grep -i version
png_access_version_number@@PNG16_0
png_get_header_version@@PNG16_0

mas na minha versão compilada os símbolos contêm a decoração da versão:

> readelf -Ws /usr/local/lib/libpng16.so.16.6.0   | awk '{print $8}' | grep -i version
png_get_header_version
png_user_version_check
png_access_version_number

Como posso fazer o cmake, o compilador e o linker gerarem essas anotações de símbolos?

    
por Dov Grobgeld 28.07.2014 / 19:55

0 respostas