x86: Update __CET__ check
authorH.J. Lu <hongjiu.lu@intel.com>
Tue, 24 Apr 2018 22:15:51 +0000 (22:15 +0000)
committerH.J. Lu <hjl@gcc.gnu.org>
Tue, 24 Apr 2018 22:15:51 +0000 (15:15 -0700)
commitffc2fc06e3cd63d06943baab93c9f8e39a28b14d
treecc73e3f6d3787c7b0b579ca3ae0891b40a492611
parente59133c36c1733ccce20e21b4358418f450f23ee
x86: Update __CET__ check

__CET__ has been changed by 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

to

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

We should check (__CET__ & 2) != 0 for shadow stack.

libgcc/

* config/i386/linux-unwind.h: Add (__CET__ & 2) != 0 check
when including "config/i386/shadow-stack-unwind.h".

libitm/

* config/x86/sjlj.S (_ITM_beginTransaction): Add
(__CET__ & 2) != 0 check for shadow stack.
(GTM_longjmp): Likewise.

From-SVN: r259621
libgcc/ChangeLog
libgcc/config/i386/linux-unwind.h
libitm/ChangeLog
libitm/config/x86/sjlj.S