mirror of git://gcc.gnu.org/git/gcc.git
libgo/configure: Fixes for Solaris 8 and cross-compilation.
From Rainer Orth. From-SVN: r184092
This commit is contained in:
parent
0f3b7e9a44
commit
e6c5817dca
|
|
@ -198,6 +198,9 @@
|
||||||
/* Define if setcontext clobbers TLS variables */
|
/* Define if setcontext clobbers TLS variables */
|
||||||
#undef SETCONTEXT_CLOBBERS_TLS
|
#undef SETCONTEXT_CLOBBERS_TLS
|
||||||
|
|
||||||
|
/* The size of `void *', as computed by sizeof. */
|
||||||
|
#undef SIZEOF_VOID_P
|
||||||
|
|
||||||
/* Define to 1 if you have the ANSI C header files. */
|
/* Define to 1 if you have the ANSI C header files. */
|
||||||
#undef STDC_HEADERS
|
#undef STDC_HEADERS
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -14818,12 +14818,51 @@ $as_echo_n "checking whether setcontext clobbers TLS variables... " >&6; }
|
||||||
if test "${libgo_cv_lib_setcontext_clobbers_tls+set}" = set; then :
|
if test "${libgo_cv_lib_setcontext_clobbers_tls+set}" = set; then :
|
||||||
$as_echo_n "(cached) " >&6
|
$as_echo_n "(cached) " >&6
|
||||||
else
|
else
|
||||||
LIBS_hold="$LIBS"
|
CFLAGS_hold="$CFLAGS"
|
||||||
|
CFLAGS="$PTHREAD_CFLAGS"
|
||||||
|
LIBS_hold="$LIBS"
|
||||||
LIBS="$LIBS $PTHREAD_LIBS"
|
LIBS="$LIBS $PTHREAD_LIBS"
|
||||||
|
# The cast to long int works around a bug in the HP C Compiler
|
||||||
|
# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
|
||||||
|
# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
|
||||||
|
# This bug is HP SR number 8606223364.
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of void *" >&5
|
||||||
|
$as_echo_n "checking size of void *... " >&6; }
|
||||||
|
if test "${ac_cv_sizeof_void_p+set}" = set; then :
|
||||||
|
$as_echo_n "(cached) " >&6
|
||||||
|
else
|
||||||
|
if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (void *))" "ac_cv_sizeof_void_p" "$ac_includes_default"; then :
|
||||||
|
|
||||||
|
else
|
||||||
|
if test "$ac_cv_type_void_p" = yes; then
|
||||||
|
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
|
||||||
|
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
|
||||||
|
{ as_fn_set_status 77
|
||||||
|
as_fn_error "cannot compute sizeof (void *)
|
||||||
|
See \`config.log' for more details." "$LINENO" 5; }; }
|
||||||
|
else
|
||||||
|
ac_cv_sizeof_void_p=0
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
fi
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_void_p" >&5
|
||||||
|
$as_echo "$ac_cv_sizeof_void_p" >&6; }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
cat >>confdefs.h <<_ACEOF
|
||||||
|
#define SIZEOF_VOID_P $ac_cv_sizeof_void_p
|
||||||
|
_ACEOF
|
||||||
|
|
||||||
|
|
||||||
|
as_fn_arith $ac_cv_sizeof_void_p \* 8 && ptr_type_size=$as_val
|
||||||
if test "$cross_compiling" = yes; then :
|
if test "$cross_compiling" = yes; then :
|
||||||
case "$target" in
|
case "$target:$ptr_type_size" in
|
||||||
x86_64*-*-solaris2.10) libgo_cv_lib_setcontext_clobbers_tls=yes ;;
|
i?86-*-solaris2.1[01]:64 | x86_64*-*-solaris2.1[01]:64)
|
||||||
*) libgo_cv_lib_setcontext_clobbers_tls=no ;;
|
libgo_cv_lib_setcontext_clobbers_tls=yes ;;
|
||||||
|
*)
|
||||||
|
libgo_cv_lib_setcontext_clobbers_tls=no ;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
else
|
else
|
||||||
|
|
@ -14900,6 +14939,7 @@ rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
|
||||||
conftest.$ac_objext conftest.beam conftest.$ac_ext
|
conftest.$ac_objext conftest.beam conftest.$ac_ext
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
CFLAGS="$CFLAGS_hold"
|
||||||
LIBS="$LIBS_hold"
|
LIBS="$LIBS_hold"
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
|
||||||
|
|
@ -584,8 +584,12 @@ fi
|
||||||
dnl See whether setcontext changes the value of TLS variables.
|
dnl See whether setcontext changes the value of TLS variables.
|
||||||
AC_CACHE_CHECK([whether setcontext clobbers TLS variables],
|
AC_CACHE_CHECK([whether setcontext clobbers TLS variables],
|
||||||
[libgo_cv_lib_setcontext_clobbers_tls],
|
[libgo_cv_lib_setcontext_clobbers_tls],
|
||||||
[LIBS_hold="$LIBS"
|
[CFLAGS_hold="$CFLAGS"
|
||||||
|
CFLAGS="$PTHREAD_CFLAGS"
|
||||||
|
LIBS_hold="$LIBS"
|
||||||
LIBS="$LIBS $PTHREAD_LIBS"
|
LIBS="$LIBS $PTHREAD_LIBS"
|
||||||
|
AC_CHECK_SIZEOF([void *])
|
||||||
|
AS_VAR_ARITH([ptr_type_size], [$ac_cv_sizeof_void_p \* 8])
|
||||||
AC_RUN_IFELSE(
|
AC_RUN_IFELSE(
|
||||||
[AC_LANG_SOURCE([
|
[AC_LANG_SOURCE([
|
||||||
#include <pthread.h>
|
#include <pthread.h>
|
||||||
|
|
@ -650,11 +654,14 @@ main ()
|
||||||
])],
|
])],
|
||||||
[libgo_cv_lib_setcontext_clobbers_tls=no],
|
[libgo_cv_lib_setcontext_clobbers_tls=no],
|
||||||
[libgo_cv_lib_setcontext_clobbers_tls=yes],
|
[libgo_cv_lib_setcontext_clobbers_tls=yes],
|
||||||
[case "$target" in
|
[case "$target:$ptr_type_size" in
|
||||||
x86_64*-*-solaris2.10) libgo_cv_lib_setcontext_clobbers_tls=yes ;;
|
i?86-*-solaris2.1[[01]]:64 | x86_64*-*-solaris2.1[[01]]:64)
|
||||||
*) libgo_cv_lib_setcontext_clobbers_tls=no ;;
|
libgo_cv_lib_setcontext_clobbers_tls=yes ;;
|
||||||
|
*)
|
||||||
|
libgo_cv_lib_setcontext_clobbers_tls=no ;;
|
||||||
esac
|
esac
|
||||||
])
|
])
|
||||||
|
CFLAGS="$CFLAGS_hold"
|
||||||
LIBS="$LIBS_hold"
|
LIBS="$LIBS_hold"
|
||||||
])
|
])
|
||||||
if test "$libgo_cv_lib_setcontext_clobbers_tls" = "yes"; then
|
if test "$libgo_cv_lib_setcontext_clobbers_tls" = "yes"; then
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue