diff --git a/src/modules/Oracle/configure.in b/src/modules/Oracle/configure.in
index bf280257fda17300cc91b42540f405735e6e1d34..814cedad5a357f045a0b9c29c06dbe42454367ba 100755
--- a/src/modules/Oracle/configure.in
+++ b/src/modules/Oracle/configure.in
@@ -1,5 +1,5 @@
 #
-# $Id: configure.in,v 1.13 1999/03/20 21:04:51 marcus Exp $
+# $Id: configure.in,v 1.14 1999/06/01 21:09:03 marcus Exp $
 #
 # Configure script for the oracle module
 #
@@ -165,6 +165,77 @@ if test x$with_oracle = xyes; then
   rm -f conftest
   AC_CHECK_LIB(aio, aioread, [oracle_aio=-laio], [oracle_aio=""])
 
+  EXTRALDFLAGS=""
+
+  AC_MSG_CHECKING(if ld supports -Bsymbolic)
+  AC_CACHE_VAL(pike_cv_oracle_ld_bsymbolic, [
+    pike_cv_oracle_ld_bsymbolic=no
+    cat > conftest.$ac_ext <<EOF
+int foo(){ return 0; }
+EOF
+    if AC_TRY_EVAL(ac_compile); then
+      if AC_TRY_COMMAND([ld -r -o conftest2.o conftest.o $EXTRALDFLAGS -Bsymbolic]); then
+        if test -f conftest2.o; then
+          pike_cv_oracle_ld_bsymbolic=yes
+	else
+	  :
+	fi
+      else
+        :
+      fi
+    else
+      echo "configure: failed program was:" >&AC_FD_CC
+      cat conftest.$ac_ext >&AC_FD_CC
+    fi
+    rm -f conftest*
+  ])
+  AC_MSG_RESULT($pike_cv_oracle_ld_bsymbolic)
+
+  if test "x$pike_cv_oracle_ld_bsymbolic" = xyes; then
+    EXTRALDFLAGS="$EXTRALDFLAGS -Bsymbolic"
+  else
+    :
+  fi
+
+  AC_MSG_CHECKING(if ld supports -znodefs)
+  AC_CACHE_VAL(pike_cv_oracle_ld_znodefs, [
+    pike_cv_oracle_ld_znodefs=no
+    cat > conftest.$ac_ext <<EOF
+int foo(){ return 0; }
+EOF
+    if AC_TRY_EVAL(ac_compile); then
+
+      dnl  Some ld:s interpret -znodefs as "-z -n -o defs".
+      dnl  Check for such ld:s.
+
+      if AC_TRY_COMMAND([ld -r -o conftest2.o conftest.o $EXTRALDFLAGS -zoconftest3.o]) && \
+	  test -f conftest3.o; then
+	:
+      else
+        if AC_TRY_COMMAND([ld -r -o conftest2.o conftest.o $EXTRALDFLAGS -znodefs]); then
+          if test -f conftest2.o; then
+            pike_cv_oracle_ld_znodefs=yes
+	  else
+	    :
+	  fi
+        else
+          :
+        fi
+      fi
+    else
+      echo "configure: failed program was:" >&AC_FD_CC
+      cat conftest.$ac_ext >&AC_FD_CC
+    fi
+    rm -f conftest*
+  ])
+  AC_MSG_RESULT($pike_cv_oracle_ld_znodefs)
+
+  if test "x$pike_cv_oracle_ld_bsymbolic$pike_cv_oracle_ld_znodefs" = xyesyes; then
+    EXTRALDFLAGS="$EXTRALDFLAGS -znodefs"
+  else
+    :
+  fi
+
   if test "x$oracle_lib_dir" = xno -o "x$oracle_include_dir" = xno; then :; else
 
     CPPFLAGS="-I$oracle_include_dir ${CPPFLAGS}"
@@ -179,7 +250,7 @@ if test x$with_oracle = xyes; then
     OLDLIBS=LIBS
     LIBS="$LIBS $ORACLE_LIBS"
     AC_CHECK_LIB(client, oopen, [
-      LDFLAGS="-Bsymbolic -znodefs $LDFLAGS"
+      LDFLAGS="$EXTRALDFLAGS $LDFLAGS"
       AC_DEFINE(HAVE_ORACLE)
     ], [
       ORACLE_LIBS=""