Re: 64-bit int not being aligned in 32-bit ARM, causing crash
Re: 64-bit int not being aligned in 32-bit ARM, causing crash
- Subject: Re: 64-bit int not being aligned in 32-bit ARM, causing crash
- From: Roland King <email@hidden>
- Date: Wed, 11 Mar 2015 18:23:00 +0800
> On 11 Mar 2015, at 18:13, Jonas Maebe <email@hidden> wrote:
>
>
> On 06 Mar 2015, at 02:50, Jens Alfke wrote:
>
>> Shouldn’t C alignment rules dictate that the ‘value’ union and the surrounding ‘atomic_val_t’ type be 8-byte-aligned, since they contain a 64-bit integer?
>
> Alignment rules are not dictated by the programming language, but by the ABI. The ARM ABI, and also Apple's variant, says that 64 bit integers are only guaranteed 4 byte alignment: https://developer.apple.com/library/ios/documentation/Xcode/Conceptual/iPhoneOSABIReference/Articles/ARMv6FunctionCallingConventions.html
>
If that's true, and read it too, the the compiler shouldn't be emitting a double word load which requires 8-byte alignment on a platform which doesn't guarantee it.
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Xcode-users mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden