Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 17 Jun 2003 09:23:02 -0700
From:      Marcel Moolenaar <marcel@xcllnt.net>
To:        Joe Kelsey <joek@mail.flyingcroc.net>
Cc:        questions@freebsd.org
Subject:   Re: Tools to modify shared libraries
Message-ID:  <20030617162302.GC584@dhcp01.pn.xcllnt.net>
In-Reply-To: <3EEF3E10.8030205@mail.flyingcroc.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>

next in thread | previous in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030617162302.GC584>