[LLVMdev] LLVM shared libraries and versioning

Michel Alexandre Salim salimma at fedoraproject.org
Sun Nov 18 17:37:39 PST 2012


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Dear developers,

In the course of evaluating the feasibility of performing a
post-release upgrade of our Fedora LLVM stack, it was pointed out that
most of the shared libraries have filenames that do not contain
version tags:

http://article.gmane.org/gmane.linux.redhat.fedora.devel/171315

$ repoquery --provides llvm-libs.x86_64
BugpointPasses.so()(64bit)
LLVMgold.so()(64bit)
config(llvm-libs) = 3.1-11.fc18
libLLVM-3.1.so()(64bit)
libLTO.so()(64bit)
libprofile_rt.so()(64bit)
llvm-libs = 3.1-11.fc18
llvm-libs(x86-64) = 3.1-11.fc18

(namely, BugpointPasses.so, LLVMgold.so, libLTO, and libprofile_rt.so).

None of the libraries have DT_SONAME set, which is set by passing
- -soname to ld, and would help ensure that the correct shared library
is loaded at runtime.

Compare to, for example, libgcc:

✗ ls -l /usr/lib64/libgccpp.so.1*
lrwxrwxrwx. 1 root root   17 Oct 28 13:03 /usr/lib64/libgccpp.so.1 ->
libgccpp.so.1.0.3
- -rwxr-xr-x. 1 root root 6800 Jul 27 12:22 /usr/lib64/libgccpp.so.1.0.3

✗ objdump --private-headers /usr/lib64/libgccpp.so.1.0.3 | grep SONAME
  SONAME               libgccpp.so.1

✗ ls -l /usr/lib64/libgcc_s*
- -rwxr-xr-x. 1 root root 91352 Nov  9 20:07
/usr/lib64/libgcc_s-4.7.2-20121109.so.1
lrwxrwxrwx. 1 root root    28 Nov 12 08:24 /usr/lib64/libgcc_s.so.1 ->
libgcc_s-4.7.2-20121109.so.1

✗ objdump --private-headers /usr/lib64/libgcc_s-4.7.2-20121109.so.1 |
grep SONAME
  SONAME               libgcc_s.so.1

This is probably too late to fix in upstream before 3.3 at the
earliest. We could change our Fedora packaging first, and then submit
the patches upstream, but it'd be useful to agree beforehand on what
version number to tag the libraries with. We could, of course, just
start with 0.0.0 so that whatever upstream choose to use later on will
have numbers higher than ours.

Thanks,

- -- 
Michel Alexandre Salim
Fedora Project Contributor: http://fedoraproject.org/

Email:  salimma at fedoraproject.org  | GPG key ID: A36A937A
Jabber: hircus at jabber.ccc.de       | IRC: hircus at irc.freenode.net

()  ascii ribbon campaign - against html e-mail
/\  www.asciiribbon.org   - against proprietary attachments
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)
Comment: Using GnuPG with undefined - http://www.enigmail.net/

iQEcBAEBAgAGBQJQqY1jAAoJEEr1VKujapN6FdIH/At0RsM1CX8ZvfEUB19J/Nat
gNVU6A1EZ643gBbk6DTg5MptzYmc1VqKn2ekLKAUkLqDw15e2fyE289zYV1xXahF
8Y7WDlJlnDCuqjKkko3m7GWD3InO4Ww4DxTDthtL0EhoKyDER3Idtd3/zCBKoxqk
BV9L/bBdpgWHCVUO1H2DdHbDTdrGm4GgVOtFXBGq8hLQk75lNxZJjCRAH3dkM9Hl
pxQUjQ09LudhgsxO3tH+SwghjICnIZvwrxy4u7nRqRAJuRaKHg33kQ67UHMGevAq
g22a1Q/cPOxTdM1zF98aeo10T7e67Y/fw6Xs4yL6wHvpZjVr9Fcc2UDwBktPK/M=
=zmtq
-----END PGP SIGNATURE-----



More information about the llvm-dev mailing list