Problem with LD_PRELOAD
Daniel Jacobowitz
drow@mvista.com
Wed Mar 20 19:20:00 GMT 2002
On Thu, Mar 21, 2002 at 02:55:16AM +0000, Manuel Arriaga wrote:
> On Tuesday 19 March 2002 23:37, Daniel Jacobowitz wrote:
> > Also, to override functions in GNU libc, you need to provide versioned
> > symbols using the same versions as GNU libc uses. ?
>
> Could you tell me how/where they are used? Don't all userland programs just
> use the un-versioned symbol?
Not really. All userland programs link without specifying a version.
Look at objdump output:
08049298 DF *UND* 00000157 GLIBC_2.0 opendir
That means the reference is to a GLIBC_2.0 version of opendir. I
believe there's magic in ld.so that an unversioned, preloaded symbol
will match any versioned reference, so you're OK. I had forgotten
that.
--
Daniel Jacobowitz Carnegie Mellon University
MontaVista Software Debian GNU/Linux Developer
More information about the Binutils
mailing list