libtool
[Top][All Lists]
Advanced

[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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]