This patch series moves all aliases defined in crtdll.def.in, and
msvcr*.def.in files into one common include file msvcrt-common.def.in.

It reduces duplication of symbol alias definitions by defining symbols
in more declarative manner.

Moving aliases to one place uncovered that some def.in files were
missing some alises (mostly for __ms_* printf/scanf symbols) or some
were incorrectly defined (ctime for 64-bit msvcr90d.def.in was defined
as alias to _ctime32 instead of _ctime64, or _findfirst for 64-bit
msvcr120.def.in was defined as alias to symbol which does _not_ use
32-bit file length).

For reference what this change affects, I'm attaching a difference which
was generated for each CRT def.in file by command ($PLAT: DEF_I386 DEF_X64):

  cpp -x c -Wp,-w -undef -P -Imingw-w64-crt/def-include -D$PLAT | sed -E 
's/\s*;.*//' | LC_ALL=C sort -u

--- lib32/crtdll.def.in
+++ lib32/crtdll.def.in
+__ms_fprintf == fprintf
+__ms_fscanf == fscanf
+__ms_fwprintf == fwprintf
+__ms_fwscanf == fwscanf
+__ms_printf == printf
+__ms_scanf == scanf
+__ms_sprintf == sprintf
+__ms_sscanf == sscanf
+__ms_swprintf == swprintf
+__ms_swscanf == swscanf
+__ms_vfprintf == vfprintf
+__ms_vfwprintf == vfwprintf
+__ms_vprintf == vprintf
+__ms_vsprintf == vsprintf
+__ms_vswprintf == vswprintf
+__ms_vwprintf == vwprintf
+__ms_wprintf == wprintf
+__ms_wscanf == wscanf
+_findfirst32 == _findfirst
+_findnext32 == _findnext
+_fstat32 == _fstat
+_stat32 == _stat

--- lib32/msvcrt.def
+++ lib32/msvcrt.def
+_fstat32i64 == _fstati64
+_stat32i64 == _stati64
+_wstat32i64 == _wstati64

--- lib32/msvcrt10.def.in
+++ lib32/msvcrt10.def.in
+__ms_fprintf == fprintf
+__ms_fscanf == fscanf
+__ms_fwprintf == fwprintf
+__ms_fwscanf == fwscanf
+__ms_printf == printf
+__ms_scanf == scanf
+__ms_sprintf == sprintf
+__ms_sscanf == sscanf
+__ms_swprintf == swprintf
+__ms_swscanf == swscanf
+__ms_vfprintf == vfprintf
+__ms_vfwprintf == vfwprintf
+__ms_vprintf == vprintf
+__ms_vsprintf == vsprintf
+__ms_vswprintf == vswprintf
+__ms_vwprintf == vwprintf
+__ms_wprintf == wprintf
+__ms_wscanf == wscanf
+_findfirst32 == _findfirst
+_findnext32 == _findnext
+_fstat32 == _fstat
+_stat32 == _stat

--- lib32/msvcrt20.def.in
+++ lib32/msvcrt20.def.in
+__ms_fprintf == fprintf
+__ms_fscanf == fscanf
+__ms_fwprintf == fwprintf
+__ms_fwscanf == fwscanf
+__ms_printf == printf
+__ms_scanf == scanf
+__ms_sprintf == sprintf
+__ms_sscanf == sscanf
+__ms_swprintf == swprintf
+__ms_swscanf == swscanf
+__ms_vfprintf == vfprintf
+__ms_vfwprintf == vfwprintf
+__ms_vprintf == vprintf
+__ms_vsprintf == vsprintf
+__ms_vswprintf == vswprintf
+__ms_vwprintf == vwprintf
+__ms_wprintf == wprintf
+__ms_wscanf == wscanf
+_findfirst32 == _findfirst
+_findnext32 == _findnext
+_fstat32 == _fstat
+_stat32 == _stat
+_wfindfirst32 == _wfindfirst
+_wfindnext32 == _wfindnext
+_wstat32 == _wstat

--- lib32/msvcrt40.def.in
+++ lib32/msvcrt40.def.in
+__ms_fprintf == fprintf
+__ms_fscanf == fscanf
+__ms_fwprintf == fwprintf
+__ms_fwscanf == fwscanf
+__ms_printf == printf
+__ms_scanf == scanf
+__ms_sprintf == sprintf
+__ms_sscanf == sscanf
+__ms_swprintf == swprintf
+__ms_swscanf == swscanf
+__ms_vfprintf == vfprintf
+__ms_vfwprintf == vfwprintf
+__ms_vprintf == vprintf
+__ms_vsprintf == vsprintf
+__ms_vswprintf == vswprintf
+__ms_vwprintf == vwprintf
+__ms_wprintf == wprintf
+__ms_wscanf == wscanf
+_findfirst32 == _findfirst
+_findfirst32i64 == _findfirsti64
+_findnext32 == _findnext
+_findnext32i64 == _findnexti64
+_fstat32 == _fstat
+_fstat32i64 == _fstati64
+_stat32 == _stat
+_stat32i64 == _stati64
+_wfindfirst32 == _wfindfirst
+_wfindfirst32i64 == _wfindfirsti64
+_wfindnext32 == _wfindnext
+_wfindnext32i64 == _wfindnexti64
+_wstat32 == _wstat
+_wstat32i64 == _wstati64

--- lib32/msvcr100.def.in
+++ lib32/msvcr100.def.in
+__ms_swprintf == _swprintf
+__ms_vswprintf == _vswprintf
+_findfirsti64 == _findfirst32i64
+_findnexti64 == _findnext32i64
+_futime == _futime32
+_utime == _utime32
+_wfindfirsti64 == _wfindfirst32i64
+_wfindnexti64 == _wfindnext32i64
+_wutime == _wutime32
+difftime == _difftime32

--- lib32/msvcr110.def.in
+++ lib32/msvcr110.def.in
+__ms_swprintf == _swprintf
+__ms_vswprintf == _vswprintf
+_findfirsti64 == _findfirst32i64
+_findnexti64 == _findnext32i64
+_futime == _futime32
+_utime == _utime32
+_wfindfirsti64 == _wfindfirst32i64
+_wfindnexti64 == _wfindnext32i64
+_wutime == _wutime32
+difftime == _difftime32

--- lib32/msvcr120d.def.in
+++ lib32/msvcr120d.def.in
+__ms_swprintf == _swprintf
+__ms_vswprintf == _vswprintf
+_findfirsti64 == _findfirst32i64
+_findnexti64 == _findnext32i64
+_futime == _futime32
+_mkgmtime == _mkgmtime32
+_strcmpi == _stricmp
+_utime == _utime32
+_wctime == _wctime32
+_wfindfirsti64 == _wfindfirst32i64
+_wfindnexti64 == _wfindnext32i64
+_wutime == _wutime32
+ctime == _ctime32
+difftime == _difftime32
+mktime == _mktime32

--- lib32/msvcr120.def.in
+++ lib32/msvcr120.def.in
+__ms_swprintf == _swprintf
+__ms_vswprintf == _vswprintf
+_findfirsti64 == _findfirst32i64
+_findnexti64 == _findnext32i64
+_futime == _futime32
+_mkgmtime == _mkgmtime32
+_strcmpi == _stricmp
+_utime == _utime32
+_wctime == _wctime32
+_wfindfirsti64 == _wfindfirst32i64
+_wfindnexti64 == _wfindnext32i64
+_wutime == _wutime32
+ctime == _ctime32
+difftime == _difftime32
+mktime == _mktime32

--- lib32/msvcr70.def.in
+++ lib32/msvcr70.def.in
+__ms_fprintf == fprintf
+__ms_fscanf == fscanf
+__ms_fwprintf == fwprintf
+__ms_fwscanf == fwscanf
+__ms_printf == printf
+__ms_scanf == scanf
+__ms_sprintf == sprintf
+__ms_sscanf == sscanf
+__ms_swprintf == swprintf
+__ms_swscanf == swscanf
+__ms_vfprintf == vfprintf
+__ms_vfwprintf == vfwprintf
+__ms_vprintf == vprintf
+__ms_vsprintf == vsprintf
+__ms_vswprintf == vswprintf
+__ms_vwprintf == vwprintf
+__ms_wprintf == wprintf
+__ms_wscanf == wscanf
+_findfirst32 == _findfirst
+_findfirst32i64 == _findfirsti64
+_findnext32 == _findnext
+_findnext32i64 == _findnexti64
+_fstat32 == _fstat
+_fstat32i64 == _fstati64
+_stat32 == _stat
+_stat32i64 == _stati64
+_wfindfirst32 == _wfindfirst
+_wfindfirst32i64 == _wfindfirsti64
+_wfindnext32 == _wfindnext
+_wfindnext32i64 == _wfindnexti64
+_wstat32 == _wstat
+_wstat32i64 == _wstati64

--- lib32/msvcr71.def.in
+++ lib32/msvcr71.def.in
+__ms_fprintf == fprintf
+__ms_fscanf == fscanf
+__ms_fwprintf == fwprintf
+__ms_fwscanf == fwscanf
+__ms_printf == printf
+__ms_scanf == scanf
+__ms_sprintf == sprintf
+__ms_sscanf == sscanf
+__ms_swprintf == swprintf
+__ms_swscanf == swscanf
+__ms_vfprintf == vfprintf
+__ms_vfwprintf == vfwprintf
+__ms_vprintf == vprintf
+__ms_vsprintf == vsprintf
+__ms_vswprintf == vswprintf
+__ms_vwprintf == vwprintf
+__ms_wprintf == wprintf
+__ms_wscanf == wscanf
+_findfirst32 == _findfirst
+_findfirst32i64 == _findfirsti64
+_findnext32 == _findnext
+_findnext32i64 == _findnexti64
+_fstat32 == _fstat
+_fstat32i64 == _fstati64
+_stat32 == _stat
+_stat32i64 == _stati64
+_wfindfirst32 == _wfindfirst
+_wfindfirst32i64 == _wfindfirsti64
+_wfindnext32 == _wfindnext
+_wfindnext32i64 == _wfindnexti64
+_wstat32 == _wstat
+_wstat32i64 == _wstati64

--- lib32/msvcr80.def.in
+++ lib32/msvcr80.def.in
+_atoll_l == _atoi64_l
+_findfirsti64 == _findfirst32i64
+_findnexti64 == _findnext32i64
-_getwc_nolock == _fgetwc_nolock
+_strtoimax_l == _strtoi64_l
+_strtoll_l == _strtoi64_l
+_strtoull_l == _strtoui64_l
+_strtoumax_l == _strtoui64_l
+_wfindfirsti64 == _wfindfirst32i64
+_wfindnexti64 == _wfindnext32i64

--- lib32/msvcr90d.def.in
+++ lib32/msvcr90d.def.in
+__ms_swprintf == _swprintf
+__ms_vswprintf == _vswprintf
-_fgetc_nolock == _getc_nolock
+_findfirsti64 == _findfirst32i64
+_findnexti64 == _findnext32i64
+_futime == _futime32
-_getwc_nolock == _fgetwc_nolock
+_utime == _utime32
+_wfindfirsti64 == _wfindfirst32i64
+_wfindnext == _wfindnext32
+_wfindnexti64 == _wfindnext32i64
+_wutime == _wutime32
+difftime == _difftime32

--- lib32/msvcr90.def.in
+++ lib32/msvcr90.def.in
+__ms_swprintf == _swprintf
+__ms_vswprintf == _vswprintf
-_fgetc_nolock == _getc_nolock
+_findfirsti64 == _findfirst32i64
+_findnexti64 == _findnext32i64
+_futime == _futime32
-_getwc_nolock == _fgetwc_nolock
+_utime == _utime32
+_wfindfirsti64 == _wfindfirst32i64
+_wfindnexti64 == _wfindnext32i64
+_wutime == _wutime32
+difftime == _difftime32

--- lib64/msvcr100.def.in
+++ lib64/msvcr100.def.in
+__ms_swprintf == _swprintf
+__ms_vswprintf == _vswprintf
+_findfirsti64 == _findfirst64
+_findnexti64 == _findnext64
+_futime == _futime64
+_utime == _utime64
+_wfindfirsti64 == _wfindfirst64
+_wfindnexti64 == _wfindnext64
+_wutime == _wutime64
+difftime == _difftime64

--- lib64/msvcr110.def.in
+++ lib64/msvcr110.def.in
+__ms_swprintf == _swprintf
+__ms_vswprintf == _vswprintf
+_findfirsti64 == _findfirst64
+_findnexti64 == _findnext64
+_futime == _futime64
+_utime == _utime64
+_wfindfirsti64 == _wfindfirst64
+_wfindnexti64 == _wfindnext64
+_wutime == _wutime64
+difftime == _difftime64

--- lib64/msvcr120d.def.in
+++ lib64/msvcr120d.def.in
+__ms_swprintf == _swprintf
+__ms_vswprintf == _vswprintf
-_findfirst == _findfirst64
+_findfirst == _findfirst64i32
-_findnext == _findnext64
+_findfirsti64 == _findfirst64
+_findnext == _findnext64i32
+_findnexti64 == _findnext64
+_futime == _futime64
+_mkgmtime == _mkgmtime64
+_strcmpi == _stricmp
+_utime == _utime64
+_wctime == _wctime64
+_wfindfirsti64 == _wfindfirst64
+_wfindnexti64 == _wfindnext64
+_wutime == _wutime64
+ctime == _ctime64
+difftime == _difftime64
+mktime == _mktime64
+time == _time64

--- lib64/msvcr120.def.in
+++ lib64/msvcr120.def.in
+__ms_swprintf == _swprintf
+__ms_vswprintf == _vswprintf
-_findfirst == _findfirst64
+_findfirst == _findfirst64i32
-_findnext == _findnext64
+_findfirsti64 == _findfirst64
+_findnext == _findnext64i32
+_findnexti64 == _findnext64
+_futime == _futime64
+_mkgmtime == _mkgmtime64
+_strcmpi == _stricmp
+_utime == _utime64
+_wctime == _wctime64
+_wfindfirsti64 == _wfindfirst64
+_wfindnexti64 == _wfindnext64
+_wutime == _wutime64
+ctime == _ctime64
+difftime == _difftime64
+mktime == _mktime64

--- lib64/msvcr80.def.in
+++ lib64/msvcr80.def.in
+_atoll_l == _atoi64_l
+_findfirsti64 == _findfirst64
+_findnexti64 == _findnext64
-_getwc_nolock == _fgetwc_nolock
+_strtoimax_l == _strtoi64_l
+_strtoll_l == _strtoi64_l
+_strtoull_l == _strtoui64_l
+_strtoumax_l == _strtoui64_l
+_wfindfirsti64 == _wfindfirst64
+_wfindnexti64 == _wfindnext64

--- lib64/msvcr90d.def.in
+++ lib64/msvcr90d.def.in
+__ms_swprintf == _swprintf
+__ms_vswprintf == _vswprintf
-_fgetc_nolock == _getc_nolock
+_findfirsti64 == _findfirst64
+_findnexti64 == _findnext64
+_futime == _futime64
-_getwc_nolock == _fgetwc_nolock
+_utime == _utime64
+_wfindfirsti64 == _wfindfirst64
+_wfindnexti64 == _wfindnext64
+_wutime == _wutime64
-ctime == _ctime32
+ctime == _ctime64
+difftime == _difftime64

--- lib64/msvcr90.def.in
+++ lib64/msvcr90.def.in
+__ms_swprintf == _swprintf
+__ms_vswprintf == _vswprintf
-_fgetc_nolock == _getc_nolock
+_findfirsti64 == _findfirst64
+_findnexti64 == _findnext64
+_futime == _futime64
-_getwc_nolock == _fgetwc_nolock
+_utime == _utime64
+_wfindfirsti64 == _wfindfirst64
+_wfindnexti64 == _wfindnext64
+_wutime == _wutime64
+difftime == _difftime64


Pali Rohár (10):
  crt: Remove duplicate symbol alises for strlwr and wcslwr
  crt: Remove _getwc_nolock symbol alias
  crt: Remove _fgetc_nolock symbol alias
  crt: Move __ms_* symbol aliases to def-include/msvcrt-common.def.in
  crt: Move _strcmpi alias to def-include/msvcrt-common.def.in
  crt: Move _atoi64 and _atoi64_l aliases to
    def-include/msvcrt-common.def.in
  crt: Move llabs and imaxabs aliases to
    def-include/msvcrt-common.def.in
  crt: Move imaxdiv alias to def-include/msvcrt-common.def.in
  crt: Move strto[u]ll(_l)/strto[iu]max(_l) aliases to
    def-include/msvcrt-common.def.in
  crt: Move find, stat and time aliases to
    def-include/msvcrt-common.def.in

 .../def-include/msvcrt-common.def.in          | 225 ++++++++++++++++++
 mingw-w64-crt/lib-common/msvcr120_app.def.in  |  54 +----
 mingw-w64-crt/lib-common/msvcrt.def.in        |  68 ++----
 mingw-w64-crt/lib-common/ucrtbase.def.in      |  13 -
 mingw-w64-crt/lib32/crtdll.def.in             |  16 +-
 mingw-w64-crt/lib32/msvcr100.def.in           |  55 +----
 mingw-w64-crt/lib32/msvcr110.def.in           |  55 +----
 mingw-w64-crt/lib32/msvcr120.def.in           |  32 ---
 mingw-w64-crt/lib32/msvcr120d.def.in          |  32 ---
 mingw-w64-crt/lib32/msvcr70.def.in            |  21 +-
 mingw-w64-crt/lib32/msvcr71.def.in            |  21 +-
 mingw-w64-crt/lib32/msvcr80.def.in            |  56 +----
 mingw-w64-crt/lib32/msvcr90.def.in            |  56 +----
 mingw-w64-crt/lib32/msvcr90d.def.in           |  55 +----
 mingw-w64-crt/lib32/msvcrt10.def.in           |  14 +-
 mingw-w64-crt/lib32/msvcrt20.def.in           |  15 +-
 mingw-w64-crt/lib32/msvcrt40.def.in           |  14 +-
 mingw-w64-crt/lib64/msvcr100.def.in           |  55 +----
 mingw-w64-crt/lib64/msvcr110.def.in           |  55 +----
 mingw-w64-crt/lib64/msvcr120.def.in           |  32 ---
 mingw-w64-crt/lib64/msvcr120d.def.in          |  31 ---
 mingw-w64-crt/lib64/msvcr80.def.in            |  56 +----
 mingw-w64-crt/lib64/msvcr90.def.in            |  56 +----
 mingw-w64-crt/lib64/msvcr90d.def.in           |  56 +----
 mingw-w64-crt/libarm32/msvcr110.def           |  16 --
 mingw-w64-crt/libarm32/msvcr120_clr0400.def   |  16 --
 26 files changed, 324 insertions(+), 851 deletions(-)

-- 
2.20.1



_______________________________________________
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to