aboutsummaryrefslogtreecommitdiff
path: root/gcc/config.gcc
diff options
context:
space:
mode:
authorIgor Tsimbalist <igor.v.tsimbalist@intel.com>2017-11-17 14:34:39 +0100
committerIgor Tsimbalist <itsimbal@gcc.gnu.org>2017-11-17 14:34:39 +0100
commit1ecae1fc238a6b02b3cc2de6a24d73966bc45a03 (patch)
treedaa0015bf7667568564bbd9abcd7fbe77ef2942f /gcc/config.gcc
parenta851ce04f7050dd82aa8344e7b68ee8319fb7b6f (diff)
downloadgcc-1ecae1fc238a6b02b3cc2de6a24d73966bc45a03.zip
gcc-1ecae1fc238a6b02b3cc2de6a24d73966bc45a03.tar.gz
gcc-1ecae1fc238a6b02b3cc2de6a24d73966bc45a03.tar.bz2
Enable building libgcc with CET options.
Enable building libgcc with CET options by default on Linux/x86 if binutils supports CET v2.0. It can be disabled with --disable-cet. It is an error to configure GCC with --enable-cet if bintuiils doesn't support CET v2.0. ENDBR instruction is added to __morestack_large_model since it is called indirectly. 2017-11-17 Igor Tsimbalist <igor.v.tsimbalist@intel.com> config/ * cet.m4: New file. gcc/ * config.gcc (extra_headers): Add cet.h for x86 targets. * config/i386/cet.h: New file. * doc/install.texi: Add --enable-cet/--disable-cet. libgcc/ * Makefile.in (configure_deps): Add $(srcdir)/../config/cet.m4. (CET_FLAGS): New. * config/i386/morestack.S: Include <cet.h>. (__morestack_large_model): Add _CET_ENDBR at function entrance. * config/i386/resms64.h: Include <cet.h>. * config/i386/resms64f.h: Likewise. * config/i386/resms64fx.h: Likewise. * config/i386/resms64x.h: Likewise. * config/i386/savms64.h: Likewise. * config/i386/savms64f.h: Likewise. * config/i386/t-linux (HOST_LIBGCC2_CFLAGS): Add $(CET_FLAGS). (CRTSTUFF_T_CFLAGS): Likewise. * configure.ac: Include ../config/cet.m4. Set and substitute CET_FLAGS. * configure: Regenerated. From-SVN: r254868
Diffstat (limited to 'gcc/config.gcc')
-rw-r--r--gcc/config.gcc4
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/config.gcc b/gcc/config.gcc
index 8ee8e8c..24f9044 100644
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -379,7 +379,7 @@ i[34567]86-*-*)
avx512vbmivlintrin.h avx5124fmapsintrin.h avx5124vnniwintrin.h
avx512vpopcntdqintrin.h clwbintrin.h mwaitxintrin.h
clzerointrin.h pkuintrin.h sgxintrin.h cetintrin.h
- gfniintrin.h"
+ gfniintrin.h cet.h"
;;
x86_64-*-*)
cpu_type=i386
@@ -404,7 +404,7 @@ x86_64-*-*)
avx512vbmivlintrin.h avx5124fmapsintrin.h avx5124vnniwintrin.h
avx512vpopcntdqintrin.h clwbintrin.h mwaitxintrin.h
clzerointrin.h pkuintrin.h sgxintrin.h cetintrin.h
- gfniintrin.h"
+ gfniintrin.h cet.h"
;;
ia64-*-*)
extra_headers=ia64intrin.h