cvs commit: src/lib/libthr pthread.map src/lib/libthr/thread
thr_syscalls.c
David Xu
davidxu at FreeBSD.org
Thu Dec 20 18:55:44 PST 2007
Alexander Kabaev wrote:
> On Thu, 20 Dec 2007 17:10:03 -0800
> Xin LI <delphij at delphij.net> wrote:
>
>> -----BEGIN PGP SIGNED MESSAGE-----
>> Hash: SHA1
>>
>> Hi, Alexander,
>>
>> Alexander Kabaev wrote:
>>> On Thu, 20 Dec 2007 04:32:28 +0000 (UTC)
>>> David Xu <davidxu at FreeBSD.org> wrote:
>>>
>>>> davidxu 2007-12-20 04:32:28 UTC
>>>>
>>>> FreeBSD src repository
>>>>
>>>> Modified files:
>>>> lib/libthr pthread.map
>>>> lib/libthr/thread thr_syscalls.c
>>>> Log:
>>>> Remove vfork() overloading, it is no longer needed.
>>>>
>>>> Revision Changes Path
>>>> 1.21 +0 -2 src/lib/libthr/pthread.map
>>>> 1.17 +0 -9 src/lib/libthr/thread/thr_syscalls.c
>>>>
>>>> http://cvsweb.FreeBSD.org/src/lib/libthr/pthread.map.diff?r1=1.20&r2=1.21
>>>> http://cvsweb.FreeBSD.org/src/lib/libthr/thread/thr_syscalls.c.diff?r1=1.16&r2=1.17
>>> Technically, you just broke ABI backwards compatibility for libthr.
>>> Symbols can not be removed from exported sections on a whim.
>> Being relatively new to this stuff, I think I get confused by this, so
>> we can link to libthr's "vfork" directly? It uses the same namespace
>> as libc did...
>>
>> Maybe we should write up some usage guidelines for this in developers'
>> handbook (I can give this a shot)...
>>
> The change does not break existing binaries, as libc will satisfy all
> references after fork symbol was removed from libthr. It just breaks
> general rule: we do not remove versioned symbols once they were
> released unless there's a library version bump.
Er, the removal really unbreaks vfork() semantic, as the old code calls
fork(), they are different at all, vfork should not be implemented
as fork() call, it should not call hooks registered by pthread_atfork().
Regards,
David Xu
More information about the cvs-src
mailing list