[cxx-abi-dev] Deleted virtual functions

Sean Perry perry at ca.ibm.com
Mon Jun 1 21:34:50 UTC 2009


Unfortunately, I don't think changing the calling convention would be an
option.  We will need to clean up the ABI.  In the meantime we should try
to make sure that new changes doesn't compound the problem.

Another area I've had concerns about is the comparison for equality of the
typeid operator (2.9.3).  There is a statement that doing a straight
address comparison is sufficient for testing equality.  That doesn't always
work when you considered shared libraries.  I am sure one of the python
boost failures for xlC on linux is because the two sides of a comparison
aren't resolving to the same object as you would expect.  I was initially
worried about systems like AIX where runtime symbol resolution wasn't the
norm, but I'm starting to think Linux has the same problem.
--
Sean Perry
Compiler Development
IBM Canada Lab
(905)-413-6031 (tie 313-6031), fax (905)-413-4839



                                                                           
             Mark Mitchell                                                 
             <mark at codesourcer                                             
             y.com>                                                     To 
                                       Sean Perry/Toronto/IBM at IBMCA        
             06/01/09 12:08 PM                                          cc 
                                       cxx-abi-dev at codesourcery.com,       
                                       Dennis Handly <dhandly at cup.hp.com>  
                                                                   Subject 
                                       Re: [cxx-abi-dev] Deleted virtual   
                                       functions                           
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           




Sean Perry wrote:

> On zSeries (i.e. 390) the linkage for C and C++ are different.
> Identifying all the places and providing solutions to the mixed linkage
> problems in the document is a prereq to implementing the C++ABI in
> zSeries compilers.

If you are going to change the ABI anyhow, would you reconsider this
difference in linkage?  The ABI document defines various C++ things in
terms of their C equivalents; for example, the ABI for a C++ non-static
function member is defined in terms of the ABI for a C function with an
extra parameter for "this".

In any case, if maintaining separate calling conventions for C and C++
is necessary, yes, I think you'll have to go through the document,
identify those places, and propose solutions.  The solutions need to
preserve backwards compatibility, so you may need to introduce some new
APIs that are used only on systems where the linkages do not match up.

--
Mark Mitchell
CodeSourcery
mark at codesourcery.com
(650) 331-3385 x713
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://sourcerytools.com/pipermail/cxx-abi-dev/attachments/20090601/71445c70/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: graycol.gif
Type: image/gif
Size: 105 bytes
Desc: not available
URL: <http://sourcerytools.com/pipermail/cxx-abi-dev/attachments/20090601/71445c70/attachment.gif>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: pic13971.gif
Type: image/gif
Size: 1255 bytes
Desc: not available
URL: <http://sourcerytools.com/pipermail/cxx-abi-dev/attachments/20090601/71445c70/attachment-0001.gif>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ecblank.gif
Type: image/gif
Size: 45 bytes
Desc: not available
URL: <http://sourcerytools.com/pipermail/cxx-abi-dev/attachments/20090601/71445c70/attachment-0002.gif>


More information about the cxx-abi-dev mailing list