diff --git a/src/configure.in b/src/configure.in
index 5a552dcd31b53226e5d471993458443afa6958a4..3eefd58e49757bc98fbce46a0dd3eddd665d611b 100644
--- a/src/configure.in
+++ b/src/configure.in
@@ -1,4 +1,4 @@
-AC_REVISION("$Id: configure.in,v 1.929 2005/11/30 21:35:48 grendel Exp $")
+AC_REVISION("$Id: configure.in,v 1.930 2005/12/02 20:42:54 grubba Exp $")
 AC_INIT(interpret.c)
 AC_CONFIG_HEADER(machine.h)
 
@@ -2334,7 +2334,7 @@ if test "x$PIKE_PATH_TRANSLATE" = "x"; then
     # MinGW system.
     cat <<\EOF
 #!/bin/sh
-# Automatically generated by $Id: configure.in,v 1.929 2005/11/30 21:35:48 grendel Exp $.
+# Automatically generated by $Id: configure.in,v 1.930 2005/12/02 20:42:54 grubba Exp $.
 # MinGW-version. Do NOT edit.
 posix_name="`cat`"
 posix_prefix="/"
@@ -2372,7 +2372,7 @@ EOF
     # Native POSIX system.
   cat <<\EOF
 #!/bin/sh
-# Automatically generated by $Id: configure.in,v 1.929 2005/11/30 21:35:48 grendel Exp $.
+# Automatically generated by $Id: configure.in,v 1.930 2005/12/02 20:42:54 grubba Exp $.
 # POSIX-version. Do NOT edit.
 cat
 EOF
@@ -2381,7 +2381,7 @@ else
   # rntcl-style
   cat <<\EOF
 #!/bin/sh
-# Automatically generated by $Id: configure.in,v 1.929 2005/11/30 21:35:48 grendel Exp $.
+# Automatically generated by $Id: configure.in,v 1.930 2005/12/02 20:42:54 grubba Exp $.
 # RNTCL-version. Do NOT edit.
 sed -e "$PIKE_PATH_TRANSLATE"
 EOF
@@ -2434,7 +2434,19 @@ if test "x$with_lib_path" = "x"; then :; else
   	    ;;
   	  esac
   	  real_libs="$real_libs $real_dir"
+	  
         fi
+
+	  if echo " $pike_cv_32bit_libs " | grep " $real_dir " >/dev/null; then
+	    abi_32=yes
+	  else
+	    abi_32=no
+	  fi
+	  if echo " $pike_cv_64bit_libs " | grep " $real_dir " >/dev/null; then
+	    abi_64=yes
+	  else
+	    abi_64=no
+	  fi
         bad_abi=""
         for f in "$d"/* no; do
           if test -f "$f"; then
@@ -2451,6 +2463,7 @@ if test "x$with_lib_path" = "x"; then :; else
         done
         if test "x$bad_abi" = "x"; then :; else
   	  AC_MSG_RESULT([no, contains only $bad_abi-bit ABI files])
+	  pike_cv_bad_abi_libs="$pike_cv_bad_abi_libs $real_dir"
   	  continue;
         fi
         case " $LDFLAGS " in
@@ -3138,10 +3151,11 @@ AC_HEADER_STDC
 AC_CHECK_HEADERS(sys/rusage.h time.h sys/time.h sys/types.h unistd.h stdlib.h \
 		 memory.h values.h string.h strings.h fcntl.h sys/filio.h \
 		 sys/sockio.h crypt.h locale.h sys/select.h net/socket.h \
+		 sys/param.h \
 		 sys/mman.h setjmp.h sys/user.h limits.h pthread.h \
 		 crt/signal.h sys/id.h mach-o/dyld.h sys/ptrace.h \
 		 thread.h dlfcn.h dld.h dl.h sys/times.h sched.h \
-		 sys/procfs.h sys/param.h winsock.h sys/ioct.h sys/socket.h \
+		 sys/procfs.h winsock.h sys/ioct.h sys/socket.h \
 		 malloc.h netinet/in.h sys/wait.h windows.h grp.h pwd.h \
 		 passwd.h group.h winsock2.h signal.h sys/file.h poll.h \
 		 sys/poll.h socket.h ieeefp.h fp_class.h floatingpoint.h \
@@ -3201,6 +3215,10 @@ AC_CHECK_HEADERS(sys/rusage.h time.h sys/time.h sys/types.h unistd.h stdlib.h \
 #ifdef HAVE_WINSOCK2_H
 # include <winsock2.h>
 #endif
+/* Necessary to find sys/user.h on OpenBSD */
+#ifdef HAVE_SYS_PARAM_H
+# include <sys/param.h>
+#endif
 ])
 
 # Setjmp.
diff --git a/src/signal_handler.c b/src/signal_handler.c
index 9e559fe0ca204f979abfdbad7bfb7654d8894ed1..d250750a67fe78dad989fc53720b2e0bf73de96a 100644
--- a/src/signal_handler.c
+++ b/src/signal_handler.c
@@ -2,7 +2,7 @@
 || This file is part of Pike. For copyright information see COPYRIGHT.
 || Pike is distributed under GPL, LGPL and MPL. See the file COPYING
 || for more information.
-|| $Id: signal_handler.c,v 1.314 2005/05/25 13:03:04 grubba Exp $
+|| $Id: signal_handler.c,v 1.315 2005/12/02 20:43:04 grubba Exp $
 */
 
 #include "global.h"
@@ -109,6 +109,11 @@
 #include <sys/ptrace.h>
 #endif
 
+#ifdef HAVE_SYS_PARAM_H
+/* Needed for <sys/user.h> on OpenBSD. */
+#include <sys/param.h>
+#endif
+
 #ifdef HAVE_SYS_USER_H
 /* NOTE: On AIX 4.x with COFF32 format, this file
  *       includes <syms.h>, which has incompatible