This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


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

Re: A completely different approach to EH runtime


On Fri, Feb 23, 2001 at 12:43:35AM -0800, Zack Weinberg wrote:
> > No.  Think: the data symbols won't resolve as you wish for
> > the exact same reasons that the function symbols didn't.
> 
> If we make it common?  Linkonce?

No, no, no.

> I know there's a way to get exactly one copy of a data symbol
> in ELF no matter how many shared libraries define it.

No there isn't.  Not really.

> The new C++ ABI uses it for RTTI.

The new C++ ABI attempts to use linkonce symbols for RTTI,
but is broken in corner cases.  I've mentioned this before
on the lists, btw.

Let me 'splain again a failing scenario.

libfoo and libbar are compiled and linked separately.  Let's say
that they're intended to be dynamicly loaded, and as such both
export the same set of symbols.  The application, expecting this,
dlopens them without RTLD_GLOBAL.

In this situation, libfoo sees _none_ of libbar's symbols.  There
is no cross-resolution of any kind.  Any scheme which relies on
same has just fallen over.

There are other similar scenarios involving -Bsymbolic.



r~


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