This is the mail archive of the
mailing list for the GCC project.
Re: PATCH: handle user-defined alignment on SPU
* Ulrich Weigand <firstname.lastname@example.org> [2006-12-12 04:40]:
> Right. The patch does fix the problem it was originally implemented
> to solve, because the aligned variables in crtstuff.c are in sections
> of their own anyway (.ctors / .dtors).
Ok. Given that the patch doesn't make anything worse, and is needed to
make .ctors / .dtors work, go ahead and commit it.
> However, to make it more generally useful, I agree that variables
> defined with non-standard alignment (but without any specical section
> assignment) should by default be moved to another section. What about
> .data.unaligned and .bss.unaligned?
> Do you think this should be explicitly specified in the ABI, or would
> this simply be an extension? The ABI currently does not allow for
> global data variables with less than 16 bytes alignment at all.
My feeling is that this is an extension and not much use except in
special situations like above. Not worth defining in the ABI.
In the GCC implementation, I think we should only allow less than
16-byte alignment on an object that was explicitly put in a non-data
section and force anything else to 16-byte alignment. Ulrich, do you
want to create a patch that does this?