This is the mail archive of the gcc-patches@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]
Other format: [Raw text]

ABI Issues with... C++,v3 PATCH for c++/42983 (virtual vs. default)


Hi again,
> The consensus on issue 906 in Santa Cruz was to require defaulted
> virtual functions to be defaulted outside the class so that it's clear
> they are user-provided.  This required a few changes in the library; I
> dealt with it by just providing inline definitions after the class
> definition; do library folks want something else?
>
> Tested x86_64-pc-linux-gnu, applied to trunk; the patch is local to
> C++0x mode.
Jason, please double check your patch vs ABI stability, I'm seeing
abi_check failures, confirmed on gcc-testresults (see for example HJ on
ia64). See below on x86_64.

Looks like we are now exporting nested_exception symbols which we didn't
export before your patch, probably because now we have a definition of
those symbols. If my analysis is correct and we can't avoid the
definitions themselves, make sure to tighten the existing linker script
patterns to not match those symbols, which apparently are getting
through at the baseline version GLIBCXX_3.4, meaning some linker script
patterns for the baseline ABI are a bit too loose... the usual
annoyance, in other terms.

Paolo.

////////////////

6 incompatible symbols
0
_ZNSt16nested_exceptionD1Ev
std::nested_exception::~nested_exception()
version status: incompatible
GLIBCXX_3.4
type: function
status: added


1
_ZNSt16nested_exceptionD0Ev
std::nested_exception::~nested_exception()
version status: incompatible
GLIBCXX_3.4
type: function
status: added


2
_ZTISt16nested_exception
typeinfo for std::nested_exception
version status: incompatible
GLIBCXX_3.4
type: object
type size: 16
status: added


3
_ZTSSt16nested_exception
typeinfo name for std::nested_exception
version status: incompatible
GLIBCXX_3.4
type: object
type size: 21
status: added


4
_ZTVSt16nested_exception
vtable for std::nested_exception
version status: incompatible
GLIBCXX_3.4
type: object
type size: 32
status: added


5
_ZNSt16nested_exceptionD2Ev
std::nested_exception::~nested_exception()
version status: incompatible
GLIBCXX_3.4
type: function
status: added


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