Skip site navigation (1)Skip section navigation (2)
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>