Index: gc.c =================================================================== --- gc.c.orig +++ gc.c @@ -422,7 +422,7 @@ # define STACK_LEVEL_MAX (_stacksize - 4096) # undef HAVE_GETRLIMIT #elif defined(HAVE_GETRLIMIT) -static unsigned int STACK_LEVEL_MAX = 655300; +static unsigned long STACK_LEVEL_MAX = 655300; #else # define STACK_LEVEL_MAX 655300 #endif @@ -482,7 +482,7 @@ (ret) = (STACK_LENGTH > STACK_LEVEL_MAX + GC_WATER_MARK);\ } while (0) -int +long ruby_stack_length(p) VALUE **p; { Index: intern.h =================================================================== --- intern.h.orig +++ intern.h @@ -234,7 +234,7 @@ /* gc.c */ NORETURN(void rb_memerror __((void))); int ruby_stack_check _((void)); -int ruby_stack_length _((VALUE**)); +long ruby_stack_length _((VALUE**)); char *rb_source_filename _((const char*)); void rb_gc_mark_locations _((VALUE*, VALUE*)); void rb_mark_tbl _((struct st_table*));