r257660 - in /trunk: gcc/ChangeLog gcc/config/i...

itsimbal@gcc.gnu.org itsimbal@gcc.gnu.org
Wed Feb 14 15:06:00 GMT 2018


Author: itsimbal
Date: Wed Feb 14 15:06:21 2018
New Revision: 257660

URL: https://gcc.gnu.org/viewcvs?rev=257660&root=gcc&view=rev
Log:
Reimplement CET intrinsics for rdssp/incssp insn.

Introduce a couple of new CET intrinsics for reading and updating a
shadow stack pointer (_get_ssp and _inc_ssp). They replace the existing
_rdssp[d|q] and _incssp[d|q] instrinsics.

	PR target/84239
	* gcc/config/i386/cetintrin.h: Remove _rdssp[d|q] and
	add _get_ssp intrinsics. Remove argument from
	__builtin_ia32_rdssp[d|q].
	* gcc/config/i386/i386-builtin-types.def: Add UINT_FTYPE_VOID.
	* gcc/config/i386/i386-builtin.def: Remove argument from
	__builtin_ia32_rdssp[d|q].
	* gcc/config/i386/i386.c: Use UINT_FTYPE_VOID. Use
	ix86_expand_special_args_builtin for _rdssp[d|q].
	* gcc/config/i386/i386.md: Remove argument from rdssp[si|di] insn.
	Clear register before usage.
	* doc/extend.texi: Remove argument from __builtin_ia32_rdssp[d|q].
	Add documentation for new _get_ssp and _inc_ssp intrinsics.
	* testsuite/gcc.target/i386/cet-intrin-3.c: Use new _get_ssp and
	_inc_ssp intrinsics.
	* testsuite/gcc.target/i386/cet-intrin-4.c: Likewise.
	* testsuite/gcc.target/i386/cet-rdssp-1.c: Remove argument from
	__builtin_ia32_rdssp[d|q].
	* libgcc/config/i386/shadow-stack-unwind.hi (_Unwind_Frames_Extra):
	Use new _get_ssp and _inc_ssp intrinsics.

Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/config/i386/cetintrin.h
    trunk/gcc/config/i386/i386-builtin-types.def
    trunk/gcc/config/i386/i386-builtin.def
    trunk/gcc/config/i386/i386.c
    trunk/gcc/config/i386/i386.md
    trunk/gcc/doc/extend.texi
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/testsuite/gcc.target/i386/cet-intrin-3.c
    trunk/gcc/testsuite/gcc.target/i386/cet-intrin-4.c
    trunk/gcc/testsuite/gcc.target/i386/cet-rdssp-1.c
    trunk/libgcc/ChangeLog
    trunk/libgcc/config/i386/shadow-stack-unwind.h



More information about the Gcc-cvs mailing list