diff --git a/config-ml.in b/config-ml.in
index 5e519942b..6507e2a4f 100644
--- a/config-ml.in
+++ b/config-ml.in
@@ -35,9 +35,9 @@
 #
 # if [ "${srcdir}" = "." ] ; then
 #   if [ "${with_target_subdir}" != "." ] ; then
-#     . ${with_multisrctop}../../config-ml.in
+#     . ${srcdir}/../../config-ml.in
 #   else
-#     . ${with_multisrctop}../config-ml.in
+#     . ${srcdir}/../config-ml.in
 #   fi
 # else
 #   . ${srcdir}/../config-ml.in
@@ -47,9 +47,9 @@
 # Things are complicated because 6 separate cases must be handled:
 # 2 (native, cross) x 3 (absolute-path, relative-not-dot, dot) = 6.
 #
-# srcdir=. is special.  It must handle make programs that don't handle VPATH.
-# To implement this, a symlink tree is built for each library and for each
-# multilib subdir.
+# srcdir=. is special.  We used to want to handle make programs that
+# don't handle VPATH.  To implement this, a symlink tree is built for
+# each library and for each multilib subdir.
 #
 # The build tree is layed out as
 #
@@ -60,6 +60,13 @@
 #          m68881/
 #                 newlib
 #
+# (Now though, GNU Make is required, and GNU Make always supports VPATH.
+# We can therefore drop support for these symlink trees. And
+# accordingly, we can know that ${srcdir}/.. always does what we expect
+# in all supported configurations, and use that to further simplify this
+# multilib infrastructure. These simplifications are not yet
+# implemented.)
+#
 # The nice feature about this arrangement is that inter-library references
 # in the build tree work without having to care where you are.  Note that
 # inter-library references also work in the source tree because symlink trees
@@ -72,14 +79,10 @@
 # Configure variables:
 # ${with_target_subdir} = "." for native, or ${target_alias} for cross.
 # Set by top level Makefile.
-# ${with_multisrctop} = how many levels of multilibs there are in the source
-# tree.  It exists to handle the case of configuring in the source tree:
-# ${srcdir} is not constant.
 # ${with_multisubdir} = name of multilib subdirectory (eg: m68020/m68881).
 #
 # Makefile variables:
 # MULTISRCTOP = number of multilib levels in source tree (+1 if cross)
-# (FIXME: note that this is different than ${with_multisrctop}.  Check out.).
 # MULTIBUILDTOP = number of multilib levels in build tree
 # MULTIDIRS = list of multilib subdirs (eg: m68000 m68020 ...)
 # (only defined in each library's main Makefile).
@@ -709,7 +712,6 @@ if [ -n "${multidirs}" ] && [ -z "${ml_norecursion}" ]; then
       fi
       ml_newsrcdir="."
       ml_srcdiroption=
-      multisrctop=${dotdot}
       ;;
     *)
       case "${srcdir}" in
@@ -721,7 +723,6 @@ if [ -n "${multidirs}" ] && [ -z "${ml_norecursion}" ]; then
         ;;
       esac
       ml_srcdiroption="-srcdir=${ml_newsrcdir}"
-      multisrctop=
       ;;
     esac
 
@@ -867,7 +868,7 @@ if [ -n "${multidirs}" ] && [ -z "${ml_norecursion}" ]; then
     fi
 
     if eval ${ml_config_env} ${ml_config_shell} ${ml_recprog} \
-	--with-multisubdir=${ml_dir} --with-multisrctop=${multisrctop} \
+	--with-multisubdir=${ml_dir} \
 	"${ac_configure_args}" ${ml_config_env} ${ml_srcdiroption} ; then
       true
     else
diff --git a/config/multi.m4 b/config/multi.m4
index 5b62ecc0a..c3dc60b46 100644
--- a/config/multi.m4
+++ b/config/multi.m4
@@ -23,14 +23,14 @@ AC_ARG_ENABLE(multilib,
 	      [multilib=yes])
 
 # We may get other options which we leave undocumented:
-# --with-target-subdir, --with-multisrctop, --with-multisubdir
+# --with-target-subdir, --with-multisubdir
 # See config-ml.in if you want the gory details.
 
 if test "$srcdir" = "."; then
   if test "$with_target_subdir" != "."; then
-    multi_basedir="$srcdir/$with_multisrctop../$2"
+    multi_basedir="$srcdir/../$2"
   else
-    multi_basedir="$srcdir/$with_multisrctop$2"
+    multi_basedir="$srcdir/$2"
   fi
 else
   multi_basedir="$srcdir/$2"
@@ -57,7 +57,6 @@ srcdir="$srcdir"
 host="$host"
 target="$target"
 with_multisubdir="$with_multisubdir"
-with_multisrctop="$with_multisrctop"
 with_target_subdir="$with_target_subdir"
 ac_configure_args="${multilib_arg} ${ac_configure_args}"
 multi_basedir="$multi_basedir"
diff --git a/libgloss/configure b/libgloss/configure
index ba071824b..ca12e9b84 100755
--- a/libgloss/configure
+++ b/libgloss/configure
@@ -5652,14 +5652,14 @@ fi
 
 
 # We may get other options which we leave undocumented:
-# --with-target-subdir, --with-multisrctop, --with-multisubdir
+# --with-target-subdir, --with-multisubdir
 # See config-ml.in if you want the gory details.
 
 if test "$srcdir" = "."; then
   if test "$with_target_subdir" != "."; then
-    multi_basedir="$srcdir/$with_multisrctop../.."
+    multi_basedir="$srcdir/../.."
   else
-    multi_basedir="$srcdir/$with_multisrctop.."
+    multi_basedir="$srcdir/.."
   fi
 else
   multi_basedir="$srcdir/.."
@@ -6616,7 +6616,6 @@ srcdir="$srcdir"
 host="$host"
 target="$target"
 with_multisubdir="$with_multisubdir"
-with_multisrctop="$with_multisrctop"
 with_target_subdir="$with_target_subdir"
 ac_configure_args="${multilib_arg} ${ac_configure_args}"
 multi_basedir="$multi_basedir"
diff --git a/newlib/acinclude.m4 b/newlib/acinclude.m4
index 19301289f..9bd32f147 100644
--- a/newlib/acinclude.m4
+++ b/newlib/acinclude.m4
@@ -94,15 +94,15 @@ AC_ARG_ENABLE(newlib-fno-builtin,
 
 
 dnl We may get other options which we don't document:
-dnl --with-target-subdir, --with-multisrctop, --with-multisubdir
+dnl --with-target-subdir, --with-multisubdir
 
 test -z "[$]{with_target_subdir}" && with_target_subdir=.
 
 if test "[$]{srcdir}" = "."; then
   if test "[$]{with_target_subdir}" != "."; then
-    newlib_basedir="[$]{srcdir}/[$]{with_multisrctop}../$1"
+    newlib_basedir="[$]{srcdir}/../$1"
   else
-    newlib_basedir="[$]{srcdir}/[$]{with_multisrctop}$1"
+    newlib_basedir="[$]{srcdir}/$1"
   fi
 else
   newlib_basedir="[$]{srcdir}/$1"
diff --git a/newlib/configure b/newlib/configure
index 33a2ed1c5..a76dc8322 100755
--- a/newlib/configure
+++ b/newlib/configure
@@ -2648,14 +2648,14 @@ fi
 
 
 # We may get other options which we leave undocumented:
-# --with-target-subdir, --with-multisrctop, --with-multisubdir
+# --with-target-subdir, --with-multisubdir
 # See config-ml.in if you want the gory details.
 
 if test "$srcdir" = "."; then
   if test "$with_target_subdir" != "."; then
-    multi_basedir="$srcdir/$with_multisrctop../.."
+    multi_basedir="$srcdir/../.."
   else
-    multi_basedir="$srcdir/$with_multisrctop.."
+    multi_basedir="$srcdir/.."
   fi
 else
   multi_basedir="$srcdir/.."
@@ -4874,9 +4874,9 @@ test -z "${with_target_subdir}" && with_target_subdir=.
 
 if test "${srcdir}" = "."; then
   if test "${with_target_subdir}" != "."; then
-    newlib_basedir="${srcdir}/${with_multisrctop}../."
+    newlib_basedir="${srcdir}/../."
   else
-    newlib_basedir="${srcdir}/${with_multisrctop}."
+    newlib_basedir="${srcdir}/."
   fi
 else
   newlib_basedir="${srcdir}/."
@@ -8732,7 +8732,6 @@ srcdir="$srcdir"
 host="$host"
 target="$target"
 with_multisubdir="$with_multisubdir"
-with_multisrctop="$with_multisrctop"
 with_target_subdir="$with_target_subdir"
 ac_configure_args="${multilib_arg} ${ac_configure_args}"
 multi_basedir="$multi_basedir"
