i386: Insert ENDBR to trampoline for -fcf-protection=branch -mibt
commitc7d2b33d39725e06a78c0010259a5b7188fff722
authorhjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 27 Mar 2018 17:18:51 +0000 (27 17:18 +0000)
committerhjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 27 Mar 2018 17:18:51 +0000 (27 17:18 +0000)
tree74c73da032e30d770b72cef8e23b63c614e53b74
parentf5ab930c5dad884891f77b89e47068c69919f6a7
i386: Insert ENDBR to trampoline for -fcf-protection=branch -mibt

When -fcf-protection=branch -mibt are used, we need to insert ENDBR
to trampoline.  TRAMPOLINE_SIZE is creased by 4 bytes to accommodate
4-byte ENDBR instruction.

gcc/

PR target/85044
* config/i386/i386.c (ix86_trampoline_init): Insert ENDBR for
-fcf-protection=branch -mibt.
* config/i386/i386.h (TRAMPOLINE_SIZE): Increased by 4 bytes.

gcc/testsuite/

PR target/85044
* gcc.target/i386/pr85044.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@258897 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/config/i386/i386.c
gcc/config/i386/i386.h
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/i386/pr85044.c [new file with mode: 0644]