diff --git a/mingw-w64-crt/Makefile.am b/mingw-w64-crt/Makefile.am
index 3683521..54a28e3 100644
--- a/mingw-w64-crt/Makefile.am
+++ b/mingw-w64-crt/Makefile.am
@@ -153,7 +153,11 @@
   libsrc/wspiapi/WspiapiLoad.c               libsrc/wspiapi/WspiapiGetAddrInfo.c       libsrc/wspiapi/WspiapiGetNameInfo.c        \
   libsrc/wspiapi/WspiapiFreeAddrInfo.c
 
+src_msvcrt_common=\
+  stdio/acrt_iob_func.c
+
 src_msvcrt=\
+  $(src_msvcrt_common) \
   misc/_configthreadlocale.c \
   misc/_get_current_locale.c \
   misc/invalid_parameter_handler.c \
@@ -224,6 +228,7 @@
   misc/__p___argv.c
 
 src_msvcr80_64=\
+  $(src_msvcrt_common) \
   misc/__p___argv.c
 
 # These mingwex sources are target independent:
@@ -635,9 +640,60 @@
 include lib32/Makefile.am
 
 if !W32API
-lib32_DATA += lib32/libglut.a lib32/libmsvcp60.a lib32/libmsvcr80.a lib32/libmsvcr90.a lib32/libmsvcr90d.a lib32/libmsvcr100.a \
-			  lib32/libmsvcr110.a lib32/libmsvcr120.a lib32/libmsvcr120d.a lib32/libcrtdll.a \
-			  lib32/libmsvcr120_app.a lib32/libmsvcp120_app.a
+lib32_DATA += lib32/libglut.a lib32/libmsvcp60.a lib32/libmsvcp120_app.a
+
+lib32_LIBRARIES += lib32/libcrtdll.a
+lib32_libcrtdll_a_SOURCES = $(src_msvcrt_common)
+lib32_libcrtdll_a_AR = $(DTDEF32) $(top_srcdir)/lib32/crtdll.def && $(AR) $(ARFLAGS)
+lib32_libcrtdll_a_CPPFLAGS=$(CPPFLAGS32) -D__LIBMSVCRT__ $(extra_include) $(sysincludes)
+
+lib32_LIBRARIES += lib32/libmsvcr80.a
+lib32_libmsvcr80_a_SOURCES = $(src_msvcrt_common) lib32/msvcr80.def.in
+lib32_libmsvcr80_a_AR = $(DTDEF32) lib32/msvcr80.def && $(AR) $(ARFLAGS)
+lib32_libmsvcr80_a_CPPFLAGS=$(CPPFLAGS32) -D__LIBMSVCRT__ $(extra_include) $(sysincludes)
+EXTRA_lib32_libmsvcr80_a_DEPENDENCIES=lib32/msvcr80.def
+
+lib32_LIBRARIES += lib32/libmsvcr90.a
+lib32_libmsvcr90_a_SOURCES = $(src_msvcrt_common) lib32/msvcr90.def.in
+lib32_libmsvcr90_a_AR = $(DTDEF32) lib32/msvcr90.def && $(AR) $(ARFLAGS)
+lib32_libmsvcr90_a_CPPFLAGS=$(CPPFLAGS32) -D__LIBMSVCRT__ $(extra_include) $(sysincludes)
+EXTRA_lib32_libmsvcr90_a_DEPENDENCIES=lib32/msvcr90.def
+
+lib32_LIBRARIES += lib32/libmsvcr90d.a
+lib32_libmsvcr90d_a_SOURCES = $(src_msvcrt_common) lib32/msvcr90d.def.in
+lib32_libmsvcr90d_a_AR = $(DTDEF32) lib32/msvcr90d.def && $(AR) $(ARFLAGS)
+lib32_libmsvcr90d_a_CPPFLAGS=$(CPPFLAGS32) -D__LIBMSVCRT__ $(extra_include) $(sysincludes)
+EXTRA_lib32_libmsvcr90d_a_DEPENDENCIES=lib32/msvcr90d.def
+
+lib32_LIBRARIES += lib32/libmsvcr100.a
+lib32_libmsvcr100_a_SOURCES = $(src_msvcrt_common) lib32/msvcr100.def.in
+lib32_libmsvcr100_a_AR = $(DTDEF32) lib32/msvcr100.def && $(AR) $(ARFLAGS)
+lib32_libmsvcr100_a_CPPFLAGS=$(CPPFLAGS32) -D__LIBMSVCRT__ $(extra_include) $(sysincludes)
+EXTRA_lib32_libmsvcr100_a_DEPENDENCIES=lib32/msvcr100.def
+
+lib32_LIBRARIES += lib32/libmsvcr110.a
+lib32_libmsvcr110_a_SOURCES = $(src_msvcrt_common) lib32/msvcr110.def.in
+lib32_libmsvcr110_a_AR = $(DTDEF32) lib32/msvcr110.def && $(AR) $(ARFLAGS)
+lib32_libmsvcr110_a_CPPFLAGS=$(CPPFLAGS32) -D__LIBMSVCRT__ $(extra_include) $(sysincludes)
+EXTRA_lib32_libmsvcr110_a_DEPENDENCIES=lib32/msvcr110.def
+
+lib32_LIBRARIES += lib32/libmsvcr120.a
+lib32_libmsvcr120_a_SOURCES = $(src_msvcrt_common) lib32/msvcr120.def.in
+lib32_libmsvcr120_a_AR = $(DTDEF32) lib32/msvcr120.def && $(AR) $(ARFLAGS)
+lib32_libmsvcr120_a_CPPFLAGS=$(CPPFLAGS32) -D__LIBMSVCRT__ $(extra_include) $(sysincludes)
+EXTRA_lib32_libmsvcr120_a_DEPENDENCIES=lib32/msvcr120.def
+
+lib32_LIBRARIES += lib32/libmsvcr120d.a
+lib32_libmsvcr120d_a_SOURCES = $(src_msvcrt_common) lib32/msvcr120d.def.in
+lib32_libmsvcr120d_a_AR = $(DTDEF32) lib32/msvcr120d.def && $(AR) $(ARFLAGS)
+lib32_libmsvcr120d_a_CPPFLAGS=$(CPPFLAGS32) -D__LIBMSVCRT__ $(extra_include) $(sysincludes)
+EXTRA_lib32_libmsvcr120d_a_DEPENDENCIES=lib32/msvcr120d.def
+
+lib32_LIBRARIES += lib32/libmsvcr120_app.a
+lib32_libmsvcr120_app_a_SOURCES = $(src_msvcrt_common) lib32/msvcr120_app.def.in
+lib32_libmsvcr120_app_a_AR = $(DTDEF32) lib32/msvcr120_app.def && $(AR) $(ARFLAGS)
+lib32_libmsvcr120_app_a_CPPFLAGS=$(CPPFLAGS32) -D__LIBMSVCRT__ $(extra_include) $(sysincludes)
+EXTRA_lib32_libmsvcr120_app_a_DEPENDENCIES=lib32/msvcr120_app.def
 
 lib32_LIBRARIES += lib32/libucrtbase.a
 lib32_libucrtbase_a_SOURCES = $(src_ucrtbase) lib-common/ucrtbase.def.in
@@ -941,9 +997,12 @@
 include lib64/Makefile.am
 
 if !W32API
-lib64_DATA += lib64/libmsvcp60.a lib64/libmsvcr90.a lib64/libmsvcr100.a lib64/libmsvcr90d.a \
-			  lib64/libmsvcr110.a lib64/libmsvcr120.a lib64/libmsvcr120d.a lib64/libcrtdll.a \
-			  lib64/libmsvcr120_app.a lib64/libmsvcp120_app.a
+lib64_DATA += lib64/libmsvcp60.a lib64/libmsvcp120_app.a
+
+lib64_LIBRARIES += lib64/libcrtdll.a
+lib64_libcrtdll_a_SOURCES = $(src_msvcrt_common)
+lib64_libcrtdll_a_AR = $(DTDEF64) $(top_srcdir)/lib64/crtdll.def && $(AR) $(ARFLAGS)
+lib64_libcrtdll_a_CPPFLAGS=$(CPPFLAGS64) -D__LIBMSVCRT__ $(extra_include) $(sysincludes)
 
 lib64_LIBRARIES += lib64/libmsvcr80.a
 lib64_libmsvcr80_a_SOURCES = $(src_msvcr80_64) lib64/msvcr80.def.in
@@ -951,6 +1010,48 @@
 lib64_libmsvcr80_a_CPPFLAGS=$(CPPFLAGS64) -D__LIBMSVCRT__ $(extra_include) $(sysincludes)
 EXTRA_lib64_libmsvcr80_a_DEPENDENCIES=lib64/msvcr80.def
 
+lib64_LIBRARIES += lib64/libmsvcr90.a
+lib64_libmsvcr90_a_SOURCES = $(src_msvcrt_common) lib64/msvcr90.def.in
+lib64_libmsvcr90_a_AR = $(DTDEF64) lib64/msvcr90.def && $(AR) $(ARFLAGS)
+lib64_libmsvcr90_a_CPPFLAGS=$(CPPFLAGS64) -D__LIBMSVCRT__ $(extra_include) $(sysincludes)
+EXTRA_lib64_libmsvcr90_a_DEPENDENCIES=lib64/msvcr90.def
+
+lib64_LIBRARIES += lib64/libmsvcr90d.a
+lib64_libmsvcr90d_a_SOURCES = $(src_msvcrt_common) lib64/msvcr90d.def.in
+lib64_libmsvcr90d_a_AR = $(DTDEF64) lib64/msvcr90d.def && $(AR) $(ARFLAGS)
+lib64_libmsvcr90d_a_CPPFLAGS=$(CPPFLAGS64) -D__LIBMSVCRT__ $(extra_include) $(sysincludes)
+EXTRA_lib64_libmsvcr90d_a_DEPENDENCIES=lib64/msvcr90d.def
+
+lib64_LIBRARIES += lib64/libmsvcr100.a
+lib64_libmsvcr100_a_SOURCES = $(src_msvcrt_common) lib64/msvcr100.def.in
+lib64_libmsvcr100_a_AR = $(DTDEF64) lib64/msvcr100.def && $(AR) $(ARFLAGS)
+lib64_libmsvcr100_a_CPPFLAGS=$(CPPFLAGS64) -D__LIBMSVCRT__ $(extra_include) $(sysincludes)
+EXTRA_lib64_libmsvcr100_a_DEPENDENCIES=lib64/msvcr100.def
+
+lib64_LIBRARIES += lib64/libmsvcr110.a
+lib64_libmsvcr110_a_SOURCES = $(src_msvcrt_common) lib64/msvcr110.def.in
+lib64_libmsvcr110_a_AR = $(DTDEF64) lib64/msvcr110.def && $(AR) $(ARFLAGS)
+lib64_libmsvcr110_a_CPPFLAGS=$(CPPFLAGS64) -D__LIBMSVCRT__ $(extra_include) $(sysincludes)
+EXTRA_lib64_libmsvcr110_a_DEPENDENCIES=lib64/msvcr110.def
+
+lib64_LIBRARIES += lib64/libmsvcr120.a
+lib64_libmsvcr120_a_SOURCES = $(src_msvcrt_common) lib64/msvcr120.def.in
+lib64_libmsvcr120_a_AR = $(DTDEF64) lib64/msvcr120.def && $(AR) $(ARFLAGS)
+lib64_libmsvcr120_a_CPPFLAGS=$(CPPFLAGS64) -D__LIBMSVCRT__ $(extra_include) $(sysincludes)
+EXTRA_lib64_libmsvcr120_a_DEPENDENCIES=lib64/msvcr120.def
+
+lib64_LIBRARIES += lib64/libmsvcr120d.a
+lib64_libmsvcr120d_a_SOURCES = $(src_msvcrt_common) lib64/msvcr120d.def.in
+lib64_libmsvcr120d_a_AR = $(DTDEF64) lib64/msvcr120d.def && $(AR) $(ARFLAGS)
+lib64_libmsvcr120d_a_CPPFLAGS=$(CPPFLAGS64) -D__LIBMSVCRT__ $(extra_include) $(sysincludes)
+EXTRA_lib64_libmsvcr120d_a_DEPENDENCIES=lib64/msvcr120d.def
+
+lib64_LIBRARIES += lib64/libmsvcr120_app.a
+lib64_libmsvcr120_app_a_SOURCES = $(src_msvcrt_common) lib64/msvcr120_app.def.in
+lib64_libmsvcr120_app_a_AR = $(DTDEF64) lib64/msvcr120_app.def && $(AR) $(ARFLAGS)
+lib64_libmsvcr120_app_a_CPPFLAGS=$(CPPFLAGS64) -D__LIBMSVCRT__ $(extra_include) $(sysincludes)
+EXTRA_lib64_libmsvcr120_app_a_DEPENDENCIES=lib64/msvcr120_app.def
+
 lib64_LIBRARIES += lib64/libucrtbase.a
 lib64_libucrtbase_a_SOURCES = $(src_ucrtbase) lib-common/ucrtbase.def.in
 lib64_libucrtbase_a_AR = $(DTDEF64) lib64/ucrtbase.def && $(AR) $(ARFLAGS)
@@ -1248,7 +1349,12 @@
 include libarm32/Makefile.am
 
 if !W32API
-libarm32_DATA += libarm32/libmsvcp60.a libarm32/libmsvcr110.a
+libarm32_DATA += libarm32/libmsvcp60.a
+
+libarm32_LIBRARIES += libarm32/libmsvcr110.a
+libarm32_libmsvcr110_a_SOURCES = $(src_msvcrt_common)
+libarm32_libmsvcr110_a_AR = $(DTDEFARM32) $(top_srcdir)/libarm32/msvcr110.def && $(AR) $(ARFLAGS)
+libarm32_libmsvcr110_a_CPPFLAGS=$(CPPFLAGSARM32) -D__LIBMSVCRT__ $(extra_include) $(sysincludes)
 
 libarm32_LIBRARIES += libarm32/libucrtbase.a
 libarm32_libucrtbase_a_SOURCES = $(src_ucrtbase) lib-common/ucrtbase.def.in
diff --git a/mingw-w64-crt/crt/ucrtbase_compat.c b/mingw-w64-crt/crt/ucrtbase_compat.c
index 359bba0..92e13bf 100644
--- a/mingw-w64-crt/crt/ucrtbase_compat.c
+++ b/mingw-w64-crt/crt/ucrtbase_compat.c
@@ -33,7 +33,6 @@
 #undef _amsg_exit
 #undef _get_output_format
 
-#undef __iob_func
 
 
 // Declarations of non-static functions implemented within this file (that aren't
@@ -50,7 +49,6 @@
 
 int fprintf(FILE* ptr, const char* fmt, ...);
 int vfprintf(FILE* ptr, const char* fmt, va_list ap);
-FILE *__cdecl __iob_func(void);
 int __cdecl fwprintf(FILE *ptr, const wchar_t *fmt, ...);
 int __cdecl _snwprintf(wchar_t * restrict _Dest, size_t _Count, const wchar_t * restrict _Format, ...);
 
@@ -177,40 +175,20 @@
     LeaveCriticalSection(&exit_lock);
 }
 
-// Dummy iob array for the cases in CRT startup objects and libmingwex that link
-// directly to legacy-msvcrt style stdio - this is only meant to support use with
-// stderr below.
-// Since this array is an array of concrete FILE structs (not FILE pointers),
-// we can't easily make this a proper alias for the real FILE objects within
-// ucrtbase.dll (we'd need to sync the FILE struct content back and forth
-// after each operation). Instead use this as a dummy, and check that FILE pointers
-// are equal to &local_iob[2], indicating stderr.
-static FILE local_iob[3];
-FILE (* __MINGW_IMP_SYMBOL(_iob))[] = &local_iob;
-
-FILE *__cdecl __iob_func(void)
-{
-  return local_iob;
-}
-
 // This is only supposed to handle the stray calls to
 // fprintf(stderr,) within libmingwex and the CRT startup
 // files.
 int __cdecl vfprintf(FILE *ptr, const char *fmt, va_list ap)
 {
-  if (ptr != &local_iob[2])
-    abort();
-  return real_vfprintf(stderr, fmt, ap);
+  return real_vfprintf(ptr, fmt, ap);
 }
 
 int __cdecl fprintf(FILE *ptr, const char *fmt, ...)
 {
   va_list ap;
   int ret;
-  if (ptr != &local_iob[2])
-    abort();
   va_start(ap, fmt);
-  ret = real_vfprintf(stderr, fmt, ap);
+  ret = real_vfprintf(ptr, fmt, ap);
   va_end(ap);
   return ret;
 }
@@ -220,10 +198,8 @@
 {
   va_list ap;
   int ret;
-  if (ptr != &local_iob[2])
-    abort();
   va_start(ap, fmt);
-  ret = vfwprintf(stderr, fmt, ap);
+  ret = vfwprintf(ptr, fmt, ap);
   va_end(ap);
   return ret;
 }
diff --git a/mingw-w64-crt/stdio/acrt_iob_func.c b/mingw-w64-crt/stdio/acrt_iob_func.c
new file mode 100644
index 0000000..e8eb077
--- /dev/null
+++ b/mingw-w64-crt/stdio/acrt_iob_func.c
@@ -0,0 +1,15 @@
+/**
+ * This file has no copyright assigned and is placed in the Public Domain.
+ * This file is part of the mingw-w64 runtime package.
+ * No warranty is given; refer to the file DISCLAIMER.PD within this package.
+ */
+
+#include <stdio.h>
+
+static FILE *__cdecl local__acrt_iob_func(unsigned index)
+{
+    return &(__iob_func()[index]);
+}
+
+typedef FILE *__cdecl (*_f__acrt_iob_func)(unsigned index);
+_f__acrt_iob_func __MINGW_IMP_SYMBOL(__acrt_iob_func) = local__acrt_iob_func;
diff --git a/mingw-w64-crt/stdio/mingw_lock.c b/mingw-w64-crt/stdio/mingw_lock.c
index aaa9223..ebc3c25 100644
--- a/mingw-w64-crt/stdio/mingw_lock.c
+++ b/mingw-w64-crt/stdio/mingw_lock.c
@@ -39,12 +39,12 @@
      * The way the FILE (pointed to by pf) is locked depends on whether
      * it is part of _iob[] or not
      */
-    if ( (pf >= (&__iob_func()[0])) && (pf <= (&__iob_func()[_IOB_ENTRIES-1])) )
+    if ( (pf >= __acrt_iob_func(0)) && (pf <= __acrt_iob_func(_IOB_ENTRIES-1)) )
     {
         /*
          * FILE lies in _iob[] so the lock lies in _locktable[].
          */
-        _lock( _STREAM_LOCKS + (int)(pf - (&__iob_func()[0])) );
+        _lock( _STREAM_LOCKS + (int)(pf - __acrt_iob_func(0)) );
         /* We set _IOLOCKED to indicate we locked the stream */
         pf->_flag |= _IOLOCKED;
     }
@@ -81,14 +81,14 @@
      * The way the FILE (pointed to by pf) is unlocked depends on whether
      * it is part of _iob[] or not
      */
-    if ( (pf >= (&__iob_func()[0])) && (pf <= (&__iob_func()[_IOB_ENTRIES-1])) )
+    if ( (pf >= __acrt_iob_func(0)) && (pf <= __acrt_iob_func(_IOB_ENTRIES-1)) )
     {
         /*
          * FILE lies in _iob[] so the lock lies in _locktable[].
          * We reset _IOLOCKED to indicate we unlock the stream.
          */
         pf->_flag &= ~_IOLOCKED;
-        _unlock( _STREAM_LOCKS + (int)(pf - (&__iob_func()[0])) );
+        _unlock( _STREAM_LOCKS + (int)(pf - __acrt_iob_func(0)) );
     }
     else
         /*
diff --git a/mingw-w64-headers/crt/stdio.h b/mingw-w64-headers/crt/stdio.h
index fcad9e2..96311e3 100644
--- a/mingw-w64-headers/crt/stdio.h
+++ b/mingw-w64-headers/crt/stdio.h
@@ -79,9 +79,7 @@
 
 #include <_mingw_off_t.h>
 
-#if __MSVCRT_VERSION__ >= 0x1400
 _CRTIMP FILE *__cdecl __acrt_iob_func(unsigned index);
-#else
 #ifndef _STDIO_DEFINED
 #ifdef _WIN64
   _CRTIMP FILE *__cdecl __iob_func(void);
@@ -97,7 +95,6 @@
 #endif
 #endif
 #endif
-#endif
 
 #ifndef _FPOS_T_DEFINED
 #define _FPOS_T_DEFINED
@@ -116,15 +113,9 @@
 #ifndef _STDSTREAM_DEFINED
 #define _STDSTREAM_DEFINED
 
-#if __MSVCRT_VERSION__ >= 0x1400
 #define stdin (__acrt_iob_func(0))
 #define stdout (__acrt_iob_func(1))
 #define stderr (__acrt_iob_func(2))
-#else
-#define stdin (&__iob_func()[0])
-#define stdout (&__iob_func()[1])
-#define stderr (&__iob_func()[2])
-#endif
 #endif
 
 #define _IOREAD 0x0001
diff --git a/mingw-w64-headers/crt/wchar.h b/mingw-w64-headers/crt/wchar.h
index a5bfbb8..77fc734 100644
--- a/mingw-w64-headers/crt/wchar.h
+++ b/mingw-w64-headers/crt/wchar.h
@@ -52,9 +52,7 @@
 #define _FILE_DEFINED
 #endif
 
-#if __MSVCRT_VERSION__ >= 0x1400
 _CRTIMP FILE *__cdecl __acrt_iob_func(unsigned index);
-#else
 #ifndef _STDIO_DEFINED
 #ifdef _WIN64
   _CRTIMP FILE *__cdecl __iob_func(void);
@@ -71,18 +69,11 @@
 
 #define _iob __iob_func()
 #endif
-#endif
 
 #ifndef _STDSTREAM_DEFINED
-#if __MSVCRT_VERSION__ >= 0x1400
 #define stdin (__acrt_iob_func(0))
 #define stdout (__acrt_iob_func(1))
 #define stderr (__acrt_iob_func(2))
-#else
-#define stdin (&__iob_func()[0])
-#define stdout (&__iob_func()[1])
-#define stderr (&__iob_func()[2])
-#endif
 #define _STDSTREAM_DEFINED
 #endif
 
