Build libgo with -Wa,-nH if possible (PR go/78978) [non-libgo parts]
libstdc++-v3:
PR go/78978
* acinclude.m4 (GLIBCXX_CHECK_ASSEMBLER_HWCAP): Remove.
* configure.ac: Call GCC_CHECK_ASSEMBLER_HWCAP instead of
GLIBCXX_CHECK_ASSEMBLER_HWCAP.
* fragment.am (CONFIG_CXXFLAGS): Use HWCAP_CFLAGS instead of
HWCAP_FLAGS.
* aclocal.m4: Regenerate.
* configure: Regenerate.
* Makefile.in, doc/Makefile.in, include/Makefile.in,
libsupc++/Makefile.in, po/Makefile.in, python/Makefile.in,
src/Makefile.in, src/c++11/Makefile.in, src/c++98/Makefile.in,
src/filesystem/Makefile.in, testsuite/Makefile.in: Regenerate.
config:
PR go/78978
* hwcaps.m4 (GCC_CHECK_ASSEMBLER_HWCAP): New macro.
From-SVN: r244162
2017-01-06 22:33:47 +08:00
|
|
|
dnl
|
|
|
|
dnl Check if the assembler used supports disabling generation of hardware
|
|
|
|
dnl capabilities. This is only supported by Solaris as at the moment.
|
|
|
|
dnl
|
|
|
|
dnl Defines:
|
|
|
|
dnl HWCAP_CFLAGS='-Wa,-nH' if possible.
|
|
|
|
dnl
|
|
|
|
AC_DEFUN([GCC_CHECK_ASSEMBLER_HWCAP], [
|
|
|
|
test -z "$HWCAP_CFLAGS" && HWCAP_CFLAGS=''
|
|
|
|
|
|
|
|
# Restrict the test to Solaris, other assemblers (e.g. AIX as) have -nH
|
|
|
|
# with a different meaning.
|
|
|
|
case ${target_os} in
|
|
|
|
solaris2*)
|
|
|
|
ac_save_CFLAGS="$CFLAGS"
|
|
|
|
CFLAGS="$CFLAGS -Wa,-nH"
|
|
|
|
|
|
|
|
AC_MSG_CHECKING([for as that supports -Wa,-nH])
|
|
|
|
AC_TRY_COMPILE([], [return 0;], [ac_hwcap_flags=yes],[ac_hwcap_flags=no])
|
|
|
|
if test "$ac_hwcap_flags" = "yes"; then
|
|
|
|
HWCAP_CFLAGS="-Wa,-nH $HWCAP_CFLAGS"
|
|
|
|
fi
|
|
|
|
AC_MSG_RESULT($ac_hwcap_flags)
|
|
|
|
|
|
|
|
CFLAGS="$ac_save_CFLAGS"
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
|
|
|
|
AC_SUBST(HWCAP_CFLAGS)
|
|
|
|
])
|
|
|
|
|
|
|
|
|
2016-12-12 21:40:21 +08:00
|
|
|
dnl
|
|
|
|
dnl Check if the linker used supports linker maps to clear hardware
|
|
|
|
dnl capabilities. This is only supported on Solaris at the moment.
|
|
|
|
dnl
|
|
|
|
dnl Defines:
|
|
|
|
dnl HWCAP_LDFLAGS=-mclear-hwcap if possible
|
|
|
|
dnl LD (as a side effect of testing)
|
|
|
|
dnl
|
|
|
|
AC_DEFUN([GCC_CHECK_LINKER_HWCAP], [
|
|
|
|
test -z "$HWCAP_LDFLAGS" && HWCAP_LDFLAGS=''
|
|
|
|
AC_REQUIRE([AC_PROG_LD])
|
|
|
|
|
|
|
|
ac_save_LDFLAGS="$LDFLAGS"
|
|
|
|
LDFLAGS="$LFLAGS -mclear-hwcap"
|
|
|
|
|
|
|
|
AC_MSG_CHECKING([for -mclear-hwcap])
|
|
|
|
AC_TRY_LINK([], [return 0;], [ac_hwcap_ldflags=yes],[ac_hwcap_ldflags=no])
|
|
|
|
if test "$ac_hwcap_ldflags" = "yes"; then
|
|
|
|
HWCAP_LDFLAGS="-mclear-hwcap $HWCAP_LDFLAGS"
|
|
|
|
fi
|
|
|
|
AC_MSG_RESULT($ac_hwcap_ldflags)
|
|
|
|
|
|
|
|
LDFLAGS="$ac_save_LDFLAGS"
|
|
|
|
|
|
|
|
AC_SUBST(HWCAP_LDFLAGS)
|
|
|
|
|
|
|
|
AM_CONDITIONAL(HAVE_HWCAP, test $ac_hwcap_ldflags != no)
|
|
|
|
])
|