Index: gc.c =================================================================== --- gc.c.orig +++ gc.c @@ -425,7 +425,7 @@ unsigned int _stacksize = 262144; # define STACK_LEVEL_MAX (_stacksize - 4096) # undef HAVE_GETRLIMIT #elif defined(HAVE_GETRLIMIT) || defined(_WIN32) -static unsigned int STACK_LEVEL_MAX = 655300; +static unsigned long STACK_LEVEL_MAX = 655300; #else # define STACK_LEVEL_MAX 655300 #endif @@ -485,7 +485,7 @@ stack_grow_direction(addr) (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 @@ -238,7 +238,7 @@ VALUE rb_file_directory_p _((VALUE,VALUE /* 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*));