> -----Original Message----- > From: H.J. Lu [mailto:hjl.to...@gmail.com] > Sent: Sunday, April 22, 2018 3:48 PM > To: gcc-patches@gcc.gnu.org > Cc: Tsimbalist, Igor V <igor.v.tsimbal...@intel.com>; Uros Bizjak > <ubiz...@gmail.com> > 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
OK. Igor