Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 16 May 2000 00:25:13 -0500
From:      "Jacques A . Vidrine" <n@nectar.com>
To:        freebsd-hackers@freebsd.org
Subject:   need to borrow a clue re: rtld
Message-ID:  <20000516002513.A65118@bone.nectar.com>

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

Messing about with Dante (the SOCKS5 replacement), I've encountered
some difficulty with run-time linking that I don't understand.

In brief:
 
 $ env LD_PRELOAD=libdsocks.so telnet # works
 $ env LD_PRELOAD=libdsocks.so xchat  # undefined symbol '_gethostbyname'
 $ env LD_PRELOAD=libc.so:libdsocks.so xchat # works

What I don't understand is:
 = Why is the run-time linker failing to find _gethostbyname in libc
   in the second case?  Looking at a ktrace shows that the relative
   order of loading libdsocks.so and libc.so is the same for both
   telnet and xchat, but the latter `doesn't work'.
  
I thought LD_BIND_NOW might be useful here, but it isn't.

The same problem is encountered even if the application is linked
(dynamically) with -ldsocks at build time (i.e. undefined symbol
unless I supply LD_PRELOAD=libc.so).

What might I look for in the build of libdsocks.so that would cause
such?

Thanks for any help!
-- 
Jacques Vidrine / n@nectar.com / nectar@FreeBSD.org


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20000516002513.A65118>