re PR middle-end/92825 (Unnecesary stack protection in Firefox's LightPixel.)
authorJakub Jelinek <jakub@redhat.com>
Tue, 10 Dec 2019 21:04:08 +0000 (22:04 +0100)
committerJakub Jelinek <jakub@gcc.gnu.org>
Tue, 10 Dec 2019 21:04:08 +0000 (22:04 +0100)
commit6b24e342cb30abb5c13e3092929837545a5bd49e
treeb77d3b21518543c4c938866fdd9afd705a527070
parent6b6a80654c704ee4ec9bb3c951af12353397a1b8
re PR middle-end/92825 (Unnecesary stack protection in Firefox's LightPixel.)

PR middle-end/92825
* cfgexpand.c (add_stack_protection_conflicts): Change return type
from void to bool, return true if at least one stack_vars[i].decl
is addressable.
(record_or_union_type_has_array_p, stack_protect_decl_p): Remove.
(expand_used_vars): Don't call stack_protect_decl_p, instead for
-fstack-protector-strong set gen_stack_protect_signal to true
if add_stack_protection_conflicts returned true.  Formatting fixes.
* doc/invoke.texi (-fstack-protector-strong): Clarify that optimized
out variables or variables not living on the stack don't count.
(-fstack-protector): Likewise.  Clarify it affects >= 8 byte arrays
rather than > 8 byte.

* gcc.target/i386/pr92825.c: New test.

From-SVN: r279193
gcc/ChangeLog
gcc/cfgexpand.c
gcc/doc/invoke.texi
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/i386/pr92825.c [new file with mode: 0644]