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