diff --git a/libguile/gc_os_dep.c b/libguile/gc_os_dep.c index d89f1cf10..7bc96447f 100644 --- a/libguile/gc_os_dep.c +++ b/libguile/gc_os_dep.c @@ -1127,7 +1127,7 @@ scm_get_stack_base () # ifdef OSF1 # define OS_TYPE "OSF1" # define DATASTART ((ptr_t) 0x140000000) - extern _end; + extern int _end; # define DATAEND ((ptr_t) &_end) # define HEURISTIC2 /* Normally HEURISTIC2 is too conervative, since */ @@ -1912,7 +1912,7 @@ void *scm_get_stack_base() # if STACK_GROWS_DOWN result = GC_find_limit((ptr_t)(&dummy), TRUE); # ifdef HEURISTIC2_LIMIT - if (result > HEURISTIC2_LIMIT + if ((ptr_t)result > HEURISTIC2_LIMIT && (ptr_t)(&dummy) < HEURISTIC2_LIMIT) { result = HEURISTIC2_LIMIT; }