Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 18 Apr 2003 12:47:09 +0200 (MET DST)
From:      Ivan Popov <pin@math.chalmers.se>
To:        <freebsd-emulation@freebsd.org>
Subject:   Linux emulation missing (?) feature
Message-ID:  <Pine.SOL.4.30.0304181209390.4025-100000@hotlips.cs.chalmers.se>

next in thread | raw e-mail | index | archive | help
Hello,

as a casual FreeBSD user I can have missed some recent updates,
but to the best of my knowledge:

I have tested Linux ABI on FreeBSD 4.7 and discovered a missing feature,
that is important for me and can be very useful in general.

On Linux it is totally legitimate to run ELF binaries with both an
implicit loader (hardwired into the binary, most often like
"/lib/ld-linux.so.2") and an explicit loader, say by doing (execve()-ing)
 /lib/ld-linux.so.2 /some/binary argu men ts

[it is the same thing as with explicit choice of script interpreter
instead of relying on #! or for overriding unsuitable #! ]

The explicit loader choice is very important when you want to
run different binaries with different versions of glibc. The loader and
the glibc library have to match each other, so it is not enough to set a
proper LD_LIBRARY_PATH, you have to either recompile a binary and hardwire
a different loader path, or run the loader explicitely.
The explicit loader works excellently on Linux, but not on FreeBSD.

As for my tests, FreeBSD Linux ABI loader refuses to load and start a
"shared library" /younameit/ld-linux.so.2, despite that it would
suit as an executable as well.

The question is - how hard would it be to implement the functionality?
Is there a chance for it to be done?

Regards,
--
Ivan



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.SOL.4.30.0304181209390.4025-100000>