summaryrefslogtreecommitdiffstats
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
commitb6749eb1261fef02110e56967defe76995b501ec (patch)
tree2d1db19a07b7ea335ee87d1695c1e6b8fd952bb4 /configure.in
parent3c0b5af313283c1d6ec4bb71f761576044ae3fbc (diff)
downloadruby-b6749eb1261fef02110e56967defe76995b501ec.tar.gz
ruby-b6749eb1261fef02110e56967defe76995b501ec.tar.xz
ruby-b6749eb1261fef02110e56967defe76995b501ec.zip
* 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: http://svn.ruby-lang.org/repos/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 0a4e2fd83..79dde00a8 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