x86: Update __CET__ check
commit6174c788fc581fac6b45fd83099659463d5f9083
authorhjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 24 Apr 2018 22:15:51 +0000 (24 22:15 +0000)
committerhjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 24 Apr 2018 22:15:51 +0000 (24 22:15 +0000)
treecc73e3f6d3787c7b0b579ca3ae0891b40a492611
parent095677a84ddcb0f25ca5fbed9bcbdc4f8d32e051
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@259621 138bc75d-0d04-0410-961f-82ee72b054a4
libgcc/ChangeLog
libgcc/config/i386/linux-unwind.h
libitm/ChangeLog
libitm/config/x86/sjlj.S