summaryrefslogtreecommitdiff
path: root/libgo/configure
diff options
context:
space:
mode:
authorian <ian@138bc75d-0d04-0410-961f-82ee72b054a4>2012-02-15 22:29:35 +0000
committerian <ian@138bc75d-0d04-0410-961f-82ee72b054a4>2012-02-15 22:29:35 +0000
commit9f89fc14b517dd5af3dc205885b9e798ebbbf2cb (patch)
tree8479da6f747b3bcc95251ebeec9fd6caef172543 /libgo/configure
parent3619a9e53146fa41ef55d870aa3d3ed2f0f55ea6 (diff)
downloadgcc-9f89fc14b517dd5af3dc205885b9e798ebbbf2cb.tar.gz
runtime: Support broken makecontext on Solaris 8/9.
From Rainer Orth. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@184289 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libgo/configure')
-rwxr-xr-xlibgo/configure17
1 files changed, 17 insertions, 0 deletions
diff --git a/libgo/configure b/libgo/configure
index 9bbdfe92985..7da2e3f7c2a 100755
--- a/libgo/configure
+++ b/libgo/configure
@@ -14873,6 +14873,20 @@ $as_echo "#define HAVE_STRUCT_EXCEPTION 1" >>confdefs.h
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 :
@@ -14974,6 +14988,9 @@ main ()
abort ();
c.uc_stack.ss_sp = stack;
+#ifdef MAKECONTEXT_STACK_TOP
+ c.uc_stack.ss_sp += sizeof stack;
+#endif
c.uc_stack.ss_flags = 0;
c.uc_stack.ss_size = sizeof stack;
c.uc_link = NULL;