public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
From: Qing Zhao <qing.zhao@oracle.com>
To: Richard Biener <rguenther@suse.de>
Cc: Kees Cook <keescook@chromium.org>,
	gcc-patches Nick Alcock via <gcc-patches@gcc.gnu.org>
Subject: Re: [patch][gcc12-changes] Add a new item about the support for automatic static variable initialization
Date: Wed, 29 Sep 2021 14:18:06 +0000	[thread overview]
Message-ID: <4BAB5ACE-8831-470C-A6C3-F75BFF20D5B8@oracle.com> (raw)
In-Reply-To: <qp400nq-45pp-88nq-o245-p811o9691671@fhfr.qr>



> On Sep 29, 2021, at 5:39 AM, Richard Biener <rguenther@suse.de> wrote:
> 
> On Tue, 28 Sep 2021, Kees Cook wrote:
> 
>> On Tue, Sep 28, 2021 at 08:31:13PM +0000, Qing Zhao wrote:
>>> Hi,
>>> 
>>> This is the patch for the gcc12 changes  per your request. 
>>> 
>>> Kees provided most of the wording. 
>>> 
>>> Please take a look and let’s know whether it’s good for commit?
>>> 
>>> thanks.
>>> 
>>> Qing
>>> 
>>> ================================================
>>> 
>>> 
>>> From: qing zhao <qing.zhao@oracle.com>
>>> Date: Tue, 28 Sep 2021 12:01:42 -0700
>>> Subject: [PATCH] gcc-12/changes.html: Uninitialized stack variables
>>> initialization update
>>> 
>>> 	* htdocs/gcc-12/changes.html (Eliminating uninitialized variables):
>>> 	Item about the support for automatic static variable initialization.
>>> ---
>>> htdocs/gcc-12/changes.html | 19 +++++++++++++++++++
>>> 1 file changed, 19 insertions(+)
>>> 
>>> diff --git a/htdocs/gcc-12/changes.html b/htdocs/gcc-12/changes.html
>>> index 1f156a9..8e2979c 100644
>>> --- a/htdocs/gcc-12/changes.html
>>> +++ b/htdocs/gcc-12/changes.html
>>> @@ -245,6 +245,25 @@ a work-in-progress.</p>
>>> <!-- .................................................................. -->
>>> <h2>Other significant improvements</h2>
>>> 
>>> +<h3 id="uninitialized">Eliminating uninitialized variables</h3>
>>> +
>>> +<ul>
>>> +  <li>GCC can now initialize all stack variables implicitly, including
>>> +      padding. This is intended to eliminate all classes of uninitialized
>>> +      stack variable flaws. Lack of explicit initialization will still
>>> +      warn when <code>-Wuninitialized</code> is active. For best
>>> +      debugging, use of the new command-line option
>>> +      <code>-ftrivial-auto-var-init=pattern</code> can be used to fill
>>> +      variables with a repeated 0xFE 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 <code>-ftrivial-auto-var-init=zero</code> can be used to
>>> +      fill variables with 0x00, which tends to provide a safer state for
>>> +      bugs (e.g. pointers are NULL, strings are NULL filled, and sizes
>> 
>> Minor nit: I've always been corrected that "NULL" refers to a pointer, and
>> "NUL" refers to the "null character", so the latter use of NULL should be
>> "NUL": ... pointers are NULL, strings are NUL filled, and size ...
>> 
>> I mix this up all the time, so apologies if that got introduced by me!
>> :)
> 
> Also things like 0xFE and NULL should be wrapped in <code></code>, 
> otherwise it looks good to me.

Okay, will update them before committing.

Thanks.

Qing
> 
> Thanks,
> Richard.
> 
>> -Kees
>> 
>>> +      and indices are 0).
>>> +  </li>
>>> +</ul>
>>> +
>>> <h3 id="debug">Debugging formats</h3>
>>> 
>>> <ul>
>>> -- 
>>> 1.9.1
>>> 
>>> 
>> 
>> 
> 
> -- 
> Richard Biener <rguenther@suse.de>
> SUSE Software Solutions Germany GmbH, Maxfeldstrasse 5, 90409 Nuernberg,
> Germany; GF: Felix Imendörffer; HRB 36809 (AG Nuernberg)


  reply	other threads:[~2021-09-29 14:18 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-09-28 20:31 Qing Zhao
2021-09-28 20:39 ` Kees Cook
2021-09-29 10:39   ` Richard Biener
2021-09-29 14:18     ` Qing Zhao [this message]
2021-09-29 14:43       ` Qing Zhao
2021-09-29 17:15         ` Kees Cook
2021-09-29 14:14   ` Qing Zhao
2021-09-29 14:42 ` Martin Sebor

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4BAB5ACE-8831-470C-A6C3-F75BFF20D5B8@oracle.com \
    --to=qing.zhao@oracle.com \
    --cc=gcc-patches@gcc.gnu.org \
    --cc=keescook@chromium.org \
    --cc=rguenther@suse.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).