[PATCH] FreeBSD AArch64 support

Andrew Turner andrew at fubar.geek.nz
Thu Nov 13 10:25:01 PST 2014


On Thu, 13 Nov 2014 10:10:22 -0800
Tim Northover <t.p.northover at gmail.com> wrote:

> > Not according to the ABI documentation I have, for size_t on an LP64
> > model the size_t is an unsigned long. Only LLP64 uses an unsigned
> > long long as it's the only unsigned type of the correct size.
> 
> What generic LP64 documentation do you have? I could certainly believe
> some architecture ABI says "LP64 => size_t == unsigned long" here, or
> some platform, but I don't think ARM does. And I don't think anyone
> else really has the authority, unless using "long long" is
> fundamentally broken somehow.

I have the "Procedure Call Standard for the ARM 64-bit Architecture"
issue 1.1-beta from [1]. It appears to be different from the 1.0
revision as it lists the types for the ILP32, LP64 and LLP64 models.

The previous documentation listed both types with a note that the type
shall be unsigned long long on systems with a 32-bit unsigned long. It
doesn't say which type should be used when both are 64-bit.

Andrew

[1]
http://infocenter.arm.com/help/topic/com.arm.doc.ihi0055c/IHI0055C_beta_aapcs64.pdf



More information about the cfe-commits mailing list