From owner-cvs-src@FreeBSD.ORG Fri Dec 21 02:55:43 2007 Return-Path: Delivered-To: cvs-src@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E9B5416A419; Fri, 21 Dec 2007 02:55:43 +0000 (UTC) (envelope-from davidxu@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id DC4E413C45A; Fri, 21 Dec 2007 02:55:43 +0000 (UTC) (envelope-from davidxu@FreeBSD.org) Received: from apple.my.domain (root@localhost [127.0.0.1]) by freefall.freebsd.org (8.14.2/8.14.2) with ESMTP id lBL2tcKd035165; Fri, 21 Dec 2007 02:55:40 GMT (envelope-from davidxu@freebsd.org) Message-ID: <476B2B6B.7090401@freebsd.org> Date: Fri, 21 Dec 2007 10:56:43 +0800 From: David Xu User-Agent: Thunderbird 2.0.0.9 (X11/20071211) MIME-Version: 1.0 To: Alexander Kabaev References: <200712200432.lBK4WSEq036881@repoman.freebsd.org> <20071220074756.5ac4b0c1@kan.dnsalias.net> <476B126B.40004@delphij.net> <20071220210650.4f3d061d@kan.dnsalias.net> In-Reply-To: <20071220210650.4f3d061d@kan.dnsalias.net> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: delphij@delphij.net, src-committers@FreeBSD.org, d@delphij.net, cvs-all@FreeBSD.org, cvs-src@FreeBSD.org Subject: Re: cvs commit: src/lib/libthr pthread.map src/lib/libthr/thread thr_syscalls.c X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 21 Dec 2007 02:55:44 -0000 Alexander Kabaev wrote: > On Thu, 20 Dec 2007 17:10:03 -0800 > Xin LI wrote: > >> -----BEGIN PGP SIGNED MESSAGE----- >> Hash: SHA1 >> >> Hi, Alexander, >> >> Alexander Kabaev wrote: >>> On Thu, 20 Dec 2007 04:32:28 +0000 (UTC) >>> David Xu 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