Port-arm archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: AAPCS compatibility



On Sat, 2008-04-05 at 08:57 -0700, Matt Thomas wrote:
> On Apr 5, 2008, at 4:49 AM, Richard Earnshaw wrote:
> > The major difference is alignment of 64-bit types, which in AAPCS is
> > 64-bit, versus 32-bit in our ABI.
> >
> > I think this might be a good time to look at making the switch, there
> > are a number of other benefits from doing so, such as access to a  
> > larger
> > range of compilers, better support for C++ exceptions, etc.
> >
> > R.
> 
> AAPCS has short-enums but it seems we can say we don't use them with  
> still
> being AAPCS?
> 
> Instead of assigning enumeration containers as described above, a
> virtual platform may elect to use word-sized containers (int and
> unsigned int) for all enumeration types. In this case, the container
> type is int unless the upper bound is greater than 2147483647. A
> platform standard must document its choice.
> 

Indeed, a platform can chose either short enums or integer-sized enums.
ARM/Linux chose the latter, and I'd suggest NetBSD follows the Linux
variant in practically all respects.  The ARM/Linux choices are
documented here:

http://www.codesourcery.com/gnu_toolchains/arm/arm_gnu_linux_abi.pdf

R.



Home | Main Index | Thread Index | Old Index