mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-02-20 00:39:53 +08:00
Enable building libobjc with Intel CET
libobjc/ * Makefile.in: Regenerate. * aclocal.m4: Likeiwse. * configure: Likewise. * configure.ac: Set CET_FLAGS. Update XCFLAGS. From-SVN: r254904
This commit is contained in:
parent
667b43c179
commit
7b7168cffe
@ -1,3 +1,10 @@
|
|||||||
|
2017-11-17 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
|
||||||
|
|
||||||
|
* Makefile.in: Regenerate.
|
||||||
|
* aclocal.m4: Likeiwse.
|
||||||
|
* configure: Likewise.
|
||||||
|
* configure.ac: Set CET_FLAGS. Update XCFLAGS.
|
||||||
|
|
||||||
2017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
|
2017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
|
||||||
Alan Hayward <alan.hayward@arm.com>
|
Alan Hayward <alan.hayward@arm.com>
|
||||||
David Sherwood <david.sherwood@arm.com>
|
David Sherwood <david.sherwood@arm.com>
|
||||||
|
@ -72,8 +72,10 @@ RANLIB = @RANLIB@
|
|||||||
|
|
||||||
CC = @CC@
|
CC = @CC@
|
||||||
CFLAGS = @CFLAGS@
|
CFLAGS = @CFLAGS@
|
||||||
|
XCFLAGS = @XCFLAGS@
|
||||||
WARN_CFLAGS = -W -Wall -Wwrite-strings -Wstrict-prototypes
|
WARN_CFLAGS = -W -Wall -Wwrite-strings -Wstrict-prototypes
|
||||||
ALL_CFLAGS = -I. -I$(srcdir) $(CPPFLAGS) $(DEFS) $(CFLAGS) $(WARN_CFLAGS) \
|
ALL_CFLAGS = -I. -I$(srcdir) $(CPPFLAGS) $(DEFS) \
|
||||||
|
$(XCFLAGS) $(CFLAGS) $(WARN_CFLAGS) \
|
||||||
-DIN_GCC -DIN_TARGET_LIBS -fno-strict-aliasing -fexceptions
|
-DIN_GCC -DIN_TARGET_LIBS -fno-strict-aliasing -fexceptions
|
||||||
|
|
||||||
# Libtool
|
# Libtool
|
||||||
@ -295,6 +297,7 @@ aclocal_deps = \
|
|||||||
$(srcdir)/../ltsugar.m4 \
|
$(srcdir)/../ltsugar.m4 \
|
||||||
$(srcdir)/../ltversion.m4 \
|
$(srcdir)/../ltversion.m4 \
|
||||||
$(srcdir)/../lt~obsolete.m4 \
|
$(srcdir)/../lt~obsolete.m4 \
|
||||||
|
$(srcdir)/../cet.m4 \
|
||||||
$(srcdir)/acinclude.m4
|
$(srcdir)/acinclude.m4
|
||||||
|
|
||||||
$(srcdir)/configure: @MAINT@ configure.ac $(srcdir)/aclocal.m4
|
$(srcdir)/configure: @MAINT@ configure.ac $(srcdir)/aclocal.m4
|
||||||
|
1
libobjc/aclocal.m4
vendored
1
libobjc/aclocal.m4
vendored
@ -197,6 +197,7 @@ AC_DEFUN([_AM_SUBST_NOTMAKE])
|
|||||||
# Public sister of _AM_SUBST_NOTMAKE.
|
# Public sister of _AM_SUBST_NOTMAKE.
|
||||||
AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
|
AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
|
||||||
|
|
||||||
|
m4_include([../config/cet.m4])
|
||||||
m4_include([../config/lthostflags.m4])
|
m4_include([../config/lthostflags.m4])
|
||||||
m4_include([../config/multi.m4])
|
m4_include([../config/multi.m4])
|
||||||
m4_include([../config/override.m4])
|
m4_include([../config/override.m4])
|
||||||
|
80
libobjc/configure
vendored
80
libobjc/configure
vendored
@ -635,6 +635,7 @@ INSTALL_PROGRAM
|
|||||||
RANLIB
|
RANLIB
|
||||||
AR
|
AR
|
||||||
AS
|
AS
|
||||||
|
XCFLAGS
|
||||||
extra_ldflags_libobjc
|
extra_ldflags_libobjc
|
||||||
lt_host_flags
|
lt_host_flags
|
||||||
OBJEXT
|
OBJEXT
|
||||||
@ -714,6 +715,7 @@ with_target_subdir
|
|||||||
with_cross_host
|
with_cross_host
|
||||||
enable_version_specific_runtime_libs
|
enable_version_specific_runtime_libs
|
||||||
enable_multilib
|
enable_multilib
|
||||||
|
enable_cet
|
||||||
enable_maintainer_mode
|
enable_maintainer_mode
|
||||||
enable_shared
|
enable_shared
|
||||||
enable_static
|
enable_static
|
||||||
@ -1350,6 +1352,8 @@ Optional Features:
|
|||||||
--enable-FEATURE[=ARG] include FEATURE [ARG=yes]
|
--enable-FEATURE[=ARG] include FEATURE [ARG=yes]
|
||||||
--enable-version-specific-runtime-libs Specify that runtime libraries should be installed in a compiler-specific directory
|
--enable-version-specific-runtime-libs Specify that runtime libraries should be installed in a compiler-specific directory
|
||||||
--enable-multilib build many library versions (default)
|
--enable-multilib build many library versions (default)
|
||||||
|
--enable-cet enable Intel CET in target libraries
|
||||||
|
[default=default]
|
||||||
--enable-maintainer-mode enable make rules and dependencies not useful
|
--enable-maintainer-mode enable make rules and dependencies not useful
|
||||||
(and sometimes confusing) to the casual installer
|
(and sometimes confusing) to the casual installer
|
||||||
--enable-shared[=PKGS] build shared libraries [default=yes]
|
--enable-shared[=PKGS] build shared libraries [default=yes]
|
||||||
@ -3350,6 +3354,77 @@ case "${host}" in
|
|||||||
esac
|
esac
|
||||||
|
|
||||||
|
|
||||||
|
# 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 -n "$ac_tool_prefix"; then
|
if test -n "$ac_tool_prefix"; then
|
||||||
@ -5980,7 +6055,6 @@ fi
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Check whether --enable-libtool-lock was given.
|
# Check whether --enable-libtool-lock was given.
|
||||||
@ -10594,7 +10668,7 @@ else
|
|||||||
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
|
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
|
||||||
lt_status=$lt_dlunknown
|
lt_status=$lt_dlunknown
|
||||||
cat > conftest.$ac_ext <<_LT_EOF
|
cat > conftest.$ac_ext <<_LT_EOF
|
||||||
#line 10597 "configure"
|
#line 10671 "configure"
|
||||||
#include "confdefs.h"
|
#include "confdefs.h"
|
||||||
|
|
||||||
#if HAVE_DLFCN_H
|
#if HAVE_DLFCN_H
|
||||||
@ -10700,7 +10774,7 @@ else
|
|||||||
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
|
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
|
||||||
lt_status=$lt_dlunknown
|
lt_status=$lt_dlunknown
|
||||||
cat > conftest.$ac_ext <<_LT_EOF
|
cat > conftest.$ac_ext <<_LT_EOF
|
||||||
#line 10703 "configure"
|
#line 10777 "configure"
|
||||||
#include "confdefs.h"
|
#include "confdefs.h"
|
||||||
|
|
||||||
#if HAVE_DLFCN_H
|
#if HAVE_DLFCN_H
|
||||||
|
@ -151,7 +151,12 @@ case "${host}" in
|
|||||||
esac
|
esac
|
||||||
AC_SUBST(extra_ldflags_libobjc)
|
AC_SUBST(extra_ldflags_libobjc)
|
||||||
|
|
||||||
|
# Add CET specific flags if CET is enabled
|
||||||
|
GCC_CET_FLAGS(CET_FLAGS)
|
||||||
|
XCFLAGS="$XCFLAGS $CET_FLAGS"
|
||||||
|
|
||||||
AC_SUBST(CFLAGS)
|
AC_SUBST(CFLAGS)
|
||||||
|
AC_SUBST(XCFLAGS)
|
||||||
|
|
||||||
AC_CHECK_TOOL(AS, as)
|
AC_CHECK_TOOL(AS, as)
|
||||||
AC_CHECK_TOOL(AR, ar)
|
AC_CHECK_TOOL(AR, ar)
|
||||||
|
Loading…
Reference in New Issue
Block a user