[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