[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Shared library versioning
From: |
Lasse Collin |
Subject: |
Shared library versioning |
Date: |
Fri, 10 Jun 2011 21:47:49 +0300 |
User-agent: |
KMail/1.13.7 (Linux/2.6.38-ARCH; KDE/4.6.3; x86_64; ; ) |
I recently made a bug report that Libtool does shared library
versioning wrong on *BSDs:
http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8765
After that bug report I have got a feeling that Libtool may have
comparable bugs on a few other operating systems too. I'm not sure
that I'm reading the code correctly though. I haven't been able to
verify these by testing because I don't have access to these
operating systems:
- HP-UX:
* Wrong versioning style (similar to the *BSD bug)
* Maybe filename or symlink bugs: on PA-RISC it should be
libfoo.sl -> libfoo.$major instead of
libfoo.sl -> libfoo.sl.$major
- IRIX:
* Confuses $age and $revision in $verstring, which might cause
trouble when a library is upgraded to a newer compatible
version with smaller $revision.
* The versions in $verstring end up in somewhat weird order
but maybe it doesn't matter because the newest version is
correctly the last one in the string. Example:
sgi1.4:sgi1.3:sgi1.2:sgi1.1:sgi1.0:sgi1.5
The following look suspicious, but I haven't read the relevant docs
about these operating systems:
- QNX and SunOS 4:
* Libtool uses $current instead of $current - $age in $major.
Since that is wrong on *BSDs and HP-UX, I wouldn't be
surprised if it is wrong for QNX and SunOS 4 too.
(Does someone still care about SunOS 4?)
- Unixware, OpenUNIX, etc:
* These use version_type=freebsd-elf. I don't know if
the FreeBSD fix would be correct for these.
Assuming that the above is correct, is there interest to get these
and the *BSD versioning bugs fixed? Fixing means that library
versioning will change on some operating systems and thus cause
temporary breakage. It may be annoying but I think that it is less
bad than keeping the buggy behavior.
References:
HP-UX:
HP broke my bookmarks and I cannot find the manual from
hp.com now. I found a mirror though:
http://hills.ccsf.edu/docs/linker/creatingandusinglibraries.htm
IRIX:
http://techpubs.sgi.com/library/tpl/cgi-bin/getdoc.cgi/0650/bks/SGI_Developer/books/MproCplrDbx_TG/sgi_html/ch03.html#Z50766
--
Lasse Collin | IRC: Larhzu @ IRCnet & Freenode
- Shared library versioning,
Lasse Collin <=
- Re: Shared library versioning, Mike Frysinger, 2011/06/10
- Re: Shared library versioning, Lasse Collin, 2011/06/10
- Re: Shared library versioning, Bob Friesenhahn, 2011/06/13
- Re: Shared library versioning, Lasse Collin, 2011/06/14
- Re: Shared library versioning, Bob Friesenhahn, 2011/06/14
- Re: Shared library versioning, Lasse Collin, 2011/06/14
- Re: Shared library versioning, Peter O'Gorman, 2011/06/14
- Re: Shared library versioning, Mike Frysinger, 2011/06/14
- Re: Shared library versioning, Lasse Collin, 2011/06/16
- Re: Shared library versioning, Charles Wilson, 2011/06/16