This is the mail archive of the binutils@sourceware.cygnus.com mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: [jluu@mainsoft.com: Re: Possible linker problem]


On Tue, Mar 14, 2000 at 10:02:04AM -0800, Ian Lance Taylor wrote:
>    Date: Tue, 14 Mar 2000 09:55:09 -0800
>    From: "H . J . Lu" <hjl@lucon.org>
> 
>    I know the problem. As I said, it is a combination of C++, -Bsymbolic
>    and ia32 ABI. We cannot change ia32 ABI. It will be hard to change
>    C++. The only feasible thing is -Bsymbolic. Ian, we can change
>    ld such that
> 
>    1. Don't apply -Bsymbolic to any data objects which are generated
>    by compiler, like any symbols started with "__". Or
>    2. Use can provided a list of symbols which we don't do -Bsymbolic on.
> 
>    I like #1 and we can have a switch to turn it on and off.
> 
> I don't know the actual bug, so I don't see how I can comment.

Oops. I forgot it.  I enclosed a testcase here.
> 
> I can't imagine any way that I would think that choice number 1 was
> correct.  -Bsymbolic is clearly defined.  I don't think we should
> change it.
> 
> -Bsymbolic does not prevent you from referring to symbols which are
> not defined in the shared library.  I assume you have a case where a
> symbol is defined in a shared library, but you want to permit it to be
> overridden.  You should not be using -Bsymbolic in such a case.  You
> need the more precise control over symbol visibility that you can get
> by using a version script.  In other words, choice 2 is already
> available.

Not a bad idea.


H.J.

t143.tar.gz


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]