This is the mail archive of the gcc@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]

HPUX C++ ABI


I've been talking to folks at HP about the C++ ABI in aCC.

They implemented the C++ ABI in aCC using earlier versions of the ABI
spec.  Due to changes in the spec, and a few mistakes, aCC doesn't
match up with G++.  Because aCC is already in production use, they don't
want to make changes to aCC.  But, they do want people to mix G++ and
aCC objects.

The solution HP is proposing is to make HPUX-only tweaks to the C++ ABI
in G++ so that on HPUX G++ behaves like aCC.

This is a big project, but nowhere near as big a project as (say)
implementing Sun's C++ ABI in G++; aCC is an "almost-compliant"
compiler in much the same way that G++ is.

I believe we should accept these patches, with three caveats:

 (1) We are convinced that they cannot possibly affect the ABI on
     other platforms.

 (2) We do not take responsibility for making sure they continue
     to work; our responsibility is to maintain the main ABI.

 (3) The patches do not so complicate the front end as to make us
     nervous about our ability to understand what is going on.

There is a slippery slope argument that "everyone else will want us to
support there variant of the ABI too".  But, there is no everyone else;
HP is the only vendor with an installed base that does not feel they
can make changes to their ABI.

Jessica, Steve, how close to think you are to achieving interoperability?
(It doesn't seem to me that there's too much point in accepting patches
for G++ to get closer to aCC unless you can get all the way; do you think
you understand all the things you need to do in order to get g++ to match
aCC?)

What do others think?

--
Mark Mitchell                mark@codesourcery.com
CodeSourcery, LLC            http://www.codesourcery.com


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