@@ -149,26 +149,33 @@ a work-in-progress.</p>
to enable additional hardening.
</li>
<li>
- New option <code>-fhardened</code>, an umbrella option that enables a set
- of hardening flags. The options it enables can be displayed using the
+ New option
+ <a href="https://gcc.gnu.org/onlinedocs/gcc/Instrumentation-Options.html#index-fhardened"><code>-fhardened</code></a>,
+ an umbrella option that enables a set of hardening flags.
+ The options it enables can be displayed using the
<code>--help=hardened</code> option.
</li>
<li>
- New option <code>-fharden-control-flow-redundancy</code>, to
- verify, at the end of functions, that the visited basic blocks
+ New option
+ <a href="https://gcc.gnu.org/onlinedocs/gcc/Instrumentation-Options.html#index-fharden-control-flow-redundancy"><code>-fharden-control-flow-redundancy</code></a>,
+ to verify, at the end of functions, that the visited basic blocks
correspond to a legitimate execution path, so as to detect and
prevent attacks that transfer control into the middle of
functions.
</li>
<li>
- New type attribute <code>hardbool</code>, for C and Ada. Hardened
+ New type attribute
+ <a href="https://gcc.gnu.org/onlinedocs/gcc/Common-Type-Attributes.html#index-hardbool-type-attribute"><code>hardbool</code></a>,
+ for C and Ada. Hardened
booleans take user-specified representations for <code>true</code>
and <code>false</code>, presumably with higher hamming distance
than standard booleans, and get verified at every use, detecting
memory corruption and some malicious attacks.
</li>
<li>
- New type attribute <code>strub</code> to control stack scrubbing
+ New type attribute
+ <a href="https://gcc.gnu.org/onlinedocs/gcc/Common-Type-Attributes.html#index-strub-type-attribute"><code>strub</code></a>
+ to control stack scrubbing
properties of functions and variables. The stack frame used by
functions marked with the attribute gets zeroed-out upon returning
or exception escaping. Scalar variables marked with the attribute
@@ -176,7 +183,9 @@ a work-in-progress.</p>
enabled implicitly.
</li>
<li>
- New option <code>-finline-stringops</code>, to force inline
+ New option
+ <a href="https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html#index-finline-stringops"><code>-finline-stringops</code></a>,
+ to force inline
expansion of <code>memcmp</code>, <code>memcpy</code>,
<code>memmove</code> and <code>memset</code>, even when that is
not an optimization, to avoid relying on library
Signed-off-by: David Malcolm <dmalcolm@redhat.com> --- htdocs/gcc-14/changes.html | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-)