From owner-freebsd-questions@FreeBSD.ORG Tue Jun 17 09:23:04 2003 Return-Path: Delivered-To: freebsd-questions@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 14F5137B401; Tue, 17 Jun 2003 09:23:04 -0700 (PDT) Received: from ns1.xcllnt.net (209-128-86-226.BAYAREA.NET [209.128.86.226]) by mx1.FreeBSD.org (Postfix) with ESMTP id 253A743F75; Tue, 17 Jun 2003 09:23:03 -0700 (PDT) (envelope-from marcel@xcllnt.net) Received: from dhcp01.pn.xcllnt.net (dhcp01.pn.xcllnt.net [192.168.4.201]) by ns1.xcllnt.net (8.12.9/8.12.9) with ESMTP id h5HGN2DZ055631; Tue, 17 Jun 2003 09:23:02 -0700 (PDT) (envelope-from marcel@piii.pn.xcllnt.net) Received: from dhcp01.pn.xcllnt.net (localhost [127.0.0.1]) by dhcp01.pn.xcllnt.net (8.12.9/8.12.9) with ESMTP id h5HGN2st000811; Tue, 17 Jun 2003 09:23:02 -0700 (PDT) (envelope-from marcel@dhcp01.pn.xcllnt.net) Received: (from marcel@localhost) by dhcp01.pn.xcllnt.net (8.12.9/8.12.9/Submit) id h5HGN2JD000810; Tue, 17 Jun 2003 09:23:02 -0700 (PDT) (envelope-from marcel) Date: Tue, 17 Jun 2003 09:23:02 -0700 From: Marcel Moolenaar To: Joe Kelsey Message-ID: <20030617162302.GC584@dhcp01.pn.xcllnt.net> References: <3EEE4717.2090409@mail.flyingcroc.net> <1055804020.79093.2.camel@rushlight.kf8nh.apk.net> <3EEF19D5.9040706@mail.flyingcroc.net> <20030617154208.GA584@dhcp01.pn.xcllnt.net> <3EEF3883.1080500@mail.flyingcroc.net> <20030617160141.GB584@dhcp01.pn.xcllnt.net> <3EEF3E10.8030205@mail.flyingcroc.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <3EEF3E10.8030205@mail.flyingcroc.net> User-Agent: Mutt/1.5.4i cc: stable@freebsd.org cc: questions@freebsd.org Subject: Re: Tools to modify shared libraries X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 17 Jun 2003 16:23:04 -0000 On Tue, Jun 17, 2003 at 09:13:04AM -0700, Joe Kelsey wrote: > >>>It's more constructive to fix the linker than it is to patch the > >>>ELF files created by it. The linker knows which libraries are > >>>really needed and should be able to create the minimal list of > >>>(true) dependencies. > >> > >>This cannot be accomplished by fixing the linker. The issue is one of > >>attempting to use a *linux* shared library in a native application. > > > > > >Linux uses the same linker (GNU ld). Fixing the linker will have the > >same effect on Linux as it will have on FreeBSD and hence will prevent > >unnecessary dependencies in Linux libraries to Linux libraries and > >thus remove the need to patch ELF files in the long run. > > > > The problem cannot be resolved by "fixing" ld. The problem arises from > people who specify unnecessary libraries on their ld command lines. ld > cannot tell the difference between a required library and an unnecessary > library at link time. Yes it can. Symbol resolution is a fundamental part in linking. Hence, the linker has all the information it needs to filter the gratuitously long list of libraries programmers tend to give it and keep the libraries that actually contributed to the link. -- Marcel Moolenaar USPA: A-39004 marcel@xcllnt.net