This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[PATCH 0/5] x86/CET: Remove the -mcet command-lint option
- From: "H.J. Lu" <hjl dot tools at gmail dot com>
- To: gcc-patches at gcc dot gnu dot org
- Cc: Igor Tsimbalist <igor dot v dot tsimbalist at intel dot com>, Uros Bizjak <ubizjak at gmail dot com>
- Date: Sun, 22 Apr 2018 06:48:20 -0700
- Subject: [PATCH 0/5] x86/CET: Remove the -mcet command-lint option
With revision 259496:
commit b1384095a7c1d06a44b70853372ebe037b2f7867
Author: hjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>
Date: Thu Apr 19 15:15:04 2018 +0000
x86: Enable -fcf-protection with multi-byte NOPs
-fcf-protection no longer depens on -mcet and with revision 259522:
commit d59cfa9a4064339cf2bd2da828c4c133f13e57f0
Author: hjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>
Date: Fri Apr 20 13:30:13 2018 +0000
Define __CET__ for -fcf-protection and remove -mibt
-mcet becomes an alias for -mshstk.
To enable shadow stack protection in a program, -fcf-protection=return
must be used to compile the program. -mcet/-mshstk are used to enable
shadow stack intrinsics to IMPLEMENT shadow stack, not to ENABLE shadow
stack protection. Since -mcet won't get any shadow stack protection,
-mcet will only lead user confusions. This set of patches removes -mcet
from GCC 8.
H.J. Lu (5):
x86/CET: Build target libraries with -mshstk
Regenerate configure of target libraries
Don't bootstrap GCC with -mcet
x86/CET tests: Remove -mcet/-mno-cet or replace -mcet with -mshstk
x86/CET: Remove the -mcet command-lint option
config/bootstrap-cet.mk | 6 +--
config/cet.m4 | 2 +-
gcc/common/config/i386/i386-common.c | 1 -
gcc/config/i386/i386.opt | 5 ---
gcc/doc/install.texi | 4 +-
gcc/doc/invoke.texi | 10 +----
gcc/testsuite/g++.dg/cet-notrack-1.C | 2 +-
gcc/testsuite/g++.dg/torture/pr85334.C | 2 +-
gcc/testsuite/gcc.dg/pr85388-1.c | 2 +-
gcc/testsuite/gcc.dg/pr85388-2.c | 2 +-
gcc/testsuite/gcc.dg/pr85388-3.c | 2 +-
gcc/testsuite/gcc.dg/pr85388-4.c | 2 +-
gcc/testsuite/gcc.dg/pr85388-5.c | 2 +-
gcc/testsuite/gcc.dg/pr85388-6.c | 4 +-
gcc/testsuite/gcc.dg/torture/pr85397-1.c | 2 +-
gcc/testsuite/gcc.target/i386/attr-nocf-check-1a.c | 2 +-
gcc/testsuite/gcc.target/i386/attr-nocf-check-3a.c | 2 +-
gcc/testsuite/gcc.target/i386/cet-intrin-10.c | 2 +-
gcc/testsuite/gcc.target/i386/cet-intrin-3.c | 2 +-
gcc/testsuite/gcc.target/i386/cet-intrin-5.c | 2 +-
gcc/testsuite/gcc.target/i386/cet-intrin-6.c | 2 +-
gcc/testsuite/gcc.target/i386/cet-intrin-7.c | 2 +-
gcc/testsuite/gcc.target/i386/cet-intrin-8.c | 2 +-
gcc/testsuite/gcc.target/i386/cet-intrin-9.c | 2 +-
gcc/testsuite/gcc.target/i386/cet-label-2.c | 2 +-
gcc/testsuite/gcc.target/i386/cet-label-3.c | 16 --------
gcc/testsuite/gcc.target/i386/cet-label.c | 4 +-
gcc/testsuite/gcc.target/i386/cet-notrack-1a.c | 2 +-
gcc/testsuite/gcc.target/i386/cet-notrack-1b.c | 2 +-
gcc/testsuite/gcc.target/i386/cet-notrack-2a.c | 2 +-
gcc/testsuite/gcc.target/i386/cet-notrack-2b.c | 2 +-
gcc/testsuite/gcc.target/i386/cet-notrack-3.c | 2 +-
gcc/testsuite/gcc.target/i386/cet-notrack-4a.c | 2 +-
gcc/testsuite/gcc.target/i386/cet-notrack-4b.c | 2 +-
gcc/testsuite/gcc.target/i386/cet-notrack-5a.c | 2 +-
gcc/testsuite/gcc.target/i386/cet-notrack-5b.c | 2 +-
gcc/testsuite/gcc.target/i386/cet-notrack-6a.c | 2 +-
gcc/testsuite/gcc.target/i386/cet-notrack-6b.c | 2 +-
gcc/testsuite/gcc.target/i386/cet-notrack-7.c | 2 +-
gcc/testsuite/gcc.target/i386/cet-notrack-icf-2.c | 2 +-
gcc/testsuite/gcc.target/i386/cet-notrack-icf-4.c | 2 +-
gcc/testsuite/gcc.target/i386/cet-property-1.c | 2 +-
gcc/testsuite/gcc.target/i386/cet-property-2.c | 2 +-
gcc/testsuite/gcc.target/i386/cet-property-3.c | 11 -----
gcc/testsuite/gcc.target/i386/cet-rdssp-1.c | 2 +-
gcc/testsuite/gcc.target/i386/cet-sjlj-1.c | 2 +-
gcc/testsuite/gcc.target/i386/cet-sjlj-2.c | 2 +-
gcc/testsuite/gcc.target/i386/cet-sjlj-3.c | 2 +-
gcc/testsuite/gcc.target/i386/cet-sjlj-4.c | 2 +-
gcc/testsuite/gcc.target/i386/cet-sjlj-5.c | 2 +-
gcc/testsuite/gcc.target/i386/cet-sjlj-6a.c | 2 +-
gcc/testsuite/gcc.target/i386/cet-sjlj-6b.c | 2 +-
gcc/testsuite/gcc.target/i386/cet-sjlj-7.c | 48 ----------------------
gcc/testsuite/gcc.target/i386/cet-switch-1.c | 2 +-
gcc/testsuite/gcc.target/i386/cet-switch-2.c | 2 +-
gcc/testsuite/gcc.target/i386/cet-switch-3.c | 2 +-
gcc/testsuite/gcc.target/i386/indirect-thunk-11.c | 2 +-
gcc/testsuite/gcc.target/i386/indirect-thunk-12.c | 2 +-
.../gcc.target/i386/indirect-thunk-attr-12.c | 2 +-
.../gcc.target/i386/indirect-thunk-attr-13.c | 2 +-
.../gcc.target/i386/indirect-thunk-attr-14.c | 2 +-
.../gcc.target/i386/indirect-thunk-attr-15.c | 2 +-
.../gcc.target/i386/indirect-thunk-attr-16.c | 2 +-
.../gcc.target/i386/indirect-thunk-extern-10.c | 2 +-
.../gcc.target/i386/indirect-thunk-extern-8.c | 2 +-
.../gcc.target/i386/indirect-thunk-extern-9.c | 2 +-
gcc/testsuite/gcc.target/i386/pr82659-1.c | 2 +-
gcc/testsuite/gcc.target/i386/pr82659-2.c | 2 +-
gcc/testsuite/gcc.target/i386/pr82659-3.c | 2 +-
gcc/testsuite/gcc.target/i386/pr82659-4.c | 2 +-
gcc/testsuite/gcc.target/i386/pr82659-5.c | 2 +-
gcc/testsuite/gcc.target/i386/pr82659-6.c | 2 +-
gcc/testsuite/gcc.target/i386/pr84146.c | 2 +-
gcc/testsuite/gcc.target/i386/pr85345.c | 2 +-
gcc/testsuite/gcc.target/i386/pr85403.c | 2 +-
gcc/testsuite/gcc.target/i386/pr85404.c | 2 +-
libatomic/configure | 2 +-
libbacktrace/configure | 2 +-
libgcc/configure | 2 +-
libgfortran/configure | 2 +-
libgomp/configure | 2 +-
libitm/configure | 2 +-
libmpx/configure | 2 +-
libobjc/configure | 2 +-
libquadmath/configure | 2 +-
libsanitizer/configure | 2 +-
libssp/configure | 2 +-
libstdc++-v3/configure | 2 +-
libvtv/configure | 2 +-
89 files changed, 90 insertions(+), 177 deletions(-)
delete mode 100644 gcc/testsuite/gcc.target/i386/cet-label-3.c
delete mode 100644 gcc/testsuite/gcc.target/i386/cet-property-3.c
delete mode 100644 gcc/testsuite/gcc.target/i386/cet-sjlj-7.c
--
2.14.3