Date: Wed, 7 Sep 2005 17:25:22 +0200 From: Joerg Sonnenberger <joerg@britannica.bec.de> To: freebsd-hackers@freebsd.org Subject: Re: Why is our symbol lookup the way it is? Message-ID: <20050907152522.GA547@britannica.bec.de> In-Reply-To: <20050907113206.GA73920@freefall.freebsd.org> References: <1126073204.18969.15.camel@shumai.marcuscom.com> <20050907113206.GA73920@freefall.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, Sep 07, 2005 at 11:32:06AM +0000, Alexander Kabaev wrote: > On Wed, Sep 07, 2005 at 02:06:44AM -0400, Joe Marcus Clarke wrote: > > This is something that's been bothering me for a while, ever since I > > fixed the symbol conflicts in Mozilla with -Bsymbolic. Why do we not > > look in the referencing object first by default? I'm referring to the > > great comments in the symlook_default() function in rtld.c. We only > > check the referencing object first when -Bsymbolic is passed to the > > linker. > > Number of reasons. Programs should be able to override symbols from > dynamim libraries, for instance. C++ exceptions won't work with -Bsymbolic > when exceptions are thrown across shared library boundaries, as thrower > and hander will use their own typeinfo structures and the catch clause > in handler block will simply not recognize the exception, etc. Even more simple, libc vs. libc_r / libkse / libpthread. Joerg
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20050907152522.GA547>