diff --git a/mingw-w64-crt/config.h.in b/mingw-w64-crt/config.h.in
index bf02e3c..9bc1dc2 100644
--- a/mingw-w64-crt/config.h.in
+++ b/mingw-w64-crt/config.h.in
@@ -1,8 +1,5 @@
 /* config.h.in.  Generated from configure.ac by autoheader.  */
 
-/* Whether the linker provides __CTOR_LIST__ */
-#undef HAVE_CTOR_LIST
-
 /* Define to 1 if you have the <inttypes.h> header file. */
 #undef HAVE_INTTYPES_H
 
diff --git a/mingw-w64-crt/configure b/mingw-w64-crt/configure
index d9d91d2..e13a796 100755
--- a/mingw-w64-crt/configure
+++ b/mingw-w64-crt/configure
@@ -5886,70 +5886,6 @@
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_tests_unicode" >&5
 $as_echo "$enable_tests_unicode" >&6; }
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the linker provides __CTOR_LIST__" >&5
-$as_echo_n "checking whether the linker provides __CTOR_LIST__... " >&6; }
-saved_LDFLAGS="$LDFLAGS"
-saved_ac_no_link="$ac_no_link"
-LDFLAGS="$LDFLAGS -nostdlib"
-# Note that binutils 2.30 is broken with respect to __CTOR_LIST__ (the change
-# was reverted for 2.31); it does provide __CTOR_LIST__ automatically only if
-# necessary. But as long as there's no other definition of it, a fallback
-# __CTOR_LIST__ gets pulled in from libgcc, and this fallback is only a dummy
-# to prevent linker errors (in general) and isn't assigned to the right
-# sections. Therefore, it'd be better to test whether we can/should provide
-# our own __CTOR_LIST__.
-
-# But we can't test whether we can provide our own __CTOR_LIST__ with binutils
-# ld either; even if our test provides its own symbol __CTOR_LIST__, ld will
-# include it but silently use its own provided __CTOR_LIST__ instead, and
-# won't error out. For actual real use, that'd mean a stray broken pointer in
-# the .ctors section.
-
-# This test uses both mainCRTStartup and main functions, to let lld deduce
-# entry point and subsystem automatically without having to manually specify,
-# anything. And as long as main() is provided, we need to implicitly provide
-# __main as well, since the compiler injects a call to it.
-
-# Run this test manually instead of wrapping it in AC_LINK_IFELSE; when
-# bootstrapping an environment, an earlier linking test will have failed,
-# which both causes autoconf to refuse to run any linker test at all,
-# and even if $ac_no_link is overridden, the linker test iteslf will explicitly
-# check that the linker actually produced output in the given output file.
-# If $ac_exeext is empty, as it is when the earlier linker test failed, gcc
-# will behave differently depending on version. If run with "gcc conftest.c
-# -o conftest", old versions will produce explicitly a file named "conftest",
-# while modern GCC versions will produce "conftest.exe". AC_LINK_IFELSE will
-# explicitly look for the output file named "conftest$ac_exeext", which isn't
-# found, and the test fails even though linking succeeded.
-#
-# Therefore, just do a manual test; run the linking command and check the return
-# code whether it was successful or not.
-cat <<_ACEOF >conftest.$ac_ext
-#include <stdint.h>
-extern const void * __CTOR_LIST__;
-void __main(void) {
-}
-int main(void) {
-  return (int)(intptr_t)__CTOR_LIST__;
-}
-int mainCRTStartup(void) {
-  return main();
-}
-_ACEOF
-
-echo "$as_me:$LINENO: $CC conftest.$ac_ext $LDFLAGS -o conftest$ac_exeext" >&5
-if $CC conftest.$ac_ext $LDFLAGS -o conftest$ac_exeext >&5 2>&1; then
-
-$as_echo "#define HAVE_CTOR_LIST 1" >>confdefs.h
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-LDFLAGS="$saved_LDFLAGS"
-
 # Checks for libraries.
 
 # Checks for header files.
