common.opt (-fstack-clash-protection): New option.
authorJeff Law <law@redhat.com>
Wed, 20 Sep 2017 04:56:54 +0000 (22:56 -0600)
committerJeff Law <law@gcc.gnu.org>
Wed, 20 Sep 2017 04:56:54 +0000 (22:56 -0600)
commitee8f15c69e324cdb1fa553ac14f760f799c425e2
tree2808704ba1fbdc80b9f1cc9c3962f746872013ef
parent8fca13953b551bb75af0a31d737a297de97676a7
common.opt (-fstack-clash-protection): New option.

* common.opt (-fstack-clash-protection): New option.
* flag-types.h (enum stack_check_type): Note difference between
-fstack-check= and -fstack-clash-protection.
* params.def (PARAM_STACK_CLASH_PROTECTION_GUARD_SIZE): New PARAM.
(PARAM_STACK_CLASH_PROTECTION_PROBE_INTERVAL): Likewise.
* toplev.c (process_options): Issue warnings/errors for cases
not handled with -fstack-clash-protection.
* doc/invoke.texi (-fstack-clash-protection): Document new option.
(-fstack-check): Note additional problem with -fstack-check=generic.
Note that -fstack-check is primarily for Ada and refer users
to -fstack-clash-protection for stack-clash-protection.
Document new params for stack clash protection.

* gcc.dg/stack-check-2.c: New test.
* lib/target-supports.exp
(check_effective_target_supports_stack_clash_protection): New function.
(check_effective_target_frame_pointer_for_non_leaf): Likewise.
(check_effective_target_caller_implicit_probes): Likewise.

From-SVN: r252994
gcc/ChangeLog
gcc/common.opt
gcc/doc/invoke.texi
gcc/flag-types.h
gcc/params.def
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/stack-check-2.c [new file with mode: 0644]
gcc/testsuite/lib/target-supports.exp
gcc/toplev.c