public inbox for gcc-cvs-wwwdocs@sourceware.org
help / color / mirror / Atom feed
* gcc-wwwdocs branch master updated. e9d81288aaae7626d7b511e0f84cba3e72f47b52
@ 2022-05-06 7:02 Jakub Jelinek
0 siblings, 0 replies; only message in thread
From: Jakub Jelinek @ 2022-05-06 7:02 UTC (permalink / raw)
To: gcc-cvs-wwwdocs
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "gcc-wwwdocs".
The branch, master has been updated
via e9d81288aaae7626d7b511e0f84cba3e72f47b52 (commit)
via 7ec645cedf255c9ed8c96a1f05955bc9cdc8b744 (commit)
from 32b0a487f8bade5c9bb2da9aecf21323509feefb (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit e9d81288aaae7626d7b511e0f84cba3e72f47b52
Author: Jakub Jelinek <jakub@redhat.com>
Date: Fri May 6 09:02:34 2022 +0200
Releasing 12.1.
diff --git a/htdocs/gcc-12/changes.html b/htdocs/gcc-12/changes.html
index cabde308..1b6385cd 100644
--- a/htdocs/gcc-12/changes.html
+++ b/htdocs/gcc-12/changes.html
@@ -22,9 +22,6 @@ You may also want to check out our
<a href="../onlinedocs/index.html#current">full GCC documentation</a>.
</p>
-<p>Note: GCC 12 has not been released yet, so this document is
-a work-in-progress.</p>
-
<!-- .................................................................. -->
<h2>Caveats</h2>
<ul>
@@ -978,7 +975,15 @@ function Multiply (S1, S2 : Sign) return Sign is
<!-- .................................................................. -->
-<!-- <h2><a name="12.1">GCC 12.1</a></h2> -->
+<h2><a name="12.1">GCC 12.1</a></h2>
+
+<p>This is the <a href="https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=12.0">list
+of problem reports (PRs)</a> from GCC's bug tracking system that are
+known to be fixed in the 12.1 release. This list might not be
+complete (that is, it is possible that some PRs that have been fixed
+are not listed here).</p>
+
+<!-- .................................................................. -->
</body>
</html>
diff --git a/htdocs/gcc-12/index.html b/htdocs/gcc-12/index.html
index 1c879589..2b9432bb 100644
--- a/htdocs/gcc-12/index.html
+++ b/htdocs/gcc-12/index.html
@@ -11,7 +11,24 @@
<h1>GCC 12 Release Series</h1>
-<p>As of this time no releases of GCC 12 have yet been made.</p>
+<p>May 6, 2022</p>
+
+<p>The GCC developers are pleased to announce the release of GCC 12.1.</p>
+
+<p>This release is a major release, containing new features (as well
+as many other improvements) relative to GCC 11.x.</p>
+
+<h2>Release History</h2>
+
+<dl>
+
+<dt>GCC 12.1</dt>
+<dd>May 6, 2022
+ (<a href="changes.html">changes</a>,
+ <a href="http://gcc.gnu.org/onlinedocs/12.1.0/">documentation</a>)
+</dd>
+
+</dl>
<h2>References and Acknowledgements</h2>
@@ -25,7 +42,7 @@ as new information becomes available.</p>
<p>The GCC developers would like to thank the numerous people that have
contributed new features, improvements, bug fixes, and other changes as
well as test results to GCC.
-This <a href="http://gcc.gnu.org/onlinedocs/gcc/Contributors.html">amazing
+This <a href="http://gcc.gnu.org/onlinedocs/gcc-12.1.0/gcc/Contributors.html">amazing
group of volunteers</a> is what makes GCC successful.</p>
<p>For additional information about GCC please refer to the
commit 7ec645cedf255c9ed8c96a1f05955bc9cdc8b744
Author: Jakub Jelinek <jakub@redhat.com>
Date: Fri May 6 08:57:51 2022 +0200
Point into 12.1.0 onlinedocs instead of trunk.
diff --git a/htdocs/gcc-12/changes.html b/htdocs/gcc-12/changes.html
index 87c8bcf8..cabde308 100644
--- a/htdocs/gcc-12/changes.html
+++ b/htdocs/gcc-12/changes.html
@@ -169,7 +169,7 @@ a work-in-progress.</p>
routines added for Fortran and extended for C/C++ in OpenMP 5.1. In
Fortran code, strictly structured blocks can be used.</li>
<li>The <a
- href="https://gcc.gnu.org/onlinedocs/libgomp/OpenMP-Implementation-Status.html"
+ href="https://gcc.gnu.org/onlinedocs/gcc-12.1.0/libgomp/OpenMP-Implementation-Status.html"
>OpenMP Implementation Status</a> can be found in the libgomp manual.</li>
</ul>
</li>
@@ -179,10 +179,10 @@ a work-in-progress.</p>
</li>
<li>The offload target code generation for OpenMP and OpenACC can now
be better adjusted using the new <a
- href="https://gcc.gnu.org/onlinedocs/gcc/C-Dialect-Options.html#index-foffload-options"
+ href="https://gcc.gnu.org/onlinedocs/gcc-12.1.0/gcc/C-Dialect-Options.html#index-foffload-options"
><code>-foffload-options=</code></a> flag and the pre-existing but now
documented <a
- href="https://gcc.gnu.org/onlinedocs/gcc/C-Dialect-Options.html#index-foffload"
+ href="https://gcc.gnu.org/onlinedocs/gcc-12.1.0/gcc/C-Dialect-Options.html#index-foffload"
><code>-foffload=</code></a> flag.
</li>
</ul>
@@ -259,7 +259,7 @@ function Multiply (S1, S2 : Sign) return Sign is
enhancements.</li>
<li>Improvements to embedded-RTOS targets such as RTEMS, VxWorks and
QNX. Older targets were removed or cleaned.</li>
- <li>Added some <a href="https://gcc.gnu.org/onlinedocs/gnat_rm/Security-Hardening-Features.html#Security-Hardening-Features">hardening features</a>.</li>
+ <li>Added some <a href="https://gcc.gnu.org/onlinedocs/gcc-12.1.0/gnat_rm/Security-Hardening-Features.html#Security-Hardening-Features">hardening features</a>.</li>
</ul>
<h3 id="c-family">C family</h3>
@@ -274,19 +274,19 @@ function Multiply (S1, S2 : Sign) return Sign is
the clang language extension was added.</li>
<li>New warnings:
<ul>
- <li><a href="https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wbidi-chars"><code>-Wbidi-chars</code></a>
+ <li><a href="https://gcc.gnu.org/onlinedocs/gcc-12.1.0/gcc/Warning-Options.html#index-Wbidi-chars"><code>-Wbidi-chars</code></a>
warns about potentially misleading UTF-8
bidirectional control characters. The default is
<code>-Wbidi-chars=unpaired</code>
(<a href="https://gcc.gnu.org/PR103026">PR103026</a>)</li>
- <li><a href="https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Warray-compare"><code>-Warray-compare</code></a>
+ <li><a href="https://gcc.gnu.org/onlinedocs/gcc-12.1.0/gcc/Warning-Options.html#index-Warray-compare"><code>-Warray-compare</code></a>
warns about comparisons between two operands of
array type (<a href="https://gcc.gnu.org/PR97573">PR97573</a>)</li>
</ul>
</li>
<li>Enhancements to existing warnings:
<ul>
- <li><a href="https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wattributes"><code>-Wattributes</code></a>
+ <li><a href="https://gcc.gnu.org/onlinedocs/gcc-12.1.0/gcc/Warning-Options.html#index-Wattributes"><code>-Wattributes</code></a>
has been extended so that it's
possible to use <code>-Wno-attributes=ns::attr</code> or
<code>-Wno-attributes=ns::</code> to suppress warnings about unknown scoped
@@ -313,7 +313,7 @@ function Multiply (S1, S2 : Sign) return Sign is
<li>The <code>#elifdef</code> and <code>#elifndef</code>
preprocessing directives are now supported.</li>
<li>The <code>printf</code> and <code>scanf</code> format checking
- with <a href="https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wformat"><code>-Wformat</code></a>
+ with <a href="https://gcc.gnu.org/onlinedocs/gcc-12.1.0/gcc/Warning-Options.html#index-Wformat"><code>-Wformat</code></a>
now supports the <code>%b</code> format
specified by C2X for binary integers, and the <code>%B</code>
format recommended by C2X for <code>printf</code>.
@@ -379,11 +379,11 @@ function Multiply (S1, S2 : Sign) return Sign is
<code>-fno-inline</code> is not active.</li>
<li>Deduction guides can be declared at class scope
(<a href="https://gcc.gnu.org/PR79501">PR79501</a>)</li>
- <li><a href="https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wuninitialized"><code>-Wuninitialized</code></a>
+ <li><a href="https://gcc.gnu.org/onlinedocs/gcc-12.1.0/gcc/Warning-Options.html#index-Wuninitialized"><code>-Wuninitialized</code></a>
warns about using uninitialized variables in
member initializer lists (<a href="https://gcc.gnu.org/PR19808">PR19808</a>)
</li>
- <li><a href="https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wint-in-bool-context"><code>-Wint-in-bool-context</code></a>
+ <li><a href="https://gcc.gnu.org/onlinedocs/gcc-12.1.0/gcc/Warning-Options.html#index-Wint-in-bool-context"><code>-Wint-in-bool-context</code></a>
is now disabled when instantiating
a template (<a href="https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=3a2b12bc">git</a>)</li>
<li>Stricter checking of attributes on friend declarations: if a friend
@@ -398,13 +398,13 @@ function Multiply (S1, S2 : Sign) return Sign is
and can be used to control existing pedwarns about occurrences of
new C++ constructs in code using an old C++ standard dialect.</li>
<li>New warning
- <a href="https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wmissing-requires"><code>-Wmissing-requires</code></a>
+ <a href="https://gcc.gnu.org/onlinedocs/gcc-12.1.0/gcc/Warning-Options.html#index-Wmissing-requires"><code>-Wmissing-requires</code></a>
warns about missing <code>requires</code>
(<a href="https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=e18e56c7">git</a>)</li>
<li>The existing <code>std::is_constant_evaluated</code> in <code>if</code>
warning was extended to warn in more cases
(<a href="https://gcc.gnu.org/PR100995">PR100995</a>)</li>
- <li><a href="https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Waddress"><code>-Waddress</code></a>
+ <li><a href="https://gcc.gnu.org/onlinedocs/gcc-12.1.0/gcc/Warning-Options.html#index-Waddress"><code>-Waddress</code></a>
has been enhanced so that it now warns about, for
instance, comparing the address of a nonstatic member function to null
(<a href="https://gcc.gnu.org/PR102103">PR102103</a>)</li>
@@ -428,7 +428,7 @@ function Multiply (S1, S2 : Sign) return Sign is
(<a href="https://gcc.gnu.org/PR101786">PR101786</a>)</li>
<li>Support for C++17 <code>std::hardware_destructive_interference_size</code>
was added, along with the
- <a href="https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Winterference-size"><code>-Winterference-size</code></a>
+ <a href="https://gcc.gnu.org/onlinedocs/gcc-12.1.0/gcc/Warning-Options.html#index-Winterference-size"><code>-Winterference-size</code></a>
warning
(<a href="https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=76b75018">git</a>)</li>
<li>Many bugs in the CTAD handling have been fixed
@@ -520,42 +520,42 @@ function Multiply (S1, S2 : Sign) return Sign is
<ul>
<li>The libgccjit API gained 30 new entry points:
<ul>
- <li>17 new "reflection" entrypoints for querying functions and types (<a href="https://gcc.gnu.org/onlinedocs/jit/topics/compatibility.html#libgccjit-abi-16"><code>LIBGCCJIT_ABI_16</code></a>)
+ <li>17 new "reflection" entrypoints for querying functions and types (<a href="https://gcc.gnu.org/onlinedocs/gcc-12.1.0/jit/topics/compatibility.html#libgccjit-abi-16"><code>LIBGCCJIT_ABI_16</code></a>)
</li>
<li>
- <a href="https://gcc.gnu.org/onlinedocs/jit/topics/expressions.html#c.gcc_jit_lvalue_set_tls_model"><code>gcc_jit_lvalue_set_tls_model</code></a>
+ <a href="https://gcc.gnu.org/onlinedocs/gcc-12.1.0/jit/topics/expressions.html#c.gcc_jit_lvalue_set_tls_model"><code>gcc_jit_lvalue_set_tls_model</code></a>
for supporting thread-local variables
- (<a href="https://gcc.gnu.org/onlinedocs/jit/topics/compatibility.html#libgccjit-abi-17"><code>LIBGCCJIT_ABI_17</code></a>)
+ (<a href="https://gcc.gnu.org/onlinedocs/gcc-12.1.0/jit/topics/compatibility.html#libgccjit-abi-17"><code>LIBGCCJIT_ABI_17</code></a>)
</li>
<li>
- <a href="https://gcc.gnu.org/onlinedocs/jit/topics/expressions.html#c.gcc_jit_lvalue_set_link_section"><code>gcc_jit_lvalue_set_link_section</code></a>
+ <a href="https://gcc.gnu.org/onlinedocs/gcc-12.1.0/jit/topics/expressions.html#c.gcc_jit_lvalue_set_link_section"><code>gcc_jit_lvalue_set_link_section</code></a>
for setting the link section of global variables, analogous to
- <a href="https://gcc.gnu.org/onlinedocs/gcc/Common-Variable-Attributes.html#index-section-variable-attribute"><code>__attribute__((section(".section")))</code></a>
- (<a href="https://gcc.gnu.org/onlinedocs/jit/topics/compatibility.html#libgccjit-abi-18"><code>LIBGCCJIT_ABI_18</code></a>)
+ <a href="https://gcc.gnu.org/onlinedocs/gcc-12.1.0/gcc/Common-Variable-Attributes.html#index-section-variable-attribute"><code>__attribute__((section(".section")))</code></a>
+ (<a href="https://gcc.gnu.org/onlinedocs/gcc-12.1.0/jit/topics/compatibility.html#libgccjit-abi-18"><code>LIBGCCJIT_ABI_18</code></a>)
</li>
<li>4 new entrypoints for initializing global variables and creating
constructors for rvalues
- (<a href="https://gcc.gnu.org/onlinedocs/jit/topics/compatibility.html#libgccjit-abi-19"><code>LIBGCCJIT_ABI_19</code></a>)
+ (<a href="https://gcc.gnu.org/onlinedocs/gcc-12.1.0/jit/topics/compatibility.html#libgccjit-abi-19"><code>LIBGCCJIT_ABI_19</code></a>)
</li>
<li>
Support for sized integer types, including 128-bit integers and helper functions for such types
- (<a href="https://gcc.gnu.org/onlinedocs/jit/topics/compatibility.html#libgccjit-abi-20"><code>LIBGCCJIT_ABI_20</code></a>)
+ (<a href="https://gcc.gnu.org/onlinedocs/gcc-12.1.0/jit/topics/compatibility.html#libgccjit-abi-20"><code>LIBGCCJIT_ABI_20</code></a>)
</li>
<li>
- <a href="https://gcc.gnu.org/onlinedocs/jit/topics/expressions.html#c.gcc_jit_context_new_bitcast"><code>gcc_jit_context_new_bitcast</code></a> for reinterpreting the bits of an rvalue as a different type
- (<a href="https://gcc.gnu.org/onlinedocs/jit/topics/compatibility.html#libgccjit-abi-21"><code>LIBGCCJIT_ABI_21</code></a>)
+ <a href="https://gcc.gnu.org/onlinedocs/gcc-12.1.0/jit/topics/expressions.html#c.gcc_jit_context_new_bitcast"><code>gcc_jit_context_new_bitcast</code></a> for reinterpreting the bits of an rvalue as a different type
+ (<a href="https://gcc.gnu.org/onlinedocs/gcc-12.1.0/jit/topics/compatibility.html#libgccjit-abi-21"><code>LIBGCCJIT_ABI_21</code></a>)
</li>
<li>
- <a href="https://gcc.gnu.org/onlinedocs/jit/topics/expressions.html#c.gcc_jit_lvalue_set_register_name"><code>gcc_jit_lvalue_set_register_name</code></a> for setting a specific register for a variable
- (<a href="https://gcc.gnu.org/onlinedocs/jit/topics/compatibility.html#libgccjit-abi-22"><code>LIBGCCJIT_ABI_22</code></a>)
+ <a href="https://gcc.gnu.org/onlinedocs/gcc-12.1.0/jit/topics/expressions.html#c.gcc_jit_lvalue_set_register_name"><code>gcc_jit_lvalue_set_register_name</code></a> for setting a specific register for a variable
+ (<a href="https://gcc.gnu.org/onlinedocs/gcc-12.1.0/jit/topics/compatibility.html#libgccjit-abi-22"><code>LIBGCCJIT_ABI_22</code></a>)
</li>
<li>
- <a href="https://gcc.gnu.org/onlinedocs/jit/topics/contexts.html#c.gcc_jit_context_set_bool_print_errors_to_stderr"><code>gcc_jit_context_set_bool_print_errors_to_stderr</code></a>
- (<a href="https://gcc.gnu.org/onlinedocs/jit/topics/compatibility.html#libgccjit-abi-23"><code>LIBGCCJIT_ABI_23</code></a>)
+ <a href="https://gcc.gnu.org/onlinedocs/gcc-12.1.0/jit/topics/contexts.html#c.gcc_jit_context_set_bool_print_errors_to_stderr"><code>gcc_jit_context_set_bool_print_errors_to_stderr</code></a>
+ (<a href="https://gcc.gnu.org/onlinedocs/gcc-12.1.0/jit/topics/compatibility.html#libgccjit-abi-23"><code>LIBGCCJIT_ABI_23</code></a>)
</li>
<li>
2 new entrypoints for setting the alignment of a variable
- (<a href="https://gcc.gnu.org/onlinedocs/jit/topics/compatibility.html#libgccjit-abi-24"><code>LIBGCCJIT_ABI_24</code></a>)
+ (<a href="https://gcc.gnu.org/onlinedocs/gcc-12.1.0/jit/topics/compatibility.html#libgccjit-abi-24"><code>LIBGCCJIT_ABI_24</code></a>)
</li>
</ul>
</li>
@@ -563,7 +563,7 @@ function Multiply (S1, S2 : Sign) return Sign is
(<a href="https://gcc.gnu.org/PR96066">PR96066</a>,
<a href="https://gcc.gnu.org/PR96067">PR96067</a>)
</li>
- <li><a href="https://gcc.gnu.org/onlinedocs/jit/topics/expressions.html#c.gcc_jit_context_new_cast">gcc_jit_context_new_cast</a>
+ <li><a href="https://gcc.gnu.org/onlinedocs/gcc-12.1.0/jit/topics/expressions.html#c.gcc_jit_context_new_cast">gcc_jit_context_new_cast</a>
is now able to handle truncation and extension between different
integer types
(<a href="https://gcc.gnu.org/PR95498">PR95498</a>)
@@ -760,7 +760,7 @@ function Multiply (S1, S2 : Sign) return Sign is
<h3 id="pru">PRU</h3>
<ul>
<li>The <a
- href="https://gcc.gnu.org/onlinedocs/gcc/Named-Address-Spaces.html#PRU-Named-Address-Spaces"
+ href="https://gcc.gnu.org/onlinedocs/gcc-12.1.0/gcc/Named-Address-Spaces.html#PRU-Named-Address-Spaces"
><code>__regio_symbol</code></a> variable qualifier has been added.
It allows easier access in C programs to the <code>__R30</code> and
<code>__R31</code> CPU I/O registers.
@@ -816,54 +816,54 @@ function Multiply (S1, S2 : Sign) return Sign is
<h2 id="analyzer">Improvements to Static Analyzer</h2>
<ul>
- <li>The analyzer has gained a <a href="https://gcc.gnu.org/onlinedocs/gcc/Static-Analyzer-Options.html#index-Wanalyzer-use-of-uninitialized-value"><code>-Wanalyzer-use-of-uninitialized-value</code></a>
+ <li>The analyzer has gained a <a href="https://gcc.gnu.org/onlinedocs/gcc-12.1.0/gcc/Static-Analyzer-Options.html#index-Wanalyzer-use-of-uninitialized-value"><code>-Wanalyzer-use-of-uninitialized-value</code></a>
warning, similar to
- <a href="https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wuninitialized"><code>-Wuninitialized</code></a>
+ <a href="https://gcc.gnu.org/onlinedocs/gcc-12.1.0/gcc/Warning-Options.html#index-Wuninitialized"><code>-Wuninitialized</code></a>
and
- <a href="https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wmaybe-uninitialized"><code>-Wmaybe-uninitialized</code></a>,
+ <a href="https://gcc.gnu.org/onlinedocs/gcc-12.1.0/gcc/Warning-Options.html#index-Wmaybe-uninitialized"><code>-Wmaybe-uninitialized</code></a>,
but based on an interprocedural path-sensitive analysis
(<a href="https://gcc.gnu.org/PR95006">PR95006</a>).
<p>Such warnings are not disabled by the new
- <a href="https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html#index-ftrivial-auto-var-init"><code>-ftrivial-auto-var-init</code></a>
+ <a href="https://gcc.gnu.org/onlinedocs/gcc-12.1.0/gcc/Optimize-Options.html#index-ftrivial-auto-var-init"><code>-ftrivial-auto-var-init</code></a>
(see below), as the latter is considered a mitigation option.</p>
</li>
- <li><a href="https://gcc.gnu.org/onlinedocs/gcc/Static-Analyzer-Options.html#index-Wanalyzer-write-to-const"><code>-Wanalyzer-write-to-const</code></a>
+ <li><a href="https://gcc.gnu.org/onlinedocs/gcc-12.1.0/gcc/Static-Analyzer-Options.html#index-Wanalyzer-write-to-const"><code>-Wanalyzer-write-to-const</code></a>
and
- <a href="https://gcc.gnu.org/onlinedocs/gcc/Static-Analyzer-Options.html#index-Wanalyzer-write-to-string-literal"><code>-Wanalyzer-write-to-string-literal</code></a>
+ <a href="https://gcc.gnu.org/onlinedocs/gcc-12.1.0/gcc/Static-Analyzer-Options.html#index-Wanalyzer-write-to-string-literal"><code>-Wanalyzer-write-to-string-literal</code></a>
will now check for
- <a href="https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html"><code>__attribute__ ((access, ....))</code></a>
+ <a href="https://gcc.gnu.org/onlinedocs/gcc-12.1.0/gcc/Common-Function-Attributes.html"><code>__attribute__ ((access, ....))</code></a>
on calls to externally-defined functions, and complain about read-only
regions pointed to by arguments marked with a <code>write_only</code>
or <code>read_write</code> attribute
(<a href="https://gcc.gnu.org/PR104793">PR104793</a>).
</li>
<li>The analyzer's "taint" mode, activated by
- <a href="https://gcc.gnu.org/onlinedocs/gcc/Static-Analyzer-Options.html#index-fanalyzer-checker"><code>-fanalyzer-checker=taint</code></a>
- (in addition to <a href="https://gcc.gnu.org/onlinedocs/gcc/Static-Analyzer-Options.html#index-fanalyzer"><code>-fanalyzer</code></a>),
+ <a href="https://gcc.gnu.org/onlinedocs/gcc-12.1.0/gcc/Static-Analyzer-Options.html#index-fanalyzer-checker"><code>-fanalyzer-checker=taint</code></a>
+ (in addition to <a href="https://gcc.gnu.org/onlinedocs/gcc-12.1.0/gcc/Static-Analyzer-Options.html#index-fanalyzer"><code>-fanalyzer</code></a>),
has gained four new taint-based warnings:
<ul>
- <li><a href="https://gcc.gnu.org/onlinedocs/gcc/Static-Analyzer-Options.html#index-Wanalyzer-tainted-allocation-size"><code>-Wanalyzer-tainted-allocation-size</code></a>
+ <li><a href="https://gcc.gnu.org/onlinedocs/gcc-12.1.0/gcc/Static-Analyzer-Options.html#index-Wanalyzer-tainted-allocation-size"><code>-Wanalyzer-tainted-allocation-size</code></a>
for e.g. attacker-controlled <code>malloc</code>
and <code>alloca</code>,
</li>
- <li><a href="https://gcc.gnu.org/onlinedocs/gcc/Static-Analyzer-Options.html#index-Wanalyzer-tainted-divisor"><code>-Wanalyzer-tainted-divisor</code></a>
+ <li><a href="https://gcc.gnu.org/onlinedocs/gcc-12.1.0/gcc/Static-Analyzer-Options.html#index-Wanalyzer-tainted-divisor"><code>-Wanalyzer-tainted-divisor</code></a>
for detecting where an attacker can inject a divide-by-zero,
</li>
- <li><a href="https://gcc.gnu.org/onlinedocs/gcc/Static-Analyzer-Options.html#index-Wanalyzer-tainted-offset"><code>-Wanalyzer-tainted-offset</code></a>
+ <li><a href="https://gcc.gnu.org/onlinedocs/gcc-12.1.0/gcc/Static-Analyzer-Options.html#index-Wanalyzer-tainted-offset"><code>-Wanalyzer-tainted-offset</code></a>
for attacker-controlled pointer offsets,
</li>
- <li><a href="https://gcc.gnu.org/onlinedocs/gcc/Static-Analyzer-Options.html#index-Wanalyzer-tainted-size"><code>-Wanalyzer-tainted-size</code></a>
+ <li><a href="https://gcc.gnu.org/onlinedocs/gcc-12.1.0/gcc/Static-Analyzer-Options.html#index-Wanalyzer-tainted-size"><code>-Wanalyzer-tainted-size</code></a>
for attacker-controlled values being used as a size parameter to
calls to <code>memset</code> or to functions marked with
- <a href="https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html"><code>__attribute__ ((access, ....))</code></a>.
+ <a href="https://gcc.gnu.org/onlinedocs/gcc-12.1.0/gcc/Common-Function-Attributes.html"><code>__attribute__ ((access, ....))</code></a>.
</li>
</ul>
<p>The existing
- <a href="https://gcc.gnu.org/onlinedocs/gcc/Static-Analyzer-Options.html#index-Wanalyzer-tainted-array-index"><code>-Wanalyzer-tainted-array-index</code></a>
+ <a href="https://gcc.gnu.org/onlinedocs/gcc-12.1.0/gcc/Static-Analyzer-Options.html#index-Wanalyzer-tainted-array-index"><code>-Wanalyzer-tainted-array-index</code></a>
has been reworded to talk about "attacker-controlled" rather than
"tainted" values, for consistency with the new warnings.
</p>
- <p>A new <a href="https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html#index-tainted_005fargs-function-attribute"><code>__attribute__ ((tainted_args))</code></a> has been
+ <p>A new <a href="https://gcc.gnu.org/onlinedocs/gcc-12.1.0/gcc/Common-Function-Attributes.html#index-tainted_005fargs-function-attribute"><code>__attribute__ ((tainted_args))</code></a> has been
added to the C and C++ frontends, usable on functions, and on
function pointer callback fields in structs. The analyzer's taint
mode will treat all parameters and buffers pointed to by parameters
@@ -873,7 +873,7 @@ function Multiply (S1, S2 : Sign) return Sign is
</p>
</li>
<li>The analyzer now respects
- <a href="https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html#index-const-function-attribute"><code>__attribute__((const))</code></a>:
+ <a href="https://gcc.gnu.org/onlinedocs/gcc-12.1.0/gcc/Common-Function-Attributes.html#index-const-function-attribute"><code>__attribute__((const))</code></a>:
it will treat such functions as returning the same value when given
the same inputs (<a href="https://gcc.gnu.org/PR104434">PR104434</a>),
and as having no side effects (<a href="https://gcc.gnu.org/PR104576">PR104576</a>).
@@ -939,18 +939,18 @@ function Multiply (S1, S2 : Sign) return Sign is
<h3 id="uninitialized">Eliminating uninitialized variables</h3>
<ul>
- <li>GCC can now <a href="https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html#index-ftrivial-auto-var-init">initialize all stack variables implicitly</a>, including
+ <li>GCC can now <a href="https://gcc.gnu.org/onlinedocs/gcc-12.1.0/gcc/Optimize-Options.html#index-ftrivial-auto-var-init">initialize all stack variables implicitly</a>, including
padding. This is intended to eliminate all classes of uninitialized
stack variable flaws. Lack of explicit initialization will still
warn when
- <a href="https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wuninitialized"><code>-Wuninitialized</code></a>
+ <a href="https://gcc.gnu.org/onlinedocs/gcc-12.1.0/gcc/Warning-Options.html#index-Wuninitialized"><code>-Wuninitialized</code></a>
is active. For best debugging, use of the new command-line option
- <a href="https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html#index-ftrivial-auto-var-init"><code>-ftrivial-auto-var-init=pattern</code></a>
+ <a href="https://gcc.gnu.org/onlinedocs/gcc-12.1.0/gcc/Optimize-Options.html#index-ftrivial-auto-var-init"><code>-ftrivial-auto-var-init=pattern</code></a>
can be used to fill variables with a repeated <code>0xFE</code> pattern, which tends to
illuminate many bugs (e.g. pointers receive invalid addresses, sizes
and indices are very large). For best production results, the new
command-line option
- <a href="https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html#index-ftrivial-auto-var-init"><code>-ftrivial-auto-var-init=zero</code></a>
+ <a href="https://gcc.gnu.org/onlinedocs/gcc-12.1.0/gcc/Optimize-Options.html#index-ftrivial-auto-var-init"><code>-ftrivial-auto-var-init=zero</code></a>
can be
used to fill variables with <code>0x00</code>, which tends to provide
a safer state for bugs (e.g. pointers are <code>NULL</code>, strings
-----------------------------------------------------------------------
Summary of changes:
htdocs/gcc-12/changes.html | 115 +++++++++++++++++++++++----------------------
htdocs/gcc-12/index.html | 21 ++++++++-
2 files changed, 79 insertions(+), 57 deletions(-)
hooks/post-receive
--
gcc-wwwdocs
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2022-05-06 7:02 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-05-06 7:02 gcc-wwwdocs branch master updated. e9d81288aaae7626d7b511e0f84cba3e72f47b52 Jakub Jelinek
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).