[cxx-abi-dev] There is no obligation to unique virtual tables
Jason Merrill
jason at redhat.com
Sun Feb 17 21:58:18 UTC 2013
On 02/16/2013 08:58 PM, John McCall wrote:
> GCC stopped even uniquing _ZTS's by
> default as of GCC 4.5, using a new comparison scheme on all platforms
> (which, incidentally, I think would be worth documenting as an official
> alternative, if anyone from GCC would mind describing the rules they use).
_ZTSs are no less unique now than they were before; we just accepted
that RTLD_LOCAL prevents reliably uniquing symbols. For data that
really needs to be unique such as template static data members, we
introduced STB_GNU_UNIQUE, but we decided that it was too expensive to
use for _ZTSs, so we left them only mostly unique, and started doing
string comparison instead of pointer comparison. For types local to a
translation unit we still do pointer comparison.
Jason
More information about the cxx-abi-dev
mailing list