diff --git a/src/configure.in b/src/configure.in
index be44ccca0b814b93ff5a0699b653d0990d8cbcdb..1780edb0af7c998bcde7f959a7ffed0c68af57b0 100644
--- a/src/configure.in
+++ b/src/configure.in
@@ -1,4 +1,4 @@
-AC_REVISION("$Id: configure.in,v 1.884 2005/05/31 16:39:22 grubba Exp $")
+AC_REVISION("$Id: configure.in,v 1.885 2005/06/01 15:14:31 grubba Exp $")
 AC_INIT(interpret.c)
 AC_CONFIG_HEADER(machine.h)
 
@@ -2261,7 +2261,7 @@ if test "x$PIKE_PATH_TRANSLATE" = "x"; then
     # MinGW system.
     cat <<\EOF
 #!/bin/sh
-# Automatically generated by $Id: configure.in,v 1.884 2005/05/31 16:39:22 grubba Exp $.
+# Automatically generated by $Id: configure.in,v 1.885 2005/06/01 15:14:31 grubba Exp $.
 # MinGW-version. Do NOT edit.
 posix_name="`cat`"
 posix_prefix="/"
@@ -2299,7 +2299,7 @@ EOF
     # Native POSIX system.
   cat <<\EOF
 #!/bin/sh
-# Automatically generated by $Id: configure.in,v 1.884 2005/05/31 16:39:22 grubba Exp $.
+# Automatically generated by $Id: configure.in,v 1.885 2005/06/01 15:14:31 grubba Exp $.
 # POSIX-version. Do NOT edit.
 cat
 EOF
@@ -2308,7 +2308,7 @@ else
   # rntcl-style
   cat <<\EOF
 #!/bin/sh
-# Automatically generated by $Id: configure.in,v 1.884 2005/05/31 16:39:22 grubba Exp $.
+# Automatically generated by $Id: configure.in,v 1.885 2005/06/01 15:14:31 grubba Exp $.
 # RNTCL-version. Do NOT edit.
 sed -e "$PIKE_PATH_TRANSLATE"
 EOF
@@ -4690,8 +4690,9 @@ AC_CACHE_VAL(pike_cv_hardware_stack_direction,
 [
   AC_TRY_RUN([
 #include <stdio.h>
-static int find_stack_direction(void *foo)
+static int find_stack_direction(void *foo, int cnt)
 {
+  if (cnt) return 1*find_stack_direction(foo, cnt>>1);
   if (((void *)&foo) > foo) {
     return 1;
   } else {
@@ -4699,7 +4700,7 @@ static int find_stack_direction(void *foo)
   }
 }
 
-int main() { void *bar; exit( find_stack_direction(&bar) > 0); }
+int main() { void *bar; exit( find_stack_direction(&bar, 0x10) > 0); }
   ], [ pike_cv_hardware_stack_direction=down
   ], [ pike_cv_hardware_stack_direction=up
   ], [