===================================================================
+ <li>Allow <code>-mpreferred-stack-boundary=3</code> for the x86-64
+ architecture with SSE extensions disabled. Since x86-64 ABI require
the...ABI
requires
+ used in controlled environment where stack space is important limitation.
is an important limitation
+ long double and __int128), leading to wrong results. You must build all
<code>...</code>
And the header for the supersection was missing.
All fixed with the patch below which I committed.
===================================================================
RCS file: /cvs/gcc/wwwdocs/htdocs/gcc-4.8/changes.html,v
retrieving revision 1.4
@@ -63,22 +63,22 @@ more information about requirements to b
<h3>Java (GCJ)</h3>
-->
-<!--
<h2 id="targets">New Targets and Target Specific Improvements</h2>
--->
<h3>IA-32/x86-64</h3>
<ul>
<li>Allow <code>-mpreferred-stack-boundary=3</code> for the x86-64
- architecture with SSE extensions disabled. Since x86-64 ABI require
- 16 byte stack alignment, this is ABI incompatible and intended to be
- used in controlled environment where stack space is important limitation.
+ architecture with SSE extensions disabled. Since the x86-64 ABI
+ requires 16 byte stack alignment, this is ABI incompatible and
+ intended to be used in controlled environments where stack space
+ is an 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
+ <code>long double</code> and <code>__int128</code>), leading to
+ wrong results. You must build all
modules with <code>-mpreferred-stack-boundary=3</code>, including any
libraries. This includes the system libraries and startup modules.</li>
</ul>