Add bootstrap-cet.mk to bootstrap GCC with Intel CET
authorH.J. Lu <hongjiu.lu@intel.com>
Tue, 24 Oct 2017 12:50:03 +0000 (12:50 +0000)
committerH.J. Lu <hjl@gcc.gnu.org>
Tue, 24 Oct 2017 12:50:03 +0000 (05:50 -0700)
Bootstrap GCC with Intel CET by configuring GCC with

--with-build-config="bootstrap-cet bootstrap-debug"

Tested on Linux/i686 and Linux/x86-64.

config/

* bootstrap-cet.mk: New file.

gcc/

* doc/install.texi: Document bootstrap-cet.

From-SVN: r254043

config/ChangeLog
config/bootstrap-cet.mk [new file with mode: 0644]
gcc/ChangeLog
gcc/doc/install.texi

index 6732bf4f73fb72b9d9c29a0fd51327b426274cfc..2e3ead0a26b582c83d55e8316229a8d988a8d38b 100644 (file)
@@ -1,3 +1,7 @@
+2017-10-24  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * bootstrap-cet.mk: New file.
+
 2017-06-19  Martin Liska  <mliska@suse.cz>
 
        * bootstrap-lto-noplugin.mk: Enable -flto in all PGO stages.
diff --git a/config/bootstrap-cet.mk b/config/bootstrap-cet.mk
new file mode 100644 (file)
index 0000000..f09193a
--- /dev/null
@@ -0,0 +1,4 @@
+# This option enables -fcf-protection -mcet for stage2 and stage3.
+
+STAGE2_CFLAGS += -fcf-protection -mcet
+STAGE3_CFLAGS += -fcf-protection -mcet
index 5a43ff890be9a45264c2626b86c6d0d525101e5e..ce02caa6d2440fd4e9a8191e600787887d82d92e 100644 (file)
@@ -1,3 +1,7 @@
+2017-10-24  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * doc/install.texi: Document bootstrap-cet.
+
 2017-10-24  H.J. Lu  <hongjiu.lu@intel.com>
 
        PR target/82659
index da360da1c5053316887eefd280f3a7f7d4cf4535..82a63607b2d5dc8c09eb79eda48eeccead1c0e9e 100644 (file)
@@ -2492,6 +2492,13 @@ useful to verify the full @option{-fcompare-debug} testing coverage.  It
 must be used along with @code{bootstrap-debug-lean} and
 @code{bootstrap-debug-lib}.
 
+@item @samp{bootstrap-cet}
+This option enables Intel CET for host tools during bootstrapping.
+@samp{BUILD_CONFIG=bootstrap-cet} is equivalent to adding
+@option{-fcf-protection -mcet} to @samp{BOOT_CFLAGS}.  This option
+assumes that the host supports Intel CET (e.g. GNU assembler version
+2.30 or later).
+
 @item @samp{bootstrap-time}
 Arranges for the run time of each program started by the GCC driver,
 built in any stage, to be logged to @file{time.log}, in the top level of