[prev in list] [next in list] [prev in thread] [next in thread] 

List:       glibc-alpha
Subject:    Re: How should STB_GNU_UNIQUE binding interact with RTLD_LOCAL ?
From:       Cary Coutant <ccoutant () google ! com>
Date:       2011-10-28 21:19:17
Message-ID: CAHACq4q=n1YF0BHLMe7-keKRxdopZ05oQqeUsMXqWE6AeHaWgw () mail ! gmail ! com
[Download RAW message or body]

> http://gcc.gnu.org/ml/gcc-patches/2009-07/msg01240.html is the earliest
> thing I've found quickly that talks about the rationale. =A0If you think =
the
> rationale is bogus, then you should take it up with Jason. =A0Since I'm
> curious, you can CC: me. =A0But I don't think libc-alpha needs to hear al=
l
> that discussion. =A0We're just supporting what the C++ gurus have said th=
ey
> need, and all we need to hear about here is if the consensus of C++ gurus
> changes.

For the case discussed in that email (a common library that two others
both depend on), I think the basic idea is sound. The problem is that
when the two separately-loaded libraries (i.e., the ones that both
depend on the common library) define the same symbol, that symbol is
also shared between the two libraries. That, along with the fact that
some symbols get STB_GNU_UNIQUE binding (e.g., statics in template
instantiations, statics in inlines) and other symbols don't (e.g.,
statics in non-template classes), leads to the issues that we're
seeing.

-cary
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic