aboutsummaryrefslogtreecommitdiff
path: root/libgo
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@gcc.gnu.org>2013-02-11 19:03:04 +0000
committerIan Lance Taylor <ian@gcc.gnu.org>2013-02-11 19:03:04 +0000
commitae135907ba2daedbd418e2005bbec7f5ac8fdea7 (patch)
tree8442409122a3f268afaf51bfa543154af6dbc04f /libgo
parentcc999d030035b7ad8cda2a1743f3cc4f76fede00 (diff)
downloadgcc-ae135907ba2daedbd418e2005bbec7f5ac8fdea7.zip
gcc-ae135907ba2daedbd418e2005bbec7f5ac8fdea7.tar.gz
gcc-ae135907ba2daedbd418e2005bbec7f5ac8fdea7.tar.bz2
re PR go/56171 (syscall FAILs on Solaris)
PR go/56171 libgo: Solaris portability for syscall package. From Rainer Orth. From-SVN: r195950
Diffstat (limited to 'libgo')
-rw-r--r--libgo/Makefile.am2
-rw-r--r--libgo/Makefile.in2
-rwxr-xr-xlibgo/configure56
-rw-r--r--libgo/configure.ac3
-rwxr-xr-xlibgo/mksysinfo.sh7
5 files changed, 67 insertions, 3 deletions
diff --git a/libgo/Makefile.am b/libgo/Makefile.am
index 77ab95a..c153ae2 100644
--- a/libgo/Makefile.am
+++ b/libgo/Makefile.am
@@ -1997,7 +1997,7 @@ GOTESTFLAGS =
CHECK = \
GC="$(GOC) $(GOCFLAGS) $($(subst /,_,$@)_GOCFLAGS) -L `${PWD_COMMAND}` -L `${PWD_COMMAND}`/.libs"; \
export GC; \
- GOLIBS="$(MATH_LIBS) $(NET_LIBS)"; \
+ GOLIBS="$(MATH_LIBS) $(NET_LIBS) $(LIBS)"; \
export GOLIBS; \
RUNTESTFLAGS="$(RUNTESTFLAGS)"; \
export RUNTESTFLAGS; \
diff --git a/libgo/Makefile.in b/libgo/Makefile.in
index 15f027f..c74c4f6 100644
--- a/libgo/Makefile.in
+++ b/libgo/Makefile.in
@@ -2114,7 +2114,7 @@ GOTESTFLAGS =
CHECK = \
GC="$(GOC) $(GOCFLAGS) $($(subst /,_,$@)_GOCFLAGS) -L `${PWD_COMMAND}` -L `${PWD_COMMAND}`/.libs"; \
export GC; \
- GOLIBS="$(MATH_LIBS) $(NET_LIBS)"; \
+ GOLIBS="$(MATH_LIBS) $(NET_LIBS) $(LIBS)"; \
export GOLIBS; \
RUNTESTFLAGS="$(RUNTESTFLAGS)"; \
export RUNTESTFLAGS; \
diff --git a/libgo/configure b/libgo/configure
index f4d7c82..e1d37dc 100755
--- a/libgo/configure
+++ b/libgo/configure
@@ -14213,6 +14213,62 @@ if test "$ac_res" != no; then :
fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing nanosleep" >&5
+$as_echo_n "checking for library containing nanosleep... " >&6; }
+if test "${ac_cv_search_nanosleep+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_func_search_save_LIBS=$LIBS
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char nanosleep ();
+int
+main ()
+{
+return nanosleep ();
+ ;
+ return 0;
+}
+_ACEOF
+for ac_lib in '' rt; do
+ if test -z "$ac_lib"; then
+ ac_res="none required"
+ else
+ ac_res=-l$ac_lib
+ LIBS="-l$ac_lib $ac_func_search_save_LIBS"
+ fi
+ if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_search_nanosleep=$ac_res
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext
+ if test "${ac_cv_search_nanosleep+set}" = set; then :
+ break
+fi
+done
+if test "${ac_cv_search_nanosleep+set}" = set; then :
+
+else
+ ac_cv_search_nanosleep=no
+fi
+rm conftest.$ac_ext
+LIBS=$ac_func_search_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_nanosleep" >&5
+$as_echo "$ac_cv_search_nanosleep" >&6; }
+ac_res=$ac_cv_search_nanosleep
+if test "$ac_res" != no; then :
+ test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
+
+fi
+
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5
$as_echo_n "checking whether byte ordering is bigendian... " >&6; }
diff --git a/libgo/configure.ac b/libgo/configure.ac
index ff0b7bd..58cc045 100644
--- a/libgo/configure.ac
+++ b/libgo/configure.ac
@@ -413,8 +413,9 @@ PTHREAD_LIBS=
AC_CHECK_LIB([pthread], [pthread_create], PTHREAD_LIBS=-lpthread)
AC_SUBST(PTHREAD_LIBS)
-dnl Test if -lrt is required for sched_yield.
+dnl Test if -lrt is required for sched_yield and/or nanosleep.
AC_SEARCH_LIBS([sched_yield], [rt])
+AC_SEARCH_LIBS([nanosleep], [rt])
AC_C_BIGENDIAN
diff --git a/libgo/mksysinfo.sh b/libgo/mksysinfo.sh
index e8ab1eb..11bcb25 100755
--- a/libgo/mksysinfo.sh
+++ b/libgo/mksysinfo.sh
@@ -309,6 +309,13 @@ for m in SOCK_CLOEXEC SOCK_NONBLOCK; do
fi
done
+# The syscall package requires AF_LOCAL.
+if ! grep '^const AF_LOCAL ' ${OUT} >/dev/null 2>&1; then
+ if grep '^const AF_UNIX ' ${OUT} >/dev/null 2>&1; then
+ echo "const AF_LOCAL = AF_UNIX" >> ${OUT}
+ fi
+fi
+
# pathconf constants.
grep '^const __PC' gen-sysinfo.go |
sed -e 's/^\(const \)__\(PC[^= ]*\)\(.*\)$/\1\2 = __\2/' >> ${OUT}