From Rainer Orth.
From-SVN: r209448
*/
#undef LT_OBJDIR
-/* Define if makecontext expects top of stack in uc_stack. */
-#undef MAKECONTEXT_STACK_TOP
-
/* Name of package */
#undef PACKAGE
# msghdr in <sys/socket.h>.
OSCFLAGS="$OSCFLAGS -D_XOPEN_SOURCE=500"
;;
- *-*-solaris2.[89])
- # Solaris 8/9 need this so struct msghdr gets the msg_control
- # etc. fields in <sys/socket.h> (_XPG4_2).
- OSCFLAGS="$OSCFLAGS -D_XOPEN_SOURCE=500 -D_XOPEN_SOURCE_EXTENDED -D__EXTENSIONS__"
- ;;
*-*-solaris2.1[01])
# Solaris 10+ needs this so struct msghdr gets the msg_control
# etc. fields in <sys/socket.h> (_XPG4_2). _XOPEN_SOURCE=600 as
fi
-case "$target" in
- sparc*-*-solaris2.[89]*)
- libgo_cv_lib_makecontext_stack_top=yes
- ;;
- *)
- libgo_cv_lib_makecontext_stack_top=no
- ;;
-esac
-if test "$libgo_cv_lib_makecontext_stack_top" = "yes"; then
-
-$as_echo "#define MAKECONTEXT_STACK_TOP 1" >>confdefs.h
-
-fi
-
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether setcontext clobbers TLS variables" >&5
$as_echo_n "checking whether setcontext clobbers TLS variables... " >&6; }
if test "${libgo_cv_lib_setcontext_clobbers_tls+set}" = set; then :
# msghdr in <sys/socket.h>.
OSCFLAGS="$OSCFLAGS -D_XOPEN_SOURCE=500"
;;
- *-*-solaris2.[[89]])
- # Solaris 8/9 need this so struct msghdr gets the msg_control
- # etc. fields in <sys/socket.h> (_XPG4_2).
- OSCFLAGS="$OSCFLAGS -D_XOPEN_SOURCE=500 -D_XOPEN_SOURCE_EXTENDED -D__EXTENSIONS__"
- ;;
*-*-solaris2.1[[01]])
# Solaris 10+ needs this so struct msghdr gets the msg_control
# etc. fields in <sys/socket.h> (_XPG4_2). _XOPEN_SOURCE=600 as
[Define to 1 if <math.h> defines struct exception])
fi
-dnl Check if makecontext expects the uc_stack member of ucontext to point
-dnl to the top of the stack.
-case "$target" in
- sparc*-*-solaris2.[[89]]*)
- libgo_cv_lib_makecontext_stack_top=yes
- ;;
- *)
- libgo_cv_lib_makecontext_stack_top=no
- ;;
-esac
-if test "$libgo_cv_lib_makecontext_stack_top" = "yes"; then
- AC_DEFINE(MAKECONTEXT_STACK_TOP, 1,
- [Define if makecontext expects top of stack in uc_stack.])
-fi
-
dnl See whether setcontext changes the value of TLS variables.
AC_CACHE_CHECK([whether setcontext clobbers TLS variables],
[libgo_cv_lib_setcontext_clobbers_tls],
func Ldexp(frac float64, exp int) float64 {
r := libc_ldexp(frac, exp)
-
- // Work around a bug in the implementation of ldexp on Solaris
- // 9. If multiplying a negative number by 2 raised to a
- // negative exponent underflows, we want to return negative
- // zero, but the Solaris 9 implementation returns positive
- // zero. This workaround can be removed when and if we no
- // longer care about Solaris 9.
- if r == 0 && frac < 0 && exp < 0 {
- r = Copysign(0, frac)
- }
return r
}
// here we need to set up the context for g0.
getcontext(&mp->g0->context);
mp->g0->context.uc_stack.ss_sp = g0_sp;
-#ifdef MAKECONTEXT_STACK_TOP
- mp->g0->context.uc_stack.ss_sp += g0_spsize;
-#endif
mp->g0->context.uc_stack.ss_size = g0_spsize;
makecontext(&mp->g0->context, kickoff, 0);