* config/i386/i386.c (ix86_adjust_stack_and_probe_stack_clash): New.
commit57e17e31cb358fcd0d7cea8264b5063762ab3971
authorlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 20 Sep 2017 05:35:07 +0000 (20 05:35 +0000)
committerlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 20 Sep 2017 05:35:07 +0000 (20 05:35 +0000)
tree4113182962c97b316c32e9cfba060b8d769d0a98
parent02a09d2cdd5c3e1a6b3017587a28ee5d788705b7
* config/i386/i386.c (ix86_adjust_stack_and_probe_stack_clash): New.
(ix86_expand_prologue): Dump stack clash info as needed.
Call ix86_adjust_stack_and_probe_stack_clash as needed.

* gcc.dg/stack-check-4.c: New test.
* gcc.dg/stack-check-5.c: New test.
* gcc.dg/stack-check-6.c: New test.
* gcc.dg/stack-check-6a.c: New test.
* gcc.dg/stack-check-7.c: New test.
* gcc.dg/stack-check-8.c: New test.
* gcc.dg/stack-check-9.c: New test.
* gcc.dg/stack-check-10.c: New test.
* lib/target-supports.exp
(check_effective_target_supports_stack_clash_protection): Enable for
x86 and x86_64 targets.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@252998 138bc75d-0d04-0410-961f-82ee72b054a4
13 files changed:
gcc/ChangeLog
gcc/config/i386/i386.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/stack-check-10.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/stack-check-3.c
gcc/testsuite/gcc.dg/stack-check-4.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/stack-check-5.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/stack-check-6.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/stack-check-6a.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/stack-check-7.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/stack-check-8.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/stack-check-9.c [new file with mode: 0644]
gcc/testsuite/lib/target-supports.exp