ntdll exports a subset of crt functions and currently our importlib exposes them to linked application. This means that -lntdll is specified, an application will use ntdll.dll for things like strlen(). This is a very unexpected effect for majority of use cases. Using NtReadFile shouldn't imply changing used strlen() application.

We had problems with that in the past (see commit b1de317aab3a3cf79606535edd126a565ddd284e) and I recently observed that with duplicated atan symbols in Firefox builds.

In Windows SDK, ntdll.lib does not expose those crt functions and I don't think we should.

That said, I can see a valid use cases for linking to them, for example with combination with -nodefaultlibs. My proposed patch adds a new dedicated importlib, libntdllcrt.a, which may be used to explicitly request using ntdll.dll for crt functions. I'm open to other ideas.

Thanks,
Jacek

---
 mingw-w64-crt/lib32/Makefile.am     |   1 +
 mingw-w64-crt/lib32/ntdll.def       | 185 ---------------------------
 mingw-w64-crt/lib32/ntdllcrt.def    | 192 ++++++++++++++++++++++++++++
 mingw-w64-crt/lib64/Makefile.am     |   1 +
 mingw-w64-crt/lib64/ntdll.def       | 172 -------------------------
 mingw-w64-crt/lib64/ntdllcrt.def    | 179 ++++++++++++++++++++++++++
 mingw-w64-crt/libarm32/Makefile.am  |   1 +
 mingw-w64-crt/libarm32/ntdll.def    | 181 --------------------------
 mingw-w64-crt/libarm32/ntdllcrt.def | 188 +++++++++++++++++++++++++++
 9 files changed, 562 insertions(+), 538 deletions(-)
 create mode 100644 mingw-w64-crt/lib32/ntdllcrt.def
 create mode 100644 mingw-w64-crt/lib64/ntdllcrt.def
 create mode 100644 mingw-w64-crt/libarm32/ntdllcrt.def


diff --git a/mingw-w64-crt/lib32/Makefile.am b/mingw-w64-crt/lib32/Makefile.am
index 169e9864..203d09d7 100644
--- a/mingw-w64-crt/lib32/Makefile.am
+++ b/mingw-w64-crt/lib32/Makefile.am
@@ -191,6 +191,7 @@ lib32_DATA += %reldir%/libnetutils.a
 lib32_DATA += %reldir%/libnewdev.a
 lib32_DATA += %reldir%/libnormaliz.a
 lib32_DATA += %reldir%/libntdll.a
+lib32_DATA += %reldir%/libntdllcrt.a
 lib32_DATA += %reldir%/libntdsapi.a
 lib32_DATA += %reldir%/libntmsapi.a
 lib32_DATA += %reldir%/libntoskrnl.a
diff --git a/mingw-w64-crt/lib32/ntdll.def b/mingw-w64-crt/lib32/ntdll.def
index d6837b11..072c46d1 100644
--- a/mingw-w64-crt/lib32/ntdll.def
+++ b/mingw-w64-crt/lib32/ntdll.def
@@ -1895,188 +1895,3 @@ ZwWriteFileGather@36
 ZwWriteRequestData@24
 ZwWriteVirtualMemory@20
 ZwYieldExecution@0
-_CIcos
-_CIlog
-_CIpow
-_CIsin
-_CIsqrt
-__isascii
-__iscsym
-__iscsymf
-__toascii
-_alldiv
-_alldvrm@16
-_allmul@16
-_alloca_probe
-_alloca_probe_16
-_alloca_probe_8
-_allrem@16
-_allshl
-_allshr
-_atoi64
-_aulldiv@16
-_aulldvrm@16
-_aullrem@16
-_aullshr
-;_chkstk
-_fltused DATA
-_ftol
-_i64toa
-_i64toa_s
-_i64tow
-_i64tow_s
-_itoa
-_itoa_s
-_itow
-_itow_s
-_lfind
-_ltoa
-_ltoa_s
-_ltow
-_ltow_s
-_makepath_s
-_memccpy
-_memicmp
-_snprintf
-_snprintf_s
-_snscanf_s
-_snwprintf
-_snwprintf_s
-_snwscanf_s
-_splitpath
-_splitpath_s
-_strcmpi
-_stricmp
-_strlwr
-_strnicmp
-_strnset_s
-_strset_s
-_strupr
-_swprintf
-_tolower
-_toupper
-_ui64toa
-_ui64toa_s
-_ui64tow
-_ui64tow_s
-_ultoa
-_ultoa_s
-_ultow
-_ultow_s
-_vscwprintf
-_vsnprintf
-_vsnprintf_s
-_vsnwprintf
-_vsnwprintf_s
-_vswprintf
-_wcsicmp
-_wcslwr
-_wcsnicmp
-_wcsnset_s
-_wcsset_s
-_wcstoui64
-_wcsupr
-_wmakepath_s
-_wsplitpath_s
-_wtoi
-_wtoi64
-_wtol
-abs
-atan DATA
-atoi
-atol
-bsearch
-ceil
-cos DATA
-fabs DATA
-floor DATA
-isalnum
-isalpha
-iscntrl
-isdigit
-isgraph
-islower
-isprint
-ispunct
-isspace
-isupper
-iswalpha
-iswctype
-iswdigit
-iswlower
-iswspace
-iswxdigit
-isxdigit
-labs
-log
-mbstowcs
-memchr
-memcmp
-memcpy
-memcpy_s
-memmove
-memmove_s
-memset
-pow
-qsort
-sin
-sprintf
-sprintf_s
-sqrt
-sscanf
-sscanf_s
-strcat
-strcat_s
-strchr
-strcmp
-strcpy
-strcpy_s
-strcspn
-strlen
-strncat
-strncat_s
-strncmp
-strncpy
-strncpy_s
-strnlen
-strpbrk
-strrchr
-strspn
-strstr
-strtok_s
-strtol
-strtoul
-swprintf
-swprintf_s
-swscanf_s
-tan
-tolower
-toupper
-towlower
-towupper
-vDbgPrintEx@16
-vDbgPrintExWithPrefix@20
-vsprintf
-vsprintf_s
-vswprintf_s
-wcscat
-wcscat_s
-wcschr
-wcscmp
-wcscpy
-wcscpy_s
-wcscspn
-wcslen
-wcsncat
-wcsncat_s
-wcsncmp
-wcsncpy
-wcsncpy_s
-wcsnlen
-wcspbrk
-wcsrchr
-wcsspn
-wcsstr
-wcstol
-wcstombs
-wcstoul
diff --git a/mingw-w64-crt/lib32/ntdllcrt.def b/mingw-w64-crt/lib32/ntdllcrt.def
new file mode 100644
index 00000000..c7c6e8d9
--- /dev/null
+++ b/mingw-w64-crt/lib32/ntdllcrt.def
@@ -0,0 +1,192 @@
+;
+; Definition file of ntdll.dll
+; Automatic generated by gendef
+; written by Kai Tietz 2008
+;
+LIBRARY "ntdll.dll"
+EXPORTS
+_CIcos
+_CIlog
+_CIpow
+_CIsin
+_CIsqrt
+__isascii
+__iscsym
+__iscsymf
+__toascii
+_alldiv
+_alldvrm@16
+_allmul@16
+_alloca_probe
+_alloca_probe_16
+_alloca_probe_8
+_allrem@16
+_allshl
+_allshr
+_atoi64
+_aulldiv@16
+_aulldvrm@16
+_aullrem@16
+_aullshr
+;_chkstk
+_fltused DATA
+_ftol
+_i64toa
+_i64toa_s
+_i64tow
+_i64tow_s
+_itoa
+_itoa_s
+_itow
+_itow_s
+_lfind
+_ltoa
+_ltoa_s
+_ltow
+_ltow_s
+_makepath_s
+_memccpy
+_memicmp
+_snprintf
+_snprintf_s
+_snscanf_s
+_snwprintf
+_snwprintf_s
+_snwscanf_s
+_splitpath
+_splitpath_s
+_strcmpi
+_stricmp
+_strlwr
+_strnicmp
+_strnset_s
+_strset_s
+_strupr
+_swprintf
+_tolower
+_toupper
+_ui64toa
+_ui64toa_s
+_ui64tow
+_ui64tow_s
+_ultoa
+_ultoa_s
+_ultow
+_ultow_s
+_vscwprintf
+_vsnprintf
+_vsnprintf_s
+_vsnwprintf
+_vsnwprintf_s
+_vswprintf
+_wcsicmp
+_wcslwr
+_wcsnicmp
+_wcsnset_s
+_wcsset_s
+_wcstoui64
+_wcsupr
+_wmakepath_s
+_wsplitpath_s
+_wtoi
+_wtoi64
+_wtol
+abs
+atan DATA
+atoi
+atol
+bsearch
+ceil
+cos DATA
+fabs DATA
+floor DATA
+isalnum
+isalpha
+iscntrl
+isdigit
+isgraph
+islower
+isprint
+ispunct
+isspace
+isupper
+iswalpha
+iswctype
+iswdigit
+iswlower
+iswspace
+iswxdigit
+isxdigit
+labs
+log
+mbstowcs
+memchr
+memcmp
+memcpy
+memcpy_s
+memmove
+memmove_s
+memset
+pow
+qsort
+sin
+sprintf
+sprintf_s
+sqrt
+sscanf
+sscanf_s
+strcat
+strcat_s
+strchr
+strcmp
+strcpy
+strcpy_s
+strcspn
+strlen
+strncat
+strncat_s
+strncmp
+strncpy
+strncpy_s
+strnlen
+strpbrk
+strrchr
+strspn
+strstr
+strtok_s
+strtol
+strtoul
+swprintf
+swprintf_s
+swscanf_s
+tan
+tolower
+toupper
+towlower
+towupper
+vDbgPrintEx@16
+vDbgPrintExWithPrefix@20
+vsprintf
+vsprintf_s
+vswprintf_s
+wcscat
+wcscat_s
+wcschr
+wcscmp
+wcscpy
+wcscpy_s
+wcscspn
+wcslen
+wcsncat
+wcsncat_s
+wcsncmp
+wcsncpy
+wcsncpy_s
+wcsnlen
+wcspbrk
+wcsrchr
+wcsspn
+wcsstr
+wcstol
+wcstombs
+wcstoul
diff --git a/mingw-w64-crt/lib64/Makefile.am b/mingw-w64-crt/lib64/Makefile.am
index 1d5cee5e..f888ed50 100644
--- a/mingw-w64-crt/lib64/Makefile.am
+++ b/mingw-w64-crt/lib64/Makefile.am
@@ -390,6 +390,7 @@ lib64_DATA += %reldir%/libnntpapi.a
 lib64_DATA += %reldir%/libnpptools.a
 lib64_DATA += %reldir%/libnshipsec.a
 lib64_DATA += %reldir%/libntdll.a
+lib64_DATA += %reldir%/libntdllcrt.a
 lib64_DATA += %reldir%/libntdsapi.a
 lib64_DATA += %reldir%/libntdsbcli.a
 lib64_DATA += %reldir%/libntlanman.a
diff --git a/mingw-w64-crt/lib64/ntdll.def b/mingw-w64-crt/lib64/ntdll.def
index 2b2ad36f..894c3123 100644
--- a/mingw-w64-crt/lib64/ntdll.def
+++ b/mingw-w64-crt/lib64/ntdll.def
@@ -1863,175 +1863,3 @@ ZwWriteFileGather
 ZwWriteRequestData
 ZwWriteVirtualMemory
 ZwYieldExecution
-__C_specific_handler
-;__chkstk
-__isascii
-__iscsym
-__iscsymf
-__misaligned_access
-__toascii
-_atoi64
-_fltused DATA
-_i64toa
-_i64toa_s
-_i64tow
-_i64tow_s
-_itoa
-_itoa_s
-_itow
-_itow_s
-_lfind
-_local_unwind
-_ltoa
-_ltoa_s
-_ltow
-_ltow_s
-_makepath_s
-_memccpy
-_memicmp
-_setjmp
-_setjmpex
-_snprintf
-_snprintf_s
-_snscanf_s
-_snwprintf
-_snwprintf_s
-_snwscanf_s
-_splitpath
-_splitpath_s
-_strcmpi
-_stricmp
-_strlwr
-_strnicmp
-_strnset_s
-_strset_s
-_strupr
-_tolower
-_toupper
-_swprintf
-_ui64toa
-_ui64toa_s
-_ui64tow
-_ui64tow_s
-_ultoa
-_ultoa_s
-_ultow
-_ultow_s
-_vscwprintf
-_vsnprintf
-_vsnprintf_s
-_vsnwprintf
-_vsnwprintf_s
-_vswprintf
-_wcsicmp
-_wcslwr
-_wcsnicmp
-_wcsnset_s
-_wcsset_s
-_wcstoui64
-_wcsupr
-_wmakepath_s
-_wsplitpath_s
-_wtoi
-_wtoi64
-_wtol
-abs
-atan DATA
-atoi
-atol
-bsearch
-ceil
-cos DATA
-fabs DATA
-floor DATA
-isalnum
-isalpha
-iscntrl
-isdigit
-isgraph
-islower
-isprint
-ispunct
-isspace
-isupper
-iswalpha
-iswctype
-iswdigit
-iswlower
-iswspace
-iswxdigit
-isxdigit
-labs
-log
-longjmp DATA
-mbstowcs
-memchr
-memcmp
-memcpy
-memcpy_s
-memmove
-memmove_s
-memset
-pow
-qsort
-sin
-sprintf
-sprintf_s
-sqrt
-sscanf
-sscanf_s
-strcat
-strcat_s
-strchr
-strcmp
-strcpy
-strcpy_s
-strcspn
-strlen
-strncat
-strncat_s
-strncmp
-strncpy
-strncpy_s
-strnlen
-strpbrk
-strrchr
-strspn
-strstr
-strtok_s
-strtol
-strtoul
-swprintf
-swprintf_s
-swscanf_s
-tan
-tolower
-toupper
-towlower
-towupper
-vDbgPrintEx
-vDbgPrintExWithPrefix
-vsprintf
-vsprintf_s
-vswprintf_s
-wcscat
-wcscat_s
-wcschr
-wcscmp
-wcscpy
-wcscpy_s
-wcscspn
-wcslen
-wcsncat
-wcsncat_s
-wcsncmp
-wcsncpy
-wcsncpy_s
-wcsnlen
-wcspbrk
-wcsrchr
-wcsspn
-wcsstr
-wcstol
-wcstombs
-wcstoul
diff --git a/mingw-w64-crt/lib64/ntdllcrt.def b/mingw-w64-crt/lib64/ntdllcrt.def
new file mode 100644
index 00000000..87794fb7
--- /dev/null
+++ b/mingw-w64-crt/lib64/ntdllcrt.def
@@ -0,0 +1,179 @@
+;
+; Definition file of ntdll.dll
+; Automatic generated by gendef
+; written by Kai Tietz 2008
+;
+LIBRARY "ntdll.dll"
+EXPORTS
+__C_specific_handler
+;__chkstk
+__isascii
+__iscsym
+__iscsymf
+__misaligned_access
+__toascii
+_atoi64
+_fltused DATA
+_i64toa
+_i64toa_s
+_i64tow
+_i64tow_s
+_itoa
+_itoa_s
+_itow
+_itow_s
+_lfind
+_local_unwind
+_ltoa
+_ltoa_s
+_ltow
+_ltow_s
+_makepath_s
+_memccpy
+_memicmp
+_setjmp
+_setjmpex
+_snprintf
+_snprintf_s
+_snscanf_s
+_snwprintf
+_snwprintf_s
+_snwscanf_s
+_splitpath
+_splitpath_s
+_strcmpi
+_stricmp
+_strlwr
+_strnicmp
+_strnset_s
+_strset_s
+_strupr
+_tolower
+_toupper
+_swprintf
+_ui64toa
+_ui64toa_s
+_ui64tow
+_ui64tow_s
+_ultoa
+_ultoa_s
+_ultow
+_ultow_s
+_vscwprintf
+_vsnprintf
+_vsnprintf_s
+_vsnwprintf
+_vsnwprintf_s
+_vswprintf
+_wcsicmp
+_wcslwr
+_wcsnicmp
+_wcsnset_s
+_wcsset_s
+_wcstoui64
+_wcsupr
+_wmakepath_s
+_wsplitpath_s
+_wtoi
+_wtoi64
+_wtol
+abs
+atan DATA
+atoi
+atol
+bsearch
+ceil
+cos DATA
+fabs DATA
+floor DATA
+isalnum
+isalpha
+iscntrl
+isdigit
+isgraph
+islower
+isprint
+ispunct
+isspace
+isupper
+iswalpha
+iswctype
+iswdigit
+iswlower
+iswspace
+iswxdigit
+isxdigit
+labs
+log
+longjmp DATA
+mbstowcs
+memchr
+memcmp
+memcpy
+memcpy_s
+memmove
+memmove_s
+memset
+pow
+qsort
+sin
+sprintf
+sprintf_s
+sqrt
+sscanf
+sscanf_s
+strcat
+strcat_s
+strchr
+strcmp
+strcpy
+strcpy_s
+strcspn
+strlen
+strncat
+strncat_s
+strncmp
+strncpy
+strncpy_s
+strnlen
+strpbrk
+strrchr
+strspn
+strstr
+strtok_s
+strtol
+strtoul
+swprintf
+swprintf_s
+swscanf_s
+tan
+tolower
+toupper
+towlower
+towupper
+vDbgPrintEx
+vDbgPrintExWithPrefix
+vsprintf
+vsprintf_s
+vswprintf_s
+wcscat
+wcscat_s
+wcschr
+wcscmp
+wcscpy
+wcscpy_s
+wcscspn
+wcslen
+wcsncat
+wcsncat_s
+wcsncmp
+wcsncpy
+wcsncpy_s
+wcsnlen
+wcspbrk
+wcsrchr
+wcsspn
+wcsstr
+wcstol
+wcstombs
+wcstoul
diff --git a/mingw-w64-crt/libarm32/Makefile.am b/mingw-w64-crt/libarm32/Makefile.am
index 10b7f017..4597c26b 100644
--- a/mingw-w64-crt/libarm32/Makefile.am
+++ b/mingw-w64-crt/libarm32/Makefile.am
@@ -500,6 +500,7 @@ libarm32_DATA += %reldir%/libnshwfp.a
 libarm32_DATA += %reldir%/libnsi.a
 libarm32_DATA += %reldir%/libnsisvc.a
 libarm32_DATA += %reldir%/libntdll.a
+libarm32_DATA += %reldir%/libntdllcrt.a
 libarm32_DATA += %reldir%/libntdsapi.a
 libarm32_DATA += %reldir%/libntlanman.a
 libarm32_DATA += %reldir%/libntmarta.a
diff --git a/mingw-w64-crt/libarm32/ntdll.def b/mingw-w64-crt/libarm32/ntdll.def
index 13099a97..ac9c39fe 100644
--- a/mingw-w64-crt/libarm32/ntdll.def
+++ b/mingw-w64-crt/libarm32/ntdll.def
@@ -1982,184 +1982,3 @@ ZwWriteFileGather
 ZwWriteRequestData
 ZwWriteVirtualMemory
 ZwYieldExecution
-__C_specific_handler
-__chkstk
-__isascii
-__iscsym
-__iscsymf
-__jump_unwind
-__toascii
-_atoi64
-_errno
-_fltused DATA
-_i64toa
-_i64toa_s
-_i64tow
-_i64tow_s
-_itoa
-_itoa_s
-_itow
-_itow_s
-_lfind
-_ltoa
-_ltoa_s
-_ltow
-_ltow_s
-_makepath_s
-_memccpy
-_memicmp
-_setjmp
-_setjmpex
-_snprintf
-_snprintf_s
-_snscanf_s
-_snwprintf
-_snwprintf_s
-_snwscanf_s
-_splitpath
-_splitpath_s
-_strcmpi
-_stricmp
-_strlwr
-_strlwr_s
-_strnicmp
-_strnset_s
-_strset_s
-_strupr
-_strupr_s
-_swprintf
-_ui64toa
-_ui64toa_s
-_ui64tow
-_ui64tow_s
-_ultoa
-_ultoa_s
-_ultow
-_ultow_s
-_vscwprintf
-_vsnprintf
-_vsnprintf_s
-_vsnwprintf
-_vsnwprintf_s
-_vswprintf
-_wcsicmp
-_wcslwr
-_wcslwr_s
-_wcsnicmp
-_wcsnset_s
-_wcsset_s
-_wcstoi64
-_wcstoui64
-_wcsupr
-_wcsupr_s
-_wmakepath_s
-_wsplitpath_s
-_wtoi
-_wtoi64
-_wtol
-abs
-atan
-atoi
-atol
-bsearch
-ceil
-cos
-fabs
-floor
-isalnum
-isalpha
-iscntrl
-isdigit
-isgraph
-islower
-isprint
-ispunct
-isspace
-isupper
-iswalnum
-iswalpha
-iswascii
-iswctype
-iswdigit
-iswgraph
-iswlower
-iswprint
-iswspace
-iswxdigit
-isxdigit
-labs
-log
-longjmp
-mbstowcs
-memchr
-memcmp
-memcpy
-memcpy_s
-memmove
-memmove_s
-memset
-pow
-qsort
-qsort_s
-sin
-sprintf
-sprintf_s
-sqrt
-sscanf
-sscanf_s
-strcat
-strcat_s
-strchr
-strcmp
-strcpy
-strcpy_s
-strcspn
-strlen
-strncat
-strncat_s
-strncmp
-strncpy
-strncpy_s
-strnlen
-strpbrk
-strrchr
-strspn
-strstr
-strtok_s
-strtol
-strtoul
-swprintf
-swprintf_s
-swscanf_s
-tan
-tolower
-toupper
-towlower
-towupper
-vDbgPrintEx
-vDbgPrintExWithPrefix
-vsprintf
-vsprintf_s
-vswprintf_s
-wcscat
-wcscat_s
-wcschr
-wcscmp
-wcscpy
-wcscpy_s
-wcscspn
-wcslen
-wcsncat
-wcsncat_s
-wcsncmp
-wcsncpy
-wcsncpy_s
-wcsnlen
-wcspbrk
-wcsrchr
-wcsspn
-wcsstr
-wcstok_s
-wcstol
-wcstombs
-wcstoul
diff --git a/mingw-w64-crt/libarm32/ntdllcrt.def b/mingw-w64-crt/libarm32/ntdllcrt.def
new file mode 100644
index 00000000..a819b175
--- /dev/null
+++ b/mingw-w64-crt/libarm32/ntdllcrt.def
@@ -0,0 +1,188 @@
+;
+; Definition file of ntdll.dll
+; Automatic generated by gendef
+; written by Kai Tietz 2008-2014
+;
+LIBRARY "ntdll.dll"
+EXPORTS
+__C_specific_handler
+__chkstk
+__isascii
+__iscsym
+__iscsymf
+__jump_unwind
+__toascii
+_atoi64
+_errno
+_fltused DATA
+_i64toa
+_i64toa_s
+_i64tow
+_i64tow_s
+_itoa
+_itoa_s
+_itow
+_itow_s
+_lfind
+_ltoa
+_ltoa_s
+_ltow
+_ltow_s
+_makepath_s
+_memccpy
+_memicmp
+_setjmp
+_setjmpex
+_snprintf
+_snprintf_s
+_snscanf_s
+_snwprintf
+_snwprintf_s
+_snwscanf_s
+_splitpath
+_splitpath_s
+_strcmpi
+_stricmp
+_strlwr
+_strlwr_s
+_strnicmp
+_strnset_s
+_strset_s
+_strupr
+_strupr_s
+_swprintf
+_ui64toa
+_ui64toa_s
+_ui64tow
+_ui64tow_s
+_ultoa
+_ultoa_s
+_ultow
+_ultow_s
+_vscwprintf
+_vsnprintf
+_vsnprintf_s
+_vsnwprintf
+_vsnwprintf_s
+_vswprintf
+_wcsicmp
+_wcslwr
+_wcslwr_s
+_wcsnicmp
+_wcsnset_s
+_wcsset_s
+_wcstoi64
+_wcstoui64
+_wcsupr
+_wcsupr_s
+_wmakepath_s
+_wsplitpath_s
+_wtoi
+_wtoi64
+_wtol
+abs
+atan
+atoi
+atol
+bsearch
+ceil
+cos
+fabs
+floor
+isalnum
+isalpha
+iscntrl
+isdigit
+isgraph
+islower
+isprint
+ispunct
+isspace
+isupper
+iswalnum
+iswalpha
+iswascii
+iswctype
+iswdigit
+iswgraph
+iswlower
+iswprint
+iswspace
+iswxdigit
+isxdigit
+labs
+log
+longjmp
+mbstowcs
+memchr
+memcmp
+memcpy
+memcpy_s
+memmove
+memmove_s
+memset
+pow
+qsort
+qsort_s
+sin
+sprintf
+sprintf_s
+sqrt
+sscanf
+sscanf_s
+strcat
+strcat_s
+strchr
+strcmp
+strcpy
+strcpy_s
+strcspn
+strlen
+strncat
+strncat_s
+strncmp
+strncpy
+strncpy_s
+strnlen
+strpbrk
+strrchr
+strspn
+strstr
+strtok_s
+strtol
+strtoul
+swprintf
+swprintf_s
+swscanf_s
+tan
+tolower
+toupper
+towlower
+towupper
+vDbgPrintEx
+vDbgPrintExWithPrefix
+vsprintf
+vsprintf_s
+vswprintf_s
+wcscat
+wcscat_s
+wcschr
+wcscmp
+wcscpy
+wcscpy_s
+wcscspn
+wcslen
+wcsncat
+wcsncat_s
+wcsncmp
+wcsncpy
+wcsncpy_s
+wcsnlen
+wcspbrk
+wcsrchr
+wcsspn
+wcsstr
+wcstok_s
+wcstol
+wcstombs
+wcstoul

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

Reply via email to