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]

[PATCH] Fix C++ PATCH for C++14 sized deallocation


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  <jakub@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


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