From owner-freebsd-current@FreeBSD.ORG Fri Feb 6 23:07:23 2004 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 513D316A4CE; Fri, 6 Feb 2004 23:07:23 -0800 (PST) Received: from harmony.village.org (rover.bsdimp.com [204.144.255.66]) by mx1.FreeBSD.org (Postfix) with ESMTP id 45AF743D2F; Fri, 6 Feb 2004 23:07:21 -0800 (PST) (envelope-from imp@bsdimp.com) Received: from localhost (warner@rover2.village.org [10.0.0.1]) by harmony.village.org (8.12.10/8.12.9) with ESMTP id i1777KnJ050338; Sat, 7 Feb 2004 00:07:20 -0700 (MST) (envelope-from imp@bsdimp.com) Date: Sat, 07 Feb 2004 00:07:18 -0700 (MST) Message-Id: <20040207.000718.29363133.imp@bsdimp.com> To: das@freebsd.org From: "M. Warner Losh" In-Reply-To: <20040207005520.GA7132@VARK.homeunix.com> References: <20040205072422.GB11291@VARK.homeunix.com> <4023C100.2090305@freebsd.org> <20040207005520.GA7132@VARK.homeunix.com> X-Mailer: Mew version 3.3 on Emacs 21.3 / Mule 5.0 (SAKAKI) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit cc: nectar@freebsd.org cc: deischen@freebsd.org cc: ports@freebsd.org cc: current@freebsd.org Subject: Re: HEADS UP: libkse -> libpthread switch X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 07 Feb 2004 07:07:23 -0000 In message: <20040207005520.GA7132@VARK.homeunix.com> David Schultz writes: : Maybe I don't understand dynamic linking in FreeBSD well enough, : but an application that is both statically and dynamically linked : against the same library seems bizarre and unusual to me. : Wouldn't the two halves reference different copies of the library, : breaking things like malloc() and gethostbyname() (in the : hypothetical case of libc)? I don't see how such a thing could : possibly work in the first place. Such a thing is possible if at the time you built library X, it required library Y shared. You then build program A that requires library X and Y, but link Y static. Bad things happen after that. Esp if Y is libc or libc_r. Warner