diff options
| author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2003-06-28 03:29:00 +0000 |
|---|---|---|
| committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2003-06-28 03:29:00 +0000 |
| commit | d93ca3c9623dcd95c3154b692fe4998b6c1ada90 (patch) | |
| tree | e3fcc29316c79f8df372319c472d4875271d0f8e /configure.in | |
| parent | 11e5165613a74fca9c761906303c245fb237f0d9 (diff) | |
| download | ruby-d93ca3c9623dcd95c3154b692fe4998b6c1ada90.tar.gz ruby-d93ca3c9623dcd95c3154b692fe4998b6c1ada90.tar.xz ruby-d93ca3c9623dcd95c3154b692fe4998b6c1ada90.zip | |
* configure.in (rb_cv_stack_grow_dir): check stack growing direction.
* eval.c (rb_thread_restore_context): prior configuration macro.
* gc.c (ruby_stack_length): always return the address of lower edge.
* gc.c (rb_gc_mark_locations): remove margin. [ruby-dev:20462]
* gc.c (rb_gc, Init_stack): prior configuration macro.
* gc.c (Init_stack): add safety margin.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@4012 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'configure.in')
| -rw-r--r-- | configure.in | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/configure.in b/configure.in index ec6abaef7..cebfc766b 100644 --- a/configure.in +++ b/configure.in @@ -616,6 +616,30 @@ if test "$rb_cv_need_io_flush_before_seek" = yes; then AC_DEFINE(NEED_IO_FLUSH_BEFORE_SEEK, 1) fi +case "$target_cpu" in +m68*|i?86|sparc) rb_cv_stack_grow_dir=-1;; +esac +AC_CACHE_CHECK(stack growing direction, rb_cv_stack_grow_dir, + [AC_TRY_RUN([ +/* recurse to get rid of inlining */ +static int +stack_growup_p(addr, n) + volatile int *addr, n; +{ + volatile int end; + if (n > 0) + return *addr = stack_growup_p(addr, n - 1); + else + return (&end > addr); +} +int main() +{ + int x; + return stack_growup_p(&x, 10); +} +], rb_cv_stack_grow_dir=-1, rb_cv_stack_grow_dir=+1, rb_cv_stack_grow_dir=0)]) +AC_DEFINE_UNQUOTED(STACK_GROW_DIRECTION, $rb_cv_stack_grow_dir) + dnl default value for $KANJI DEFAULT_KCODE="KCODE_NONE" |
