libgo: fixes for Solaris build
authorIan Lance Taylor <ian@gcc.gnu.org>
Tue, 13 Dec 2016 18:03:45 +0000 (18:03 +0000)
committerIan Lance Taylor <ian@gcc.gnu.org>
Tue, 13 Dec 2016 18:03:45 +0000 (18:03 +0000)
    Don't put m[0-4] in runtime.inc.

    Pass -mclear-hwcap to the linker if supported.

    From Rainer Orth.

    Reviewed-on: https://go-review.googlesource.com/34331

From-SVN: r243619

gcc/go/gofrontend/MERGE
libgo/Makefile.am
libgo/Makefile.in
libgo/aclocal.m4
libgo/configure
libgo/configure.ac
libgo/testsuite/Makefile.in

index e51276861c659f4acc1239a7eb07731ded9259bd..7f2ed5d6a3f444f02ddf8453b13c1a6949c38e7f 100644 (file)
@@ -1,4 +1,4 @@
-ac59bb383e1b446c68465af793722dd0e84abefb
+556a546ba3c7bb14bd1b9b8469ee3b7a914909f6
 
 The first line of this file holds the git revision number of the last
 merge done from the gofrontend repository.
index b9aee9d657dd2509f2916014797d6ef59eb1ac69..1f5a0212a828dd96c0c1e93e03711d0552718dd6 100644 (file)
@@ -46,8 +46,10 @@ AM_CFLAGS = -fexceptions -fnon-call-exceptions -fplan9-extensions \
        -I $(srcdir)/../libgcc -I $(srcdir)/../libbacktrace \
        -I $(MULTIBUILDTOP)../../gcc/include
 
+AM_LDFLAGS = $(HWCAP_LDFLAGS)
+
 if USING_SPLIT_STACK
-AM_LDFLAGS = -XCClinker $(SPLIT_STACK)
+AM_LDFLAGS += -XCClinker $(SPLIT_STACK)
 endif
 
 # Multilib support.
@@ -561,7 +563,7 @@ s-sigtab: $(srcdir)/mksigtab.sh gen-sysinfo.go
 runtime.inc: s-runtime-inc; @true
 s-runtime-inc: runtime.lo Makefile
        rm -f runtime.inc.tmp2
-       grep -v "#define _" runtime.inc.tmp | grep -v "#define c[01] " > runtime.inc.tmp2
+       grep -v "#define _" runtime.inc.tmp | grep -v "#define [cm][01234] " > runtime.inc.tmp2
        for pattern in '_[GP][a-z]' _Max _Lock _Sig _Trace _MHeap _Num; do \
          grep "#define $$pattern" runtime.inc.tmp >> runtime.inc.tmp2; \
        done
index 86d7aa84e7d041b1e8493b0e93fd932f33ef39af..a161fd7f2fa5c28261abc94cbd03dc4adf6caddf 100644 (file)
@@ -62,8 +62,9 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 target_triplet = @target@
-@GOC_IS_LLGO_TRUE@am__append_1 = libgo-llgo.la libgobegin-llgo.a
-@GOC_IS_LLGO_FALSE@am__append_2 = libgo.la libgobegin.a
+@USING_SPLIT_STACK_TRUE@am__append_1 = -XCClinker $(SPLIT_STACK)
+@GOC_IS_LLGO_TRUE@am__append_2 = libgo-llgo.la libgobegin-llgo.a
+@GOC_IS_LLGO_FALSE@am__append_3 = libgo.la libgobegin.a
 subdir = .
 DIST_COMMON = README $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
        $(top_srcdir)/configure $(am__configure_deps) \
@@ -71,6 +72,7 @@ DIST_COMMON = README $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
        $(srcdir)/../depcomp
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/../config/depstand.m4 \
+       $(top_srcdir)/../config/hwcaps.m4 \
        $(top_srcdir)/../config/lead-dot.m4 \
        $(top_srcdir)/../config/multi.m4 \
        $(top_srcdir)/../config/override.m4 \
@@ -319,6 +321,7 @@ GO_SPLIT_STACK = @GO_SPLIT_STACK@
 GO_SYSCALL_OS_ARCH_FILE = @GO_SYSCALL_OS_ARCH_FILE@
 GO_SYSCALL_OS_FILE = @GO_SYSCALL_OS_FILE@
 GREP = @GREP@
+HWCAP_LDFLAGS = @HWCAP_LDFLAGS@
 INSTALL = @INSTALL@
 INSTALL_DATA = @INSTALL_DATA@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
@@ -460,7 +463,7 @@ AM_CFLAGS = -fexceptions -fnon-call-exceptions -fplan9-extensions \
        -I $(srcdir)/../libgcc -I $(srcdir)/../libbacktrace \
        -I $(MULTIBUILDTOP)../../gcc/include
 
-@USING_SPLIT_STACK_TRUE@AM_LDFLAGS = -XCClinker $(SPLIT_STACK)
+AM_LDFLAGS = $(HWCAP_LDFLAGS) $(am__append_1)
 
 # Multilib support.
 MAKEOVERRIDES = 
@@ -1117,7 +1120,7 @@ CHECK_DEPS = $(toolexeclibgo_DATA) $(toolexeclibgoarchive_DATA) \
        $(toolexeclibgorpc_DATA) $(toolexeclibgoruntime_DATA) \
        $(toolexeclibgosync_DATA) $(toolexeclibgotesting_DATA) \
        $(toolexeclibgotext_DATA) $(toolexeclibgotexttemplate_DATA) \
-       $(toolexeclibgounicode_DATA) $(am__append_1) $(am__append_2)
+       $(toolexeclibgounicode_DATA) $(am__append_2) $(am__append_3)
 
 # Pass -ffp-contract=off, or 386-specific options, when building the
 # math package.  MATH_FLAG is defined in configure.ac.
@@ -3173,7 +3176,7 @@ s-sigtab: $(srcdir)/mksigtab.sh gen-sysinfo.go
 runtime.inc: s-runtime-inc; @true
 s-runtime-inc: runtime.lo Makefile
        rm -f runtime.inc.tmp2
-       grep -v "#define _" runtime.inc.tmp | grep -v "#define c[01] " > runtime.inc.tmp2
+       grep -v "#define _" runtime.inc.tmp | grep -v "#define [cm][01234] " > runtime.inc.tmp2
        for pattern in '_[GP][a-z]' _Max _Lock _Sig _Trace _MHeap _Num; do \
          grep "#define $$pattern" runtime.inc.tmp >> runtime.inc.tmp2; \
        done
index aefbad20a0b5dbf016866c6eba22dfb8a3bffd80..07305fd701ece00b9580879922d705ba58a5d813 100644 (file)
@@ -989,6 +989,7 @@ AC_SUBST([am__untar])
 ]) # _AM_PROG_TAR
 
 m4_include([../config/depstand.m4])
+m4_include([../config/hwcaps.m4])
 m4_include([../config/lead-dot.m4])
 m4_include([../config/multi.m4])
 m4_include([../config/override.m4])
index 7789c120a9b92f4b7737e9e5c5ca8799730509cc..4129ebed0ff8324e53243677362d0f685dcb398f 100755 (executable)
@@ -624,6 +624,9 @@ GO_SPLIT_STACK
 USING_SPLIT_STACK_FALSE
 USING_SPLIT_STACK_TRUE
 SPLIT_STACK
+HAVE_HWCAP_FALSE
+HAVE_HWCAP_TRUE
+HWCAP_LDFLAGS
 OSCFLAGS
 GO_SYSCALL_OS_ARCH_FILE
 GO_SYSCALL_OS_FILE
@@ -11103,7 +11106,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 11106 "configure"
+#line 11109 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -11209,7 +11212,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 11212 "configure"
+#line 11215 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -13908,6 +13911,53 @@ case "$target" in
 esac
 
 
+
+  test -z "$HWCAP_LDFLAGS" && HWCAP_LDFLAGS=''
+
+
+  ac_save_LDFLAGS="$LDFLAGS"
+  LDFLAGS="$LFLAGS -mclear-hwcap"
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -mclear-hwcap" >&5
+$as_echo_n "checking for -mclear-hwcap... " >&6; }
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+return 0;
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_hwcap_ldflags=yes
+else
+  ac_hwcap_ldflags=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+  if test "$ac_hwcap_ldflags" = "yes"; then
+    HWCAP_LDFLAGS="-mclear-hwcap $HWCAP_LDFLAGS"
+  fi
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_hwcap_ldflags" >&5
+$as_echo "$ac_hwcap_ldflags" >&6; }
+
+  LDFLAGS="$ac_save_LDFLAGS"
+
+
+
+   if test $ac_hwcap_ldflags != no; then
+  HAVE_HWCAP_TRUE=
+  HAVE_HWCAP_FALSE='#'
+else
+  HAVE_HWCAP_TRUE='#'
+  HAVE_HWCAP_FALSE=
+fi
+
+
+
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -fsplit-stack is supported" >&5
 $as_echo_n "checking whether -fsplit-stack is supported... " >&6; }
 if test "${libgo_cv_c_split_stack_supported+set}" = set; then :
@@ -15688,6 +15738,10 @@ if test -z "${LIBGO_IS_BSD_TRUE}" && test -z "${LIBGO_IS_BSD_FALSE}"; then
   as_fn_error "conditional \"LIBGO_IS_BSD\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
+if test -z "${HAVE_HWCAP_TRUE}" && test -z "${HAVE_HWCAP_FALSE}"; then
+  as_fn_error "conditional \"HAVE_HWCAP\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
 if test -z "${USING_SPLIT_STACK_TRUE}" && test -z "${USING_SPLIT_STACK_FALSE}"; then
   as_fn_error "conditional \"USING_SPLIT_STACK\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
index 77a744ea4187f8672cf161c776f5b60cbdf7fa78..b7710cad03880f89b1b4dc9aedd3c2430a0b7a07 100644 (file)
@@ -421,6 +421,9 @@ case "$target" in
 esac
 AC_SUBST(OSCFLAGS)
 
+dnl Check linker hardware capability support.
+GCC_CHECK_LINKER_HWCAP
+
 dnl Use -fsplit-stack when compiling C code if available.
 AC_CACHE_CHECK([whether -fsplit-stack is supported],
 [libgo_cv_c_split_stack_supported],
index 6c82a639d5f8bc974b5978bcd0b0b8c2b1a587b4..f059021ee48c91b943a777141c9f4439e103e17e 100644 (file)
@@ -55,6 +55,7 @@ subdir = testsuite
 DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/../config/depstand.m4 \
+       $(top_srcdir)/../config/hwcaps.m4 \
        $(top_srcdir)/../config/lead-dot.m4 \
        $(top_srcdir)/../config/multi.m4 \
        $(top_srcdir)/../config/override.m4 \
@@ -123,6 +124,7 @@ GO_SPLIT_STACK = @GO_SPLIT_STACK@
 GO_SYSCALL_OS_ARCH_FILE = @GO_SYSCALL_OS_ARCH_FILE@
 GO_SYSCALL_OS_FILE = @GO_SYSCALL_OS_FILE@
 GREP = @GREP@
+HWCAP_LDFLAGS = @HWCAP_LDFLAGS@
 INSTALL = @INSTALL@
 INSTALL_DATA = @INSTALL_DATA@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@