http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53383

Jan Hubicka <hubicka at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |hubicka at gcc dot gnu.org

--- Comment #6 from Jan Hubicka <hubicka at gcc dot gnu.org> 2012-05-18 
11:54:03 UTC ---
The reason why -mpreferred-stack-boundary=3 is not allowed is that the va-args
sequences generated are not safe in the case frame is misaligned and values
with higher intended alignment are passed.
In that case the caller would be required to do dynamic stack alignment. 

Otherwise the value might end up misaligned on the stack and va-arg sequence
will do alignment using & operation resulting in fetching wrong value from
memory.
Since we have dynamic stack alignment now, we could allow that and explicitely
document that as ABI breaking (like we have the double alignment and other
kludges on x86)

Honza

Reply via email to