This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug target/85469] -mibt is unused


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85469

--- Comment #1 from hjl at gcc dot gnu.org <hjl at gcc dot gnu.org> ---
Author: hjl
Date: Fri Apr 20 13:30:13 2018
New Revision: 259522

URL: https://gcc.gnu.org/viewcvs?rev=259522&root=gcc&view=rev
Log:
Define __CET__ for -fcf-protection and remove -mibt

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

-mibt does nothing and can be removed.  Define __CET__ to indicate level
protection with -fcf-protection:

(__CET__ & 1) != 0: -fcf-protection=branch or -fcf-protection=full
(__CET__ & 2) != 0: -fcf-protection=return or -fcf-protection=full

gcc/

        PR target/85469
        * common/config/i386/i386-common.c (OPTION_MASK_ISA_IBT_SET):
        Removed.
        (OPTION_MASK_ISA_IBT_UNSET): Likewise.
        (ix86_handle_option): Don't handle OPT_mibt.
        * config/i386/cet.h: Check __CET__ instead of __IBT__ and
        __SHSTK__.
        * config/i386/driver-i386.c (host_detect_local_cpu): Remove
        has_ibt and ibt.
        * config/i386/i386-c.c (ix86_target_macros_internal): Don't
        check OPTION_MASK_ISA_IBT nor flag_cf_protection.
        (ix86_target_macros): Define __CET__ with flag_cf_protection
        for -fcf-protection.
        * config/i386/i386.c (isa2_opts): Remove -mibt.
        * config/i386/i386.h (TARGET_IBT): Removed.
        (TARGET_IBT_P): Likewise.
        (ix86_valid_target_attribute_inner_p): Don't check OPT_mibt.
        * config/i386/i386.md (nop_endbr): Don't check TARGET_IBT.
        * config/i386/i386.opt (mcet): Update help message.
        (mshstk): Likewise.
        (mibt): Removed.
        * doc/invoke.texi: Remove -mibt.  Document __CET__.  Document
        -mcet as an alias for -mshstk.

gcc/testsuite/

        PR target/85469
        * gcc.target/i386/pr85044.c (dg-options): Remove -mibt.
        * gcc.target/i386/sse-26.c (dg-options): Remove -mno-ibt.

Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/common/config/i386/i386-common.c
    trunk/gcc/config/i386/cet.h
    trunk/gcc/config/i386/driver-i386.c
    trunk/gcc/config/i386/i386-c.c
    trunk/gcc/config/i386/i386.c
    trunk/gcc/config/i386/i386.h
    trunk/gcc/config/i386/i386.md
    trunk/gcc/config/i386/i386.opt
    trunk/gcc/doc/invoke.texi
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/testsuite/gcc.target/i386/pr85044.c
    trunk/gcc/testsuite/gcc.target/i386/sse-26.c

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]