diff --git a/winsup/mingw/ChangeLog b/winsup/mingw/ChangeLog
index ed4487b1d..7377aba9b 100644
--- a/winsup/mingw/ChangeLog
+++ b/winsup/mingw/ChangeLog
@@ -1,3 +1,20 @@
+2002-03-26  Danny Smith  <dannysmith@sourceforge.users.net>
+
+	* moldname.def.in (__MSVCRT__): Replace with !(__CRTDLL).
+	(wpopen): Add if !(__CRTDLL).
+	* Makefile.in (moldname-msvcrt.def rule): Use -C, not -c to
+	preserve comments.
+	(moldname-crtdll.def rule): Likewise.
+	* moldname-msvcrt.def: Regenerate.
+	* moldname-crtdll.def: Regenerate.
+	* include/stdio.h (wpopen):Use prototype, not a define.
+	(_swnprintf): Add prototype.
+	(_vswnprintf}: Likewise.
+	Tidy up whitespace.
+	* include/wchar.h (_swnprintf): Add prototype.
+	(_vswnprintf): Likewise.
+	Tidy up whitespace.
+
 2002-01-28  Danny Smith  <dannysmith@users.sourceforge.net>
 
 	* include/malloc.h (_heapinfo): Correct structure definition.
diff --git a/winsup/mingw/Makefile.in b/winsup/mingw/Makefile.in
index 78fb18f4a..6cbf0ad54 100644
--- a/winsup/mingw/Makefile.in
+++ b/winsup/mingw/Makefile.in
@@ -218,13 +218,13 @@ libmingw32.a: $(MINGW_OBJS)
 $(srcdir)/moldname-crtdll.def: moldname.def.in
 	$(CC) -DRUNTIME=crtdll \
 		-D__FILENAME__=moldname-crtdll.def \
-		-D__CRTDLL__  -c -E -P \
+		-D__CRTDLL__  -C -E -P \
 		-xc-header $? > $@
 
 $(srcdir)/moldname-msvcrt.def: moldname.def.in
 	$(CC) -DRUNTIME=msvcrt \
 		-D__FILENAME__=moldname-msvcrt.def \
-		-D__MSVCRT__  -c -E -P \
+		-D__MSVCRT__  -C -E -P \
 		-xc-header $? > $@
 
 libcoldname.a: $(srcdir)/moldname-crtdll.def $(MOLD_OBJS)
diff --git a/winsup/mingw/include/stdio.h b/winsup/mingw/include/stdio.h
index 4a7d09fcf..8adbf5155 100644
--- a/winsup/mingw/include/stdio.h
+++ b/winsup/mingw/include/stdio.h
@@ -210,11 +210,11 @@ void	setbuf (FILE*, char*);
 int	fprintf (FILE*, const char*, ...);
 int	printf (const char*, ...);
 int	sprintf (char*, const char*, ...);
-int     _snprintf (char*, size_t, const char*, ...);
+int	_snprintf (char*, size_t, const char*, ...);
 int	vfprintf (FILE*, const char*, va_list);
 int	vprintf (const char*, va_list);
 int	vsprintf (char*, const char*, va_list);
-int     _vsnprintf (char*, size_t, const char*, va_list);
+int	_vsnprintf (char*, size_t, const char*, va_list);
 
 
 /*
@@ -251,9 +251,9 @@ size_t	fwrite (const void*, size_t, size_t, FILE*);
  * File Positioning Functions
  */
 
-int	fseek	(FILE*, long, int);
-long	ftell	(FILE*);
-void	rewind	(FILE*);
+int	fseek (FILE*, long, int);
+long	ftell (FILE*);
+void	rewind (FILE*);
 
 /*
  * An opaque data type used for storing file positions... The contents of
@@ -298,7 +298,7 @@ int	pclose (FILE*);
 /*
  * Other Non ANSI functions
  */
-int  _flushall(void);
+int	_flushall (void);
 int	_fgetchar (void);
 int	_fputchar (int);
 FILE*	_fdopen (int, const char*);
@@ -320,9 +320,11 @@ int	fileno (FILE*);
 int	fwprintf (FILE*, const wchar_t*, ...);
 int	wprintf (const wchar_t*, ...);
 int	swprintf (wchar_t*, const wchar_t*, ...);
+int	_swnprintf (wchar_t*, size_t, const wchar_t*, ...);
 int	vfwprintf (FILE*, const wchar_t*, va_list);
 int	vwprintf (const wchar_t*, va_list);
 int	vswprintf (wchar_t*, const wchar_t*, va_list);
+int	_vswnprintf (wchar_t*, size_t, const wchar_t*, va_list);
 int	fwscanf (FILE*, const wchar_t*, ...);
 int	wscanf (const wchar_t*, ...);
 int	swscanf (const wchar_t*, const wchar_t*, ...);
@@ -330,23 +332,23 @@ wint_t	fgetwc (FILE*);
 wint_t	fputwc (wchar_t, FILE*);
 wint_t	ungetwc (wchar_t, FILE*);
 #ifdef __MSVCRT__ 
-wchar_t*    fgetws (wchar_t*, int, FILE*);
-int         fputws (const wchar_t*, FILE*);
-wint_t		getwc (FILE*);
-wint_t	    getwchar (void);
-wchar_t*    _getws (wchar_t*);
-wint_t	    putwc (wint_t, FILE*);
-int         _putws (const wchar_t*);
-wint_t	    putwchar (wint_t);
+wchar_t* fgetws (wchar_t*, int, FILE*);
+int	fputws (const wchar_t*, FILE*);
+wint_t	getwc (FILE*);
+wint_t	getwchar (void);
+wchar_t* _getws (wchar_t*);
+wint_t	putwc (wint_t, FILE*);
+int	_putws (const wchar_t*);
+wint_t	putwchar (wint_t);
 FILE*	_wfopen (const wchar_t*, const wchar_t*);
 FILE*	_wfreopen (const wchar_t*, const wchar_t*, FILE*);
-FILE*   _wfsopen(const wchar_t*, const wchar_t*, int);
-wchar_t*	_wtmpnam (wchar_t*);
-wchar_t*	_wtempnam (const wchar_t*, const wchar_t*);
-int 	_wrename(const wchar_t*, const wchar_t*);
-int 	_wremove (const wchar_t*);
-void  _wperror(const wchar_t*);
-FILE*  _wpopen(const wchar_t*, const wchar_t*);
+FILE*	_wfsopen (const wchar_t*, const wchar_t*, int);
+wchar_t* _wtmpnam (wchar_t*);
+wchar_t* _wtempnam (const wchar_t*, const wchar_t*);
+int	_wrename (const wchar_t*, const wchar_t*);
+int	_wremove (const wchar_t*);
+void	_wperror (const wchar_t*);
+FILE*	_wpopen (const wchar_t*, const wchar_t*);
 #endif	/* __MSVCRT__ */
 #define _WSTDIO_DEFINED
 #endif /* _WSTDIO_DEFINED */
@@ -354,31 +356,21 @@ FILE*  _wpopen(const wchar_t*, const wchar_t*);
 #ifndef __STRICT_ANSI__
 #ifdef __MSVCRT__
 #ifndef NO_OLDNAMES
-#if 0
 FILE*	wpopen (const wchar_t*, const wchar_t*);
-#else /* Always true */
-/*
- * The above prototypeing is not possible unless the wpopen export is added
- * to moldnames, which can't be done unless we make separate moldnames.def
- * files for every supported runtime. For the time being we use a define
- * instead. Pedro's modified dlltool should take care of this I think.
- */
-#define wpopen _wpopen
-#endif	/* Always true */
 #endif /* not NO_OLDNAMES */
 #endif /* MSVCRT runtime */
 
 /*
  * Other Non ANSI wide functions
  */
-wint_t	_fgetwchar(void);
-wint_t	_fputwchar(wint_t);
+wint_t	_fgetwchar (void);
+wint_t	_fputwchar (wint_t);
 int	_getw (FILE*);
 int	_putw (int, FILE*);
 
 #ifndef _NO_OLDNAMES
-wint_t	fgetwchar(void);
-wint_t	fputwchar(wint_t);
+wint_t	fgetwchar (void);
+wint_t	fputwchar (wint_t);
 int	getw (FILE*);
 int	putw (int, FILE*);
 #endif	/* Not _NO_OLDNAMES */
diff --git a/winsup/mingw/include/wchar.h b/winsup/mingw/include/wchar.h
index eaeb4d080..68b714755 100644
--- a/winsup/mingw/include/wchar.h
+++ b/winsup/mingw/include/wchar.h
@@ -85,17 +85,17 @@ struct _wfinddatai64_t {
    applies to other wide character versions? */
 #if !defined (_WIO_DEFINED)
 #if defined (__MSVCRT__)
-int 		_waccess(const wchar_t*, int);
-int 		_wchmod(const wchar_t*, int);
-int 		_wcreat(const wchar_t*, int);
-long 		_wfindfirst(wchar_t*, struct _wfinddata_t *);
-int 		_wfindnext(long, struct _wfinddata_t *);
-int 		_wunlink(const wchar_t*);
-int 		_wopen(const wchar_t*, int, ...);
-int 		_wsopen(const wchar_t*, int, int, ...);
-wchar_t * 	_wmktemp(wchar_t*);
-long  _wfindfirsti64(const wchar_t*, struct _wfinddatai64_t*);
-int  _wfindnexti64(long, struct _wfinddatai64_t*);
+int	 _waccess (const wchar_t*, int);
+int	_wchmod (const wchar_t*, int);
+int	_wcreat (const wchar_t*, int);
+long	_wfindfirst (wchar_t*, struct _wfinddata_t *);
+int	_wfindnext (long, struct _wfinddata_t *);
+int	_wunlink (const wchar_t*);
+int	_wopen (const wchar_t*, int, ...);
+int	_wsopen (const wchar_t*, int, int, ...);
+wchar_t* _wmktemp (wchar_t*);
+long	_wfindfirsti64 (const wchar_t*, struct _wfinddatai64_t*);
+int 	_wfindnexti64 (long, struct _wfinddatai64_t*);
 #endif /* defined (__MSVCRT__) */
 #define _WIO_DEFINED
 #endif /* _WIO_DEFINED */
@@ -105,9 +105,11 @@ int  _wfindnexti64(long, struct _wfinddatai64_t*);
 int	fwprintf (FILE*, const wchar_t*, ...);
 int	wprintf (const wchar_t*, ...);
 int	swprintf (wchar_t*, const wchar_t*, ...);
+int	_swnprintf (wchar_t*, size_t, const wchar_t*, ...);
 int	vfwprintf (FILE*, const wchar_t*, va_list);
 int	vwprintf (const wchar_t*, va_list);
 int	vswprintf (wchar_t*, const wchar_t*, va_list);
+int	_vswnprintf (wchar_t*, size_t, const wchar_t*, va_list);
 int	fwscanf (FILE*, const wchar_t*, ...);
 int	wscanf (const wchar_t*, ...);
 int	swscanf (const wchar_t*, const wchar_t*, ...);
@@ -116,25 +118,25 @@ wint_t	fputwc (wchar_t, FILE*);
 wint_t	ungetwc (wchar_t, FILE*);
 
 #ifdef __MSVCRT__ 
-wchar_t*    fgetws (wchar_t*, int, FILE*);
-int         fputws (const wchar_t*, FILE*);
-wint_t		getwc (FILE*);
-wint_t	    getwchar (void);
-wchar_t*    _getws (wchar_t*);
-wint_t	    putwc (wint_t, FILE*);
-int         _putws (const wchar_t*);
-wint_t	    putwchar (wint_t);
+wchar_t* fgetws (wchar_t*, int, FILE*);
+int	fputws (const wchar_t*, FILE*);
+wint_t	getwc (FILE*);
+wint_t  getwchar (void);
+wchar_t* _getws (wchar_t*);
+wint_t	putwc (wint_t, FILE*);
+int	_putws (const wchar_t*);
+wint_t	putwchar (wint_t);
 
 FILE*	_wfopen (const wchar_t*, const wchar_t*);
 FILE*	_wfreopen (const wchar_t*, const wchar_t*, FILE*);
-FILE*   _wfsopen(const wchar_t*, const wchar_t*, int);
-wchar_t*	_wtmpnam (wchar_t*);
-wchar_t*	_wtempnam (const wchar_t*, const wchar_t*);
-int 	_wrename(const wchar_t*, const wchar_t*);
-int 	_wremove (const wchar_t*)
+FILE*   _wfsopen (const wchar_t*, const wchar_t*, int);
+wchar_t* _wtmpnam (wchar_t*);
+wchar_t* _wtempnam (const wchar_t*, const wchar_t*);
+int 	_wrename (const wchar_t*, const wchar_t*);
+int	_wremove (const wchar_t*)
 
-FILE*  _wpopen(const wchar_t*, const wchar_t*)
-void  _wperror(const wchar_t*);
+FILE*	  _wpopen (const wchar_t*, const wchar_t*)
+void	  _wperror (const wchar_t*);
 #endif	/* __MSVCRT__ */
 #define _WSTDIO_DEFINED
 #endif /* _WSTDIO_DEFINED */
@@ -142,11 +144,11 @@ void  _wperror(const wchar_t*);
 #ifndef _WDIRECT_DEFINED
 /* Also in direct.h */
 #ifdef __MSVCRT__ 
-int _wchdir(const wchar_t*);
-wchar_t* _wgetcwd(wchar_t*, int);
-wchar_t* _wgetdcwd(int, wchar_t*, int);
-int _wmkdir(const wchar_t*);
-int _wrmdir(const wchar_t*);
+int	  _wchdir (const wchar_t*);
+wchar_t*  _wgetcwd (wchar_t*, int);
+wchar_t*  _wgetdcwd (int, wchar_t*, int);
+int	  _wmkdir (const wchar_t*);
+int	  _wrmdir (const wchar_t*);
 #endif	/* __MSVCRT__ */
 #define _WDIRECT_DEFINED
 #endif /* _WDIRECT_DEFINED */
@@ -211,7 +213,7 @@ struct _stati64 {
 #if !defined ( _WSTAT_DEFINED)
 /* also declared in sys/stat.h */
 #if defined __MSVCRT__
-int	_wstat(const wchar_t*, struct _stat*);
+int	_wstat (const wchar_t*, struct _stat*);
 int	_wstati64 (const wchar_t*, struct _stati64*);
 #endif  /* __MSVCRT__ */
 #define _WSTAT_DEFINED
@@ -220,17 +222,17 @@ int	_wstati64 (const wchar_t*, struct _stati64*);
 #ifndef _WTIME_DEFINED
 #ifdef __MSVCRT__
 /* wide function prototypes, also declared in time.h */
-wchar_t *	_wasctime(const struct tm*);
-wchar_t *	_wctime(const time_t*);
-wchar_t*	_wstrdate(wchar_t*);
-wchar_t*	_wstrtime(wchar_t*);
+wchar_t*	_wasctime (const struct tm*);
+wchar_t*	_wctime (const time_t*);
+wchar_t*	_wstrdate (wchar_t*);
+wchar_t*	_wstrtime (wchar_t*);
 #endif /* __MSVCRT__ */
-size_t		wcsftime(wchar_t*, size_t, const wchar_t*, const struct tm*);
+size_t		wcsftime (wchar_t*, size_t, const wchar_t*, const struct tm*);
 #define _WTIME_DEFINED
 #endif /* _WTIME_DEFINED */ 
 
 #ifndef _WLOCALE_DEFINED  /* also declared in locale.h */
-wchar_t* _wsetlocale(int, const wchar_t*);
+wchar_t* _wsetlocale (int, const wchar_t*);
 #define _WLOCALE_DEFINED
 #endif
 
@@ -240,17 +242,17 @@ wchar_t* _wsetlocale(int, const wchar_t*);
 /* Wide character versions. Also declared in io.h. */
 /* CHECK: Are these in the oldnames???  NO! */
 #if (0)
-int 		waccess(const wchar_t *, int);
-int 		wchmod(const wchar_t *, int);
-int 		wcreat(const wchar_t *, int);
-long 		wfindfirst(wchar_t *, struct _wfinddata_t *);
-int 		wfindnext(long, struct _wfinddata_t *);
-int 		wunlink(const wchar_t *);
-int 		wrename(const wchar_t *, const wchar_t *);
-int 		wremove (const wchar_t *);
-int 		wopen(const wchar_t *, int, ...);
-int 		wsopen(const wchar_t *, int, int, ...);
-wchar_t * 	wmktemp(wchar_t *);
+int		waccess (const wchar_t *, int);
+int		wchmod (const wchar_t *, int);
+int		wcreat (const wchar_t *, int);
+long		wfindfirst (wchar_t *, struct _wfinddata_t *);
+int		wfindnext (long, struct _wfinddata_t *);
+int		wunlink (const wchar_t *);
+int		wrename (const wchar_t *, const wchar_t *);
+int		wremove (const wchar_t *);
+int		wopen (const wchar_t *, int, ...);
+int		wsopen (const wchar_t *, int, int, ...);
+wchar_t*	wmktemp (wchar_t *);
 #endif
 #endif /* _NO_OLDNAMES */
 
diff --git a/winsup/mingw/moldname-crtdll.def b/winsup/mingw/moldname-crtdll.def
index 3ead24436..3b641ebd6 100644
--- a/winsup/mingw/moldname-crtdll.def
+++ b/winsup/mingw/moldname-crtdll.def
@@ -1,135 +1,142 @@
-;
-; moldname-crtdll.def 
-;
-; Exports from the runtime except that these exports are actually preceeded
-; by a underscore in the actual DLL. These correspond to functions which
-; are non-ANSI and were prefixed with an underscore to avoid name space
-; clutter. However many, in fact most programs still use a few of these
-; functions without the underscore. This .def file is specially processed
-; to make those non-underscored name function calls call the equivalent
-; underscored functions.
-;
-; Contributors:
-;  Created by Colin Peters <colin@bird.fu.is.saga-u.ac.jp>
-;  Maintained by Mumit Khan <khan@xraylith.wisc.edu>
-;
-;  THIS SOFTWARE IS NOT COPYRIGHTED
-;
-;  This source code is offered for use in the public domain. You may
-;  use, modify or distribute it freely.
-;
-;  This code is distributed in the hope that it will be useful but
-;  WITHOUT ANY WARRANTY. ALL WARRENTIES, EXPRESS OR IMPLIED ARE HEREBY
-;  DISCLAMED. This includes but is not limited to warrenties of
-;  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-;
-EXPORTS
-access
-beep
-cabs
-chdir
-chmod
-chsize
-close
-creat
-cwait
-
-dup
-dup2
-ecvt
-eof
-execl
-execle
-execlp
-execlpe
-execv
-execve
-execvp
-execvpe
-fcvt
-fdopen
-fgetchar
-fgetwchar
-filelength
-fileno
-fpreset
-fputchar
-fputwchar
-fstat
-ftime
-gcvt
-getch
-getche
-getcwd
-getpid
-getw
-heapwalk
-hypot
-isatty
-itoa
-j0
-j1
-jn
-kbhit
-lseek
-ltoa
-memccpy
-memicmp
-mkdir
-mktemp
-open
-pclose
-popen
-putch
-putenv
-putw
-read
-rmdir
-searchenv
-seterrormode
-setmode
-sleep
-sopen
-spawnl
-spawnle
-spawnlp
-spawnlpe
-spawnv
-spawnve
-spawnvp
-spawnvpe
-stat
-strcmpi
-strdup
-stricmp
-stricoll
-strlwr
-strnicmp
-strnset
-strrev
-strset
-strupr
-swab
-tell
-tempnam
-
-; export tzname for both. See <time.h>
-tzname DATA
-tzset
-umask
-ungetch
-unlink
-utime
-wcsdup
-wcsicmp
-wcsicoll
-wcslwr
-wcsnicmp
-wcsnset
-wcsrev
-wcsset
-wcsupr
-write
-y0
-y1
-yn
+;
+; moldname-crtdll.def
+;
+; Exports from the runtime except that these exports are actually preceeded
+; by a underscore in the actual DLL. These correspond to functions which
+; are non-ANSI and were prefixed with an underscore to avoid name space
+; clutter. However many, in fact most programs still use a few of these
+; functions without the underscore. This .def file is specially processed
+; to make those non-underscored name function calls call the equivalent
+; underscored functions.
+;
+; Contributors:
+; Created by Colin Peters <colin@bird.fu.is.saga-u.ac.jp>
+; Maintained by Mumit Khan <khan@xraylith.wisc.edu>
+;
+; THIS SOFTWARE IS NOT COPYRIGHTED
+;
+; This source code is offered for use in the public domain. You may
+; use, modify or distribute it freely.
+;
+; This code is distributed in the hope that it will be useful but
+; WITHOUT ANY WARRANTY. ALL WARRENTIES, EXPRESS OR IMPLIED ARE HEREBY
+; DISCLAMED. This includes but is not limited to warrenties of
+; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+;
+EXPORTS
+access
+beep
+cabs
+chdir
+chmod
+chsize
+close
+creat
+cwait
+
+
+
+dup
+dup2
+ecvt
+eof
+execl
+execle
+execlp
+execlpe
+execv
+execve
+execvp
+execvpe
+fcvt
+fdopen
+fgetchar
+fgetwchar
+filelength
+fileno
+fpreset
+fputchar
+fputwchar
+fstat
+ftime
+gcvt
+getch
+getche
+getcwd
+getpid
+getw
+heapwalk
+hypot
+isatty
+itoa
+j0
+j1
+jn
+kbhit
+lseek
+ltoa
+memccpy
+memicmp
+mkdir
+mktemp
+open
+pclose
+popen
+putch
+putenv
+putw
+read
+rmdir
+searchenv
+seterrormode
+setmode
+sleep
+sopen
+spawnl
+spawnle
+spawnlp
+spawnlpe
+spawnv
+spawnve
+spawnvp
+spawnvpe
+stat
+strcmpi
+strdup
+stricmp
+stricoll
+strlwr
+strnicmp
+strnset
+strrev
+strset
+strupr
+swab
+tell
+tempnam
+
+
+
+; export tzname for both. See <time.h>
+tzname DATA
+tzset
+umask
+ungetch
+unlink
+utime
+wcsdup
+wcsicmp
+wcsicoll
+wcslwr
+wcsnicmp
+wcsnset
+wcsrev
+wcsset
+wcsupr
+
+
+
+write
+y0
+y1
+yn
diff --git a/winsup/mingw/moldname-msvcrt.def b/winsup/mingw/moldname-msvcrt.def
index 0e0d39c31..c341d2e11 100644
--- a/winsup/mingw/moldname-msvcrt.def
+++ b/winsup/mingw/moldname-msvcrt.def
@@ -1,139 +1,142 @@
-;
-; moldname-msvcrt.def 
-;
-; Exports from the runtime except that these exports are actually preceeded
-; by a underscore in the actual DLL. These correspond to functions which
-; are non-ANSI and were prefixed with an underscore to avoid name space
-; clutter. However many, in fact most programs still use a few of these
-; functions without the underscore. This .def file is specially processed
-; to make those non-underscored name function calls call the equivalent
-; underscored functions.
-;
-; Contributors:
-;  Created by Colin Peters <colin@bird.fu.is.saga-u.ac.jp>
-;  Maintained by Mumit Khan <khan@xraylith.wisc.edu>
-;
-;  THIS SOFTWARE IS NOT COPYRIGHTED
-;
-;  This source code is offered for use in the public domain. You may
-;  use, modify or distribute it freely.
-;
-;  This code is distributed in the hope that it will be useful but
-;  WITHOUT ANY WARRANTY. ALL WARRENTIES, EXPRESS OR IMPLIED ARE HEREBY
-;  DISCLAMED. This includes but is not limited to warrenties of
-;  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-;
-EXPORTS
-access
-beep
-cabs
-chdir
-chmod
-chsize
-close
-creat
-cwait
-
-daylight DATA
-
-dup
-dup2
-ecvt
-eof
-execl
-execle
-execlp
-execlpe
-execv
-execve
-execvp
-execvpe
-fcvt
-fdopen
-fgetchar
-fgetwchar
-filelength
-fileno
-fpreset
-fputchar
-fputwchar
-fstat
-ftime
-gcvt
-getch
-getche
-getcwd
-getpid
-getw
-heapwalk
-hypot
-isatty
-itoa
-j0
-j1
-jn
-kbhit
-lseek
-ltoa
-memccpy
-memicmp
-mkdir
-mktemp
-open
-pclose
-popen
-putch
-putenv
-putw
-read
-rmdir
-searchenv
-seterrormode
-setmode
-sleep
-sopen
-spawnl
-spawnle
-spawnlp
-spawnlpe
-spawnv
-spawnve
-spawnvp
-spawnvpe
-stat
-strcmpi
-strdup
-stricmp
-stricoll
-strlwr
-strnicmp
-strnset
-strrev
-strset
-strupr
-swab
-tell
-tempnam
-
-timezone DATA
-
-; export tzname for both. See <time.h>
-tzname DATA
-tzset
-umask
-ungetch
-unlink
-utime
-wcsdup
-wcsicmp
-wcsicoll
-wcslwr
-wcsnicmp
-wcsnset
-wcsrev
-wcsset
-wcsupr
-write
-y0
-y1
-yn
+;
+; moldname-msvcrt.def
+;
+; Exports from the runtime except that these exports are actually preceeded
+; by a underscore in the actual DLL. These correspond to functions which
+; are non-ANSI and were prefixed with an underscore to avoid name space
+; clutter. However many, in fact most programs still use a few of these
+; functions without the underscore. This .def file is specially processed
+; to make those non-underscored name function calls call the equivalent
+; underscored functions.
+;
+; Contributors:
+; Created by Colin Peters <colin@bird.fu.is.saga-u.ac.jp>
+; Maintained by Mumit Khan <khan@xraylith.wisc.edu>
+;
+; THIS SOFTWARE IS NOT COPYRIGHTED
+;
+; This source code is offered for use in the public domain. You may
+; use, modify or distribute it freely.
+;
+; This code is distributed in the hope that it will be useful but
+; WITHOUT ANY WARRANTY. ALL WARRENTIES, EXPRESS OR IMPLIED ARE HEREBY
+; DISCLAMED. This includes but is not limited to warrenties of
+; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+;
+EXPORTS
+access
+beep
+cabs
+chdir
+chmod
+chsize
+close
+creat
+cwait
+
+daylight DATA
+
+dup
+dup2
+ecvt
+eof
+execl
+execle
+execlp
+execlpe
+execv
+execve
+execvp
+execvpe
+fcvt
+fdopen
+fgetchar
+fgetwchar
+filelength
+fileno
+fpreset
+fputchar
+fputwchar
+fstat
+ftime
+gcvt
+getch
+getche
+getcwd
+getpid
+getw
+heapwalk
+hypot
+isatty
+itoa
+j0
+j1
+jn
+kbhit
+lseek
+ltoa
+memccpy
+memicmp
+mkdir
+mktemp
+open
+pclose
+popen
+putch
+putenv
+putw
+read
+rmdir
+searchenv
+seterrormode
+setmode
+sleep
+sopen
+spawnl
+spawnle
+spawnlp
+spawnlpe
+spawnv
+spawnve
+spawnvp
+spawnvpe
+stat
+strcmpi
+strdup
+stricmp
+stricoll
+strlwr
+strnicmp
+strnset
+strrev
+strset
+strupr
+swab
+tell
+tempnam
+
+timezone DATA
+
+; export tzname for both. See <time.h>
+tzname DATA
+tzset
+umask
+ungetch
+unlink
+utime
+wcsdup
+wcsicmp
+wcsicoll
+wcslwr
+wcsnicmp
+wcsnset
+wcsrev
+wcsset
+wcsupr
+
+wpopen
+
+write
+y0
+y1
+yn
diff --git a/winsup/mingw/moldname.def.in b/winsup/mingw/moldname.def.in
index 7e90cb374..c0032aff6 100644
--- a/winsup/mingw/moldname.def.in
+++ b/winsup/mingw/moldname.def.in
@@ -33,9 +33,9 @@ chsize
 close
 creat
 cwait
-#if (__MSVCRT__) 
+#if !(__CRTDLL__)
 daylight DATA
-#endif 
+#endif
 dup
 dup2
 ecvt
@@ -114,7 +114,7 @@ strupr
 swab
 tell
 tempnam
-#if (__MSVCRT__) 
+#if  !(__CRTDLL__)
 timezone DATA
 #endif
 ; export tzname for both. See <time.h>
@@ -133,6 +133,9 @@ wcsnset
 wcsrev
 wcsset
 wcsupr
+#if  !(__CRTDLL__)
+wpopen
+#endif
 write
 y0
 y1