]> git.ipfire.org Git - thirdparty/gcc.git/commit - gcc/testsuite/ChangeLog
i386: Don't insert ENDBR after NOTE_INSN_DELETED_LABEL
authorhjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 31 May 2019 23:59:16 +0000 (23:59 +0000)
committerhjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 31 May 2019 23:59:16 +0000 (23:59 +0000)
commit6fee5604555e51fcffda908c7656484a195cd564
treec0f983b10c380cc8a2c896014347c7afc9f432b1
parent3e2001db7dbcff00b70e7de973f35bf583904748
i386: Don't insert ENDBR after NOTE_INSN_DELETED_LABEL

NOTE_INSN_DELETED_LABEL is used to mark what used to be a 'code_label',
but was not used for other purposes than taking its address which cannot
be used as target for indirect jumps.

Tested on Linux/x86-64 with -fcf-protection.

For x86-64 libc.so on glibc master branch (commit f43b8dd55588c3),

Before: 2961 endbr64
After:  2943 endbr64

gcc/

PR target/89355
* config/i386/i386-features.c (rest_of_insert_endbranch): Remove
NOTE_INSN_DELETED_LABEL check.

gcc/testsuite/

PR target/89355
* gcc.target/i386/cet-label-3.c: New test.
* gcc.target/i386/cet-label-4.c: Likewise.
* gcc.target/i386/cet-label-5.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@271828 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/config/i386/i386-features.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/i386/cet-label-3.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/cet-label-4.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/cet-label-5.c [new file with mode: 0644]