summaryrefslogtreecommitdiff
path: root/configure.in
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-07-08 10:27:23 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-07-08 10:27:23 +0000
commitaa4878589c57acdee9f189b67f1dc55c1283fa16 (patch)
tree2d1db19a07b7ea335ee87d1695c1e6b8fd952bb4 /configure.in
parent4e7110d4355e9236467a1f63cfe4b625394b3043 (diff)
* configure.in (rb_cv_stack_end_address): detect stack end address
variable supplied by system. [ruby-core:03115] * gc.c (Init_stack): use system provided address if possible. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6600 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'configure.in')
-rw-r--r--configure.in12
1 files changed, 12 insertions, 0 deletions
diff --git a/configure.in b/configure.in
index 0a4e2fd830..79dde00a87 100644
--- a/configure.in
+++ b/configure.in
@@ -389,6 +389,18 @@ AC_STRUCT_ST_BLKSIZE
AC_STRUCT_ST_BLOCKS
AC_STRUCT_ST_RDEV
+AC_CACHE_CHECK(for stack end address, rb_cv_stack_end_address,
+[rb_cv_stack_end_address=no
+for addr in __libc_stack_end _SEND; do
+ AC_TRY_LINK(
+ [extern void *$addr;],
+ [if (!$addr) return 1;],
+ [rb_cv_stack_end_address="$addr"; break])
+done])
+if test $rb_cv_stack_end_address != no; then
+ AC_DEFINE_UNQUOTED(STACK_END_ADDRESS, $rb_cv_stack_end_address)
+fi
+
dnl Checks for library functions.
AC_TYPE_GETGROUPS
AC_TYPE_SIGNAL