attribute aligned(4) ignored

Chris Lattner sabre@nondot.org
Tue Jul 26 05:57:00 GMT 2005


On Tue, 25 Jul 2005, Ian Lance Taylor wrote:
>> ... the struct maintains its 8-byte alignment even though nothing
>> inside of it requires 8-byte alignment any more.
>
> When I try that with a powerpc-eabi compiler, it appears to generates
> a struct with a size of 12 bytes and an alignment of 4 bytes.  Do you
> not see that with a Darwin compiler?  What target are you configuring
> for?  What sources are you using?

This is a powerpc-darwin specific issue I believe.  The Darwin ABI states 
(roughly) that doubles have 4-byte alignment, unless they are the first 
element of a structure (in which they have 8-byte alignment).  I think 
this is a holdover from AIX compatibility.

It is my guess that this ABI rule is overruling the user request, but I 
don't really know how to go about verifying this, or working around it :(

-Chris

-- 
http://nondot.org/sabre/
http://llvm.org/



More information about the Gcc-help mailing list