This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Alignment and split function args


On Fri, Feb 27, 2004 at 11:53:46AM +0000, Paul Brook wrote:
> We need to change the documentation then.
> 
> >From tm.texi:
> "PREFERRED_STACK_BOUNDARY
> Define this macro if you wish to preserve a certain alignment for the stack 
> pointer, greater than what the hardware enforces.
				 ^^^^^^^^^^^^^^^^^^

This is the documentation bug.  STACK_BOUNDARY refers to the 
alignment required by the official ABI.  PREFERRED_STACK_BOUNDARY
refers to an *additional* alignment requested by the user.

The later can only be reliably supplied when all object files are
compiled with a compiler that supports the additional alignment.
Other object files built with compilers that merely conform to the
ABI will "misalign" the stack as far as the user's request is concerned.

> This requires 64-bit alignment for long long. It also requires 64-bit stack 
> alignment on entry/exit from public symbols...

This means you should be using STACK_BOUNDARY only.


r~


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]