This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: PATCH: ARM va_list
- From: "Joseph S. Myers" <joseph at codesourcery dot com>
- To: Richard Earnshaw <rearnsha at arm dot com>
- Cc: Daniel Jacobowitz <drow at false dot org>, Paul Brook <paul at codesourcery dot com>, Mark Mitchell <mark at codesourcery dot com>, gcc-patches at gcc dot gnu dot org, janis187 at us dot ibm dot com
- Date: Fri, 6 Feb 2009 14:49:42 +0000 (UTC)
- Subject: Re: PATCH: ARM va_list
- References: <20090114002202.66CB94C1C098@zelda.codesourcery.com> <Pine.LNX.4.64.0901172004530.21051@digraph.polyomino.org.uk> <4973D193.3010606@codesourcery.com> <200901190110.58554.paul@codesourcery.com> <20090119170322.GA9098@caradoc.them.org> <1232639018.6156.53.camel@pc960.cambridge.arm.com>
On Thu, 22 Jan 2009, Richard Earnshaw wrote:
> On balance I think it would be useful to maintain the backwards
> compatibility for Linux, but essential to gain ABI compatibility for
> SymbianOS. If both of those goals cannot be satisfied simultaneously,
> then I think we need to go with ABI conformance: in the end, that is the
> the rules by which we are claiming to adhere.
Of course it's possible in principle to make the code do things like this,
but we seem to be applying much more complicated analysis to this fix than
to the x86_64 C ABI fix currently under discussion or to any past C ABI
change (whether or not one aiming to follow an actively maintained
multi-vendor document, as is the case both here and for x86_64), the
likely effect of which is the change not going in for either Linux or
SymbianOS. I don't see any patch presently proposed that handles things
differently for different targets.
I suggest we put this in as is with a release note similar to past C ABI
changes on various platforms. I noted in
<http://gcc.gnu.org/ml/gcc-patches/2009-01/msg00711.html> that some
comments were out of date because the ABI does now specify std::__va_list,
so I suggest removing "(to match RealView) " in the first comment quoted
and changing the second to "The ARM ABI documents (10th October 2008) say
that "__va_list" has to be managled as if it is in the "std" namespace.".
I suggest putting the release note in the "Caveats" section of
gcc-4.4/changes.html following the one about packed bit-fields, saying
something like:
<li>On ARM EABI targets, the C++ mangling of the <code>va_list</code>
type has been changed to conform to the current revision of the EABI.
This does not affect the libstdc++ library included with GCC.</li>
--
Joseph S. Myers
joseph@codesourcery.com