No libc shared lib number bump ?

Daniel Eischen deischen at freebsd.org
Thu Oct 18 07:43:48 PDT 2007


On Thu, 18 Oct 2007, Andrey Chernov wrote:

> On Thu, Oct 18, 2007 at 09:25:55AM +0200, Kris Kennaway wrote:
>> Thierry Herbelot wrote:
>>> Hello,
>>> I just saw on my -current box that some/most/all shared libraries seem not
>>> to have been bumped when REL_7 was branched :
>>> % ll /lib/libc.so*
>>> -r--r--r--  1 root  wheel  1036012 Oct 15 23:33 /lib/libc.so.7
>>> % uname -a
>>> FreeBSD YYY 8.0-CURRENT FreeBSD 8.0-CURRENT #1919: Wed Oct 17 20:39:59
>>> CEST 2007     XXX at YYY:/tank/files3/obj/tank/files1/src/sys/GENERIC  i386
>>
>> This is deliberate, there is no longer any need now or in the future (since
>> symbol versioning now exists).
>
> I don't understand this thing well, since it is new. Is there some
> howto's in symbol versioning exists for most common cases like that:
> a) some new function/variable/struct added

You just add the symbol to the appropriate symbol map for added 
interfaces.  Keep in mind that added interfaces will have to be
supported forever (*).  Even if they are deprecated and removed
later, you will still have to have compat versions hanging around
libc (or whatever symbol versioned library they are in).

(*) libc and other symbol versioned libraries may be bumped
again in 8.0 to reset the numbering scheme back to 0 (libc.so.0).
It was deemed to late in the game to do this for 7.0.

> b) some existen function/variable/struct changed
> (at this moment I am interesting especially in a) case since did it for
> ctype)

See http://people.freebsd.org/~deischen/symver/library_versioning.txt

I just updated it, but it will probably need additional editing.

-- 
DE


More information about the freebsd-current mailing list