RTLD changes for non-native system (was: Re: Why does adding
/usr/lib32 to LD_LIBRARY_PATH break 64-bit ?binaries?)
Alexander Leidinger
Alexander at Leidinger.net
Tue Oct 28 11:31:34 PDT 2008
Quoting Daniel O'Connor <doconnor at gsoft.com.au> (from Tue, 28 Oct 2008
10:18:10 +1030):
> On Tuesday 28 October 2008 01:31:16 M. Warner Losh wrote:
>> In message: <200810271411.m9REB6te015188 at lurza.secnetix.de>
>>
>> Oliver Fromme <olli at lurza.secnetix.de> writes:
>> : Daniel O'Connor wrote:
>> : > On Friday 24 October 2008 23:20:59 Peter Jeremy wrote:
>> : > > > this will make system trying to bind 32-bit libs to 64-bit
>> : > > > program. it can't work
>> : > >
>> : > > rtld shouldn't attempt to bind 32-bit libs to 64-bit programs.
>> : >
>> : > The same problem happens with the Linux run time linker - it merrily
>> : > tries to link FreeBSD libraries to Linux binaries with predictable
>> : > results..
>> :
>> : You *can* link Linux libraries with FreeBSD binaries (and
>> : vice versa), if the library does not perform any syscalls,
>> : e.g. it is a pure computation library or similar.
>> :
>> : > That said it would be really nice if it ignored incompatible libraries
>> : > :)
>> :
>> : No. Please don't put such pseudo-cleverness into rtld.
>> : It wouldn't be an improvement, in fact it might break some
>> : working configurations.
>>
>> Yes. I have a bunch of printer drivers that I've used that link in
>> linux shared libraries... They are in ports...
>
> Good point..
> The problem is really the Linux linker - it will find a FreeBSD library and
> try and use it ahead of a Linux one later in the search path - this prevents
> stuff working :)
>
> I have this exact problem with libfontconfig and Xilinx ISE.
>
> Perhaps instead of ignore, use last.. But then it doesn't really matter for
> the FreeBSD linker - I imagine I would have to convince Linux folks it's a
> good idea.
Please ignore for a moment that we are not talking about changing the
FreeBSD RTLD anymore:
Would it make sense (for us and/or for GNU) to first search for libs
for the current system and if none are found to try the others?
Bye,
Alexander.
--
There is hardly a thing in the world that some man can
not make a little worse and sell a little cheaper.
http://www.Leidinger.net Alexander @ Leidinger.net: PGP ID = B0063FE7
http://www.FreeBSD.org netchild @ FreeBSD.org : PGP ID = 72077137
More information about the freebsd-questions
mailing list