aboutsummaryrefslogtreecommitdiff
path: root/libmpx
diff options
context:
space:
mode:
authorIgor Tsimbalist <itsimbal@gcc.gnu.org>2017-11-17 23:41:10 +0100
committerIgor Tsimbalist <itsimbal@gcc.gnu.org>2017-11-17 23:41:10 +0100
commitabccc074bb741574b00b078277b711194310c497 (patch)
tree97acddd4eaed58045b878032b231aee06c51efce /libmpx
parentfda26abecc9a71f75d654776fdd97183f15f7df7 (diff)
downloadgcc-abccc074bb741574b00b078277b711194310c497.zip
gcc-abccc074bb741574b00b078277b711194310c497.tar.gz
gcc-abccc074bb741574b00b078277b711194310c497.tar.bz2
Enable building libmpx with Intel CET
libmpx/ * Makefile.in: Regenerate. * acinclude.m4: Add enable.m4 and cet.m4. * configure: Regenerate. * configure.ac: Set CET_FLAGS. Update XCFLAGS. * mpxrt/Makefile.am: Update libmpx_la_CFLAGS. * mpxrt/Makefile.in: Regenerate. * mpxwrap/Makefile.am: Add AM_CFLAGS. Update libmpxwrappers_la_CFLAGS. * mpxwrap/Makefile.in: Regenerate. From-SVN: r254900
Diffstat (limited to 'libmpx')
-rw-r--r--libmpx/ChangeLog12
-rw-r--r--libmpx/Makefile.in3
-rw-r--r--libmpx/acinclude.m42
-rw-r--r--libmpx/configure76
-rw-r--r--libmpx/configure.ac4
-rw-r--r--libmpx/mpxrt/Makefile.am2
-rw-r--r--libmpx/mpxrt/Makefile.in5
-rw-r--r--libmpx/mpxwrap/Makefile.am4
-rw-r--r--libmpx/mpxwrap/Makefile.in7
9 files changed, 106 insertions, 9 deletions
diff --git a/libmpx/ChangeLog b/libmpx/ChangeLog
index 3edc2d4..9ae6542 100644
--- a/libmpx/ChangeLog
+++ b/libmpx/ChangeLog
@@ -1,3 +1,15 @@
+ 2017-11-17 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
+
+ * Makefile.in: Regenerate.
+ * acinclude.m4: Add enable.m4 and cet.m4.
+ * configure: Regenerate.
+ * configure.ac: Set CET_FLAGS. Update XCFLAGS.
+ * mpxrt/Makefile.am: Update libmpx_la_CFLAGS.
+ * mpxrt/Makefile.in: Regenerate.
+ * mpxwrap/Makefile.am: Add AM_CFLAGS. Update
+ libmpxwrappers_la_CFLAGS.
+ * mpxwrap/Makefile.in: Regenerate.
+
2017-01-30 Jakub Jelinek <jakub@redhat.com>
* mpxrt/mpxrt-utils.h (__mpxrt_stop): New prototype.
diff --git a/libmpx/Makefile.in b/libmpx/Makefile.in
index 5e58b72..358956c 100644
--- a/libmpx/Makefile.in
+++ b/libmpx/Makefile.in
@@ -66,7 +66,8 @@ am__aclocal_m4_deps = $(top_srcdir)/../config/acx.m4 \
$(top_srcdir)/../ltoptions.m4 $(top_srcdir)/../ltsugar.m4 \
$(top_srcdir)/../ltversion.m4 $(top_srcdir)/../lt~obsolete.m4 \
$(top_srcdir)/acinclude.m4 $(top_srcdir)/../libtool.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/../config/enable.m4 \
+ $(top_srcdir)/../config/cet.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
diff --git a/libmpx/acinclude.m4 b/libmpx/acinclude.m4
index 38e0808..c432ae6 100644
--- a/libmpx/acinclude.m4
+++ b/libmpx/acinclude.m4
@@ -2,6 +2,8 @@ dnl ----------------------------------------------------------------------
dnl This whole bit snagged from libgfortran.
sinclude(../libtool.m4)
+sinclude(../config/enable.m4)
+sinclude(../config/cet.m4)
dnl The lines below arrange for aclocal not to bring an installed
dnl libtool.m4 into aclocal.m4, while still arranging for automake to
dnl add a definition of LIBTOOL to Makefile.in.
diff --git a/libmpx/configure b/libmpx/configure
index 853993a..7bc68b8 100644
--- a/libmpx/configure
+++ b/libmpx/configure
@@ -732,6 +732,7 @@ with_pic
enable_fast_install
with_gnu_ld
enable_libtool_lock
+enable_cet
with_gcc_major_version_only
'
ac_precious_vars='build_alias
@@ -1372,6 +1373,8 @@ Optional Features:
--enable-fast-install[=PKGS]
optimize for fast installation [default=yes]
--disable-libtool-lock avoid locking (might break parallel builds)
+ --enable-cet enable Intel CET in target libraries
+ [default=default]
Optional Packages:
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
@@ -11234,7 +11237,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 11237 "configure"
+#line 11240 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -11340,7 +11343,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 11343 "configure"
+#line 11346 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -11581,6 +11584,75 @@ CC="$lt_save_CC"
XCFLAGS="-Wall -Wextra"
+# Add CET specific flags if CET is enabled
+ # Check whether --enable-cet was given.
+if test "${enable_cet+set}" = set; then :
+ enableval=$enable_cet;
+ case "$enableval" in
+ yes|no|default) ;;
+ *) as_fn_error "Unknown argument to enable/disable cet" "$LINENO" 5 ;;
+ esac
+
+else
+ enable_cet=default
+fi
+
+
+case "$host" in
+ i[34567]86-*-linux* | x86_64-*-linux*)
+ case "$enable_cet" in
+ default)
+ # Check if assembler supports CET.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+asm ("setssbsy");
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ enable_cet=yes
+else
+ enable_cet=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ ;;
+ yes)
+ # Check if assembler supports CET.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+asm ("setssbsy");
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+
+else
+ as_fn_error "assembler with CET support is required for --enable-cet" "$LINENO" 5
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ ;;
+ esac
+ ;;
+ *)
+ enable_cet=no
+ ;;
+esac
+if test x$enable_cet = xyes; then
+ CET_FLAGS="-fcf-protection -mcet"
+fi
+
+XCFLAGS="$XCFLAGS $CET_FLAGS"
+
if test "${multilib}" = "yes"; then
diff --git a/libmpx/configure.ac b/libmpx/configure.ac
index baa882b..dc0c2a8 100644
--- a/libmpx/configure.ac
+++ b/libmpx/configure.ac
@@ -117,6 +117,10 @@ AC_SUBST(enable_shared)
AC_SUBST(enable_static)
XCFLAGS="-Wall -Wextra"
+# Add CET specific flags if CET is enabled
+GCC_CET_FLAGS(CET_FLAGS)
+XCFLAGS="$XCFLAGS $CET_FLAGS"
+
AC_SUBST(XCFLAGS)
if test "${multilib}" = "yes"; then
diff --git a/libmpx/mpxrt/Makefile.am b/libmpx/mpxrt/Makefile.am
index 41c806f..0dd0bed 100644
--- a/libmpx/mpxrt/Makefile.am
+++ b/libmpx/mpxrt/Makefile.am
@@ -11,7 +11,7 @@ toolexeclib_LTLIBRARIES = libmpx.la
libmpx_la_SOURCES = mpxrt.c mpxrt-utils.c
-libmpx_la_CFLAGS = -fPIC
+libmpx_la_CFLAGS = -fPIC $(XCFLAGS)
libmpx_la_DEPENDENCIES = libmpx.map
libmpx_la_LDFLAGS = -Wl,--version-script=$(srcdir)/libmpx.map $(link_libmpx) \
-version-info `grep -v '^\#' $(srcdir)/libtool-version`
diff --git a/libmpx/mpxrt/Makefile.in b/libmpx/mpxrt/Makefile.in
index 4c55d20..17e0ac5 100644
--- a/libmpx/mpxrt/Makefile.in
+++ b/libmpx/mpxrt/Makefile.in
@@ -62,7 +62,8 @@ am__aclocal_m4_deps = $(top_srcdir)/../config/acx.m4 \
$(top_srcdir)/../ltoptions.m4 $(top_srcdir)/../ltsugar.m4 \
$(top_srcdir)/../ltversion.m4 $(top_srcdir)/../lt~obsolete.m4 \
$(top_srcdir)/acinclude.m4 $(top_srcdir)/../libtool.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/../config/enable.m4 \
+ $(top_srcdir)/../config/cet.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/../mkinstalldirs
@@ -256,7 +257,7 @@ ACLOCAL_AMFLAGS = -I $(top_srcdir) -I $(top_srcdir)/config
@LIBMPX_SUPPORTED_TRUE@AM_CFLAGS = $(XCFLAGS)
@LIBMPX_SUPPORTED_TRUE@toolexeclib_LTLIBRARIES = libmpx.la
@LIBMPX_SUPPORTED_TRUE@libmpx_la_SOURCES = mpxrt.c mpxrt-utils.c
-@LIBMPX_SUPPORTED_TRUE@libmpx_la_CFLAGS = -fPIC
+@LIBMPX_SUPPORTED_TRUE@libmpx_la_CFLAGS = -fPIC $(XCFLAGS)
@LIBMPX_SUPPORTED_TRUE@libmpx_la_DEPENDENCIES = libmpx.map
@LIBMPX_SUPPORTED_TRUE@libmpx_la_LDFLAGS = -Wl,--version-script=$(srcdir)/libmpx.map $(link_libmpx) \
@LIBMPX_SUPPORTED_TRUE@ -version-info `grep -v '^\#' $(srcdir)/libtool-version`
diff --git a/libmpx/mpxwrap/Makefile.am b/libmpx/mpxwrap/Makefile.am
index d9e84ae..6dba674 100644
--- a/libmpx/mpxwrap/Makefile.am
+++ b/libmpx/mpxwrap/Makefile.am
@@ -1,11 +1,13 @@
ALCLOCAL_AMFLAGS = -I .. -I ../config
AM_CPPFLAGS = -I $(top_srcdir)
+AM_CFLAGS = $(XCFLAGS)
# May be used by toolexeclibdir.
gcc_version := $(shell @get_gcc_base_ver@ $(top_srcdir)/../gcc/BASE-VER)
libmpxwrappers_la_CFLAGS = -fcheck-pointer-bounds -mmpx -fno-chkp-check-read \
- -fno-chkp-check-write -fno-chkp-use-wrappers -fPIC
+ -fno-chkp-check-write -fno-chkp-use-wrappers \
+ -fPIC $(XCFLAGS)
libmpxwrappers_la_DEPENDENCIES = libmpxwrappers.map
libmpxwrappers_la_LDFLAGS = -Wl,--version-script=$(srcdir)/libmpxwrappers.map \
-version-info `grep -v '^\#' $(srcdir)/libtool-version`
diff --git a/libmpx/mpxwrap/Makefile.in b/libmpx/mpxwrap/Makefile.in
index 1b929b9..6693a09 100644
--- a/libmpx/mpxwrap/Makefile.in
+++ b/libmpx/mpxwrap/Makefile.in
@@ -62,7 +62,8 @@ am__aclocal_m4_deps = $(top_srcdir)/../config/acx.m4 \
$(top_srcdir)/../ltoptions.m4 $(top_srcdir)/../ltsugar.m4 \
$(top_srcdir)/../ltversion.m4 $(top_srcdir)/../lt~obsolete.m4 \
$(top_srcdir)/acinclude.m4 $(top_srcdir)/../libtool.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/../config/enable.m4 \
+ $(top_srcdir)/../config/cet.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/../mkinstalldirs
@@ -249,11 +250,13 @@ top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
ALCLOCAL_AMFLAGS = -I .. -I ../config
AM_CPPFLAGS = -I $(top_srcdir)
+AM_CFLAGS = $(XCFLAGS)
# May be used by toolexeclibdir.
gcc_version := $(shell @get_gcc_base_ver@ $(top_srcdir)/../gcc/BASE-VER)
libmpxwrappers_la_CFLAGS = -fcheck-pointer-bounds -mmpx -fno-chkp-check-read \
- -fno-chkp-check-write -fno-chkp-use-wrappers -fPIC
+ -fno-chkp-check-write -fno-chkp-use-wrappers \
+ -fPIC $(XCFLAGS)
libmpxwrappers_la_DEPENDENCIES = libmpxwrappers.map
libmpxwrappers_la_LDFLAGS = -Wl,--version-script=$(srcdir)/libmpxwrappers.map \