Update -mpreferred-stack-boundary=3 warning
* doc/invoke.texi: Update -mpreferred-stack-boundary=3 warning. From-SVN: r188900
This commit is contained in:
parent
5bfb2af277
commit
50c7ad7e68
|
@ -1,3 +1,7 @@
|
||||||
|
2012-06-22 H.J. Lu <hongjiu.lu@intel.com>
|
||||||
|
|
||||||
|
* doc/invoke.texi: Update -mpreferred-stack-boundary=3 warning.
|
||||||
|
|
||||||
2012-06-22 H.J. Lu <hongjiu.lu@intel.com>
|
2012-06-22 H.J. Lu <hongjiu.lu@intel.com>
|
||||||
|
|
||||||
PR target/53383
|
PR target/53383
|
||||||
|
|
|
@ -13579,9 +13579,18 @@ the default is 4 (16 bytes or 128 bits).
|
||||||
|
|
||||||
@strong{Warning:} When generating code for the x86-64 architecture with
|
@strong{Warning:} When generating code for the x86-64 architecture with
|
||||||
SSE extensions disabled, @option{-mpreferred-stack-boundary=3} can be
|
SSE extensions disabled, @option{-mpreferred-stack-boundary=3} can be
|
||||||
used to keep the stack boundary aligned to 8 byte boundary. You must
|
used to keep the stack boundary aligned to 8 byte boundary. Since
|
||||||
build all modules with @option{-mpreferred-stack-boundary=3}, including
|
x86-64 ABI require 16 byte stack alignment, this is ABI incompatible and
|
||||||
any libraries. This includes the system libraries and startup modules.
|
intended to be used in controlled environment where stack space is
|
||||||
|
important limitation. This option will lead to wrong code when functions
|
||||||
|
compiled with 16 byte stack alignment (such as functions from a standard
|
||||||
|
library) are called with misaligned stack. In this case, SSE
|
||||||
|
instructions may lead to misaligned memory access traps. In addition,
|
||||||
|
variable arguments will be handled incorrectly for 16 byte aligned
|
||||||
|
objects (including x87 long double and __int128), leading to wrong
|
||||||
|
results. You must build all modules with
|
||||||
|
@option{-mpreferred-stack-boundary=3}, including any libraries. This
|
||||||
|
includes the system libraries and startup modules.
|
||||||
|
|
||||||
@item -mincoming-stack-boundary=@var{num}
|
@item -mincoming-stack-boundary=@var{num}
|
||||||
@opindex mincoming-stack-boundary
|
@opindex mincoming-stack-boundary
|
||||||
|
|
Loading…
Reference in New Issue