On Tue, Dec 16, 2014 at 05:54:04PM +0100, Jakub Jelinek wrote: > On Tue, Dec 16, 2014 at 10:16:42AM -0500, Jason Merrill wrote: > > On 12/16/2014 05:09 AM, Andreas Schwab wrote: > > >covariant4.C:(.text._ZN5ModelD2Ev[_ZN5ModelD5Ev]+0x1e): undefined > > >reference to `operator delete(void*, unsigned int)'. > > > > Can you determine why this reference isn't being satisfied by libstdc++? > > Note it fails on i686-linux (and x86_64-linux with -m32) too: > http://gcc.gnu.org/ml/gcc-testresults/2014-12/msg02036.html
So something like (untested)? [jmy] is e.g. what is used for operator new... 2014-12-16 Jakub Jelinek <ja...@redhat.com> * config/abi/pre/gnu.ver (CXXABI_1.3.9): Export not just _Zd[la]Pvm, but also _Zd[la]Pv[jy] to cover other std::size_t manglings. --- libstdc++-v3/config/abi/pre/gnu.ver 2014-12-16 15:03:03.183517188 +0100 +++ libstdc++-v3/config/abi/pre/gnu.ver 2014-12-16 18:08:22.527440407 +0100 @@ -1734,9 +1734,9 @@ CXXABI_1.3.9 { _ZTSPK[no]; # operator delete(void*, std::size_t) - _ZdlPvm; + _ZdlPv[jmy]; # operator delete[](void*, std::size_t) - _ZdaPvm; + _ZdaPv[jmy]; } CXXABI_1.3.8; Jakub