2 ms·
Symbol versioning can solve this at the linker layer without modifying the source. One possibility is to use --default-symver when compiling OpenSSL and libmd,
by rkeene2 10y ago
Symbol versioning can solve this at the linker layer without modifying the source. One possibility is to use --default-symver when compiling OpenSSL and libmd, then when they are linked the appropriately the soname is used as a version tag for any unversioned symbols.
An example:
http://www.rkeene.org/viewer/tmp/linking-troubles/log.html.htm http://www.rkeene.org/viewer/tmp/linking-troubles/log.html.h...
If you are a library maintainer and export a stable ABI, it might also be good to provide a version or every symbol if for no other reason than to avoid issues with the flat namespace.