any chance for an explicitely runnable runtime linker?

Carmelo AMOROSO carmelo.amoroso at st.com
Thu Sep 15 12:52:22 UTC 2011


On 15/09/2011 13.56, u-uclibc-y2lt at aetey.se wrote:
> Hello,
> 
> We are using, for good reasons, a software setup which would be extremely
> complicated to maintain if there were not the possibility to run the
> (glibc) runtime linker explicitely (instead of relying on the compiled-in
> path to it).
> 
> Hence we are bound to glibc for dynamic linking (and to uclibc for static)
> because the functionalitites are not available otherwise.
> 
> I wonder if it would be hard to implement a corresponding feature for
> uClibc's loader. This would not only open for conversion of our
> setup to uclibc but certainly would be useful for others too.
> 
> I am talking about the following:
> ----
> $ /lib/ld-linux.so.2
> Usage: ld.so [OPTION]... EXECUTABLE-FILE [ARGS-FOR-PROGRAM...]
> You have invoked `ld.so', the helper program for shared library executables.
> This program usually lives in the file `/lib/ld.so', and special directives
> in executable files using ELF shared libraries tell the system's program
> loader to load the helper program from this file.  This helper program loads
> the shared libraries needed by the program executable, prepares the program
> to run, and runs it.  You may invoke this helper program directly from the
> command line to load and run an ELF executable file; this is like executing
> that file itself, but always uses this helper program from the file you
> specified, instead of the helper program file specified in the executable
> file you run.  This is mostly of use for maintainers to test new versions
> of this helper program; chances are you did not intend to run this program.
> 
>   --list                list all dependencies and how they are resolved
>   --verify              verify that given object really is a dynamically linked
>                         object we can handle
>   --library-path PATH   use given PATH instead of content of the environment
>                         variable LD_LIBRARY_PATH
>   --inhibit-rpath LIST  ignore RUNPATH and RPATH information in object names
>                         in LIST
>   --audit LIST          use objects named in LIST as auditors
> ----
> 
> One of the crucial things is "--library-path" - which is not inherited by
> child processes, in contrast to LD_LIBRARY_PATH. This gives a possibility
> to safely specify the actual (loader and/or) library instance per process.
> 
> (--inhibit-rpath option is a very useful one too, but I would also
> happily live with it being the default, say by loader compile-time option)
> 
> Regards,
> Rune
> 

You are referring to stand-alone execution mode.
It is support in master now. You need to configure uClibc to enebale it.

Regards,
Carmelo

> _______________________________________________
> uClibc mailing list
> uClibc at uclibc.org
> http://lists.busybox.net/mailman/listinfo/uclibc
> 



More information about the uClibc mailing list