diff --git a/Misc/NEWS b/Misc/NEWS
index 519fb5e..6ee769c 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -107,6 +107,8 @@
 Build
 -----
 
+- Drop -OPT:Olimit compiler option.
+
 - Issue #10094: Use versioned .so files on GNU/kfreeBSD and the GNU Hurd.
 
 - Accept Oracle Berkeley DB 5.0 and 5.1 as backend for the dbm extension.
diff --git a/configure b/configure
index 5d70137..c1b2201 100755
--- a/configure
+++ b/configure
@@ -1,5 +1,5 @@
 #! /bin/sh
-# From configure.in Revision: 85554 .
+# From configure.in Revision: 85559 .
 # Guess values for system-dependent variables and create Makefiles.
 # Generated by GNU Autoconf 2.67 for python 3.2.
 #
@@ -5596,89 +5596,6 @@
 	BASECFLAGS="$BASECFLAGS $ac_arch_flags"
 fi
 
-# disable check for icc since it seems to pass, but generates a warning
-if test "$CC" = icc
-then
-  ac_cv_opt_olimit_ok=no
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -OPT:Olimit=0" >&5
-$as_echo_n "checking whether $CC accepts -OPT:Olimit=0... " >&6; }
-if test "${ac_cv_opt_olimit_ok+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_save_cc="$CC"
-CC="$CC -OPT:Olimit=0"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_opt_olimit_ok=yes
-else
-  ac_cv_opt_olimit_ok=no
-
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-CC="$ac_save_cc"
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_opt_olimit_ok" >&5
-$as_echo "$ac_cv_opt_olimit_ok" >&6; }
-if test $ac_cv_opt_olimit_ok = yes; then
-    case $ac_sys_system in
-	# XXX is this branch needed? On MacOSX 10.2.2 the result of the
-	# olimit_ok test is "no".  Is it "yes" in some other Darwin-esque
-	# environment?
-        Darwin*)
-	    ;;
-        *)
-	    BASECFLAGS="$BASECFLAGS -OPT:Olimit=0"
-	    ;;
-    esac
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -Olimit 1500" >&5
-$as_echo_n "checking whether $CC accepts -Olimit 1500... " >&6; }
-  if test "${ac_cv_olimit_ok+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_save_cc="$CC"
-  CC="$CC -Olimit 1500"
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_olimit_ok=yes
-else
-  ac_cv_olimit_ok=no
-
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  CC="$ac_save_cc"
-fi
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_olimit_ok" >&5
-$as_echo "$ac_cv_olimit_ok" >&6; }
-  if test $ac_cv_olimit_ok = yes; then
-    BASECFLAGS="$BASECFLAGS -Olimit 1500"
-  fi
-fi
-
 # Check whether GCC supports PyArg_ParseTuple format
 if test "$GCC" = "yes"
 then
diff --git a/configure.in b/configure.in
index a6cedc3..9585b09 100644
--- a/configure.in
+++ b/configure.in
@@ -1092,51 +1092,6 @@
 	BASECFLAGS="$BASECFLAGS $ac_arch_flags"
 fi
 
-# disable check for icc since it seems to pass, but generates a warning
-if test "$CC" = icc
-then
-  ac_cv_opt_olimit_ok=no
-fi
-
-AC_MSG_CHECKING(whether $CC accepts -OPT:Olimit=0)
-AC_CACHE_VAL(ac_cv_opt_olimit_ok,
-[ac_save_cc="$CC"
-CC="$CC -OPT:Olimit=0"
-AC_COMPILE_IFELSE(
-  [AC_LANG_PROGRAM([[]], [[]])],
-  [ac_cv_opt_olimit_ok=yes],
-  [ac_cv_opt_olimit_ok=no]
-  )
-CC="$ac_save_cc"])
-AC_MSG_RESULT($ac_cv_opt_olimit_ok)
-if test $ac_cv_opt_olimit_ok = yes; then
-    case $ac_sys_system in
-	# XXX is this branch needed? On MacOSX 10.2.2 the result of the
-	# olimit_ok test is "no".  Is it "yes" in some other Darwin-esque
-	# environment?
-        Darwin*)
-	    ;;
-        *)
-	    BASECFLAGS="$BASECFLAGS -OPT:Olimit=0"
-	    ;;
-    esac
-else
-  AC_MSG_CHECKING(whether $CC accepts -Olimit 1500)
-  AC_CACHE_VAL(ac_cv_olimit_ok,
-  [ac_save_cc="$CC"
-  CC="$CC -Olimit 1500"
-  AC_COMPILE_IFELSE(
-    [AC_LANG_PROGRAM([[]], [[]])],
-    [ac_cv_olimit_ok=yes],
-    [ac_cv_olimit_ok=no]
-    )
-  CC="$ac_save_cc"])
-  AC_MSG_RESULT($ac_cv_olimit_ok)
-  if test $ac_cv_olimit_ok = yes; then
-    BASECFLAGS="$BASECFLAGS -Olimit 1500"
-  fi
-fi
-
 # Check whether GCC supports PyArg_ParseTuple format
 if test "$GCC" = "yes"
 then
