On Tue, May 12, 2009 at 1:21 AM, Martin Bochnig <martin at martux.org> wrote:
> In the worst case what can happen is, that the user's runtime linker
> refuses to load Xorg due to missing symbols. In many cases you only
> hit one or two new symbols (anyway not too many), and then even some
> that are not necessarily required for normal operation. In those (in
> practice not uncommon) cases, you can satisfy the runtime linker with
> the well-known faking-missings-symbols trick.
>
> /* shim.c */
> int nameOfMissingFunctionHere(void *p) { return (0); }
> /* compile with /usr/sfw/bin/gcc -m64 -fPIC -shared -o /tmp/shim -c
> /tmp/shim.c ?*/
> /* end of shim.c */
>
>
> Then for running Xorg (or whatever other binary, to be tricked by that
> mechanism) :
> LD_PRELOAD_64=/path/to/shim /usr/X11/bin/sparcv9/Xorg
Ok, sometimes you need to explicitly run the runtime linker, for the
LD_*** variables to work as expected/desired:
LD_PRELOAD_64=/path/to/shim /usr/lib/sparcv9/ld.so.1 /usr/X11/bin/sparcv9/Xorg