diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2004-07-08 10:27:23 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2004-07-08 10:27:23 +0000 |
commit | aa4878589c57acdee9f189b67f1dc55c1283fa16 (patch) | |
tree | 2d1db19a07b7ea335ee87d1695c1e6b8fd952bb4 /configure.in | |
parent | 4e7110d4355e9236467a1f63cfe4b625394b3043 (diff) | |
download | ruby-aa4878589c57acdee9f189b67f1dc55c1283fa16.tar.gz |
* 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.in | 12 |
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 |