When using GNU binutils, the function aliases won't work transitively, i.e. the strcmpi == _strcmpi alias in msvcrt-common.def.in won't use the second alias of _strcmpi == _stricmp in ucrtbase.def.in but will instead end up with an import of the nonexistent function _strcmpi. Therefore add an ifdef in msvcrt-common.def and add two aliases in ucrtbase.def.in.
Signed-off-by: Martin Storsjö <[email protected]> --- mingw-w64-crt/def-include/msvcrt-common.def.in | 2 ++ mingw-w64-crt/lib-common/ucrtbase.def.in | 2 ++ 2 files changed, 4 insertions(+) diff --git a/mingw-w64-crt/def-include/msvcrt-common.def.in b/mingw-w64-crt/def-include/msvcrt-common.def.in index c76bc6a..364e440 100644 --- a/mingw-w64-crt/def-include/msvcrt-common.def.in +++ b/mingw-w64-crt/def-include/msvcrt-common.def.in @@ -79,7 +79,9 @@ ADD_UNDERSCORE(spawnve) ADD_UNDERSCORE(spawnvp) ADD_UNDERSCORE(spawnvpe) ;stat) +#ifndef UCRTBASE ADD_UNDERSCORE(strcmpi) +#endif ADD_UNDERSCORE(strdup) ADD_UNDERSCORE(stricmp) ADD_UNDERSCORE(stricoll) diff --git a/mingw-w64-crt/lib-common/ucrtbase.def.in b/mingw-w64-crt/lib-common/ucrtbase.def.in index 8ca560a..4ca4e92 100644 --- a/mingw-w64-crt/lib-common/ucrtbase.def.in +++ b/mingw-w64-crt/lib-common/ucrtbase.def.in @@ -1944,6 +1944,7 @@ _stat64 _stat64i32 _statusfp F_I386(_statusfp2) +_strcmpi == _stricmp _strcoll_l _strdate _strdate_s @@ -2529,6 +2530,7 @@ strcat strcat_s strchr strcmp +strcmpi == _stricmp strcoll strcpy strcpy_s -- 2.7.4 ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ Mingw-w64-public mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
