Having -DDEF_<ARCH> is required by func.def.in which is used either directly or indirectly by crt-aliases.def.in in all CRT def.in files. Some symbols in crt-aliases.def.in are defined via F* macros and these symbols are currently missing in versioned non-os msvcrt import libraries.
This change is fixing missing symbols in all CRT import libraries. --- I'm really sorry about this issue. It was caused by me by starting using all those F* macros in crt-aliases.def.in file and then also moving DECORATED_EXPORT() macro into func.def.in. I spotted it just because fastcall exports (in 4/4 change) did not worked at all. --- mingw-w64-crt/Makefile.am | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/mingw-w64-crt/Makefile.am b/mingw-w64-crt/Makefile.am index a0c885ec4f6c..0c702b645e4d 100644 --- a/mingw-w64-crt/Makefile.am +++ b/mingw-w64-crt/Makefile.am @@ -3823,8 +3823,17 @@ endif cd $(dir $@) && $(AR) -M < $(abspath $<) $(RANLIB) $@ -%.def: %.def.in - $(MKDIR_P) $(@D) && $(CPP) -x c $< -Wp,-w -undef -P -I$(top_srcdir)/def-include > $@ +lib32/%.def: lib32/%.def.in + $(MKDIR_P) $(@D) && $(CPP) -x c $< -Wp,-w -undef -P -I$(top_srcdir)/def-include -DDEF_I386 > $@ + +lib64/%.def: lib64/%.def.in + $(MKDIR_P) $(@D) && $(CPP) -x c $< -Wp,-w -undef -P -I$(top_srcdir)/def-include -DDEF_X64 > $@ + +libarm32/%.def: libarm32/%.def.in + $(MKDIR_P) $(@D) && $(CPP) -x c $< -Wp,-w -undef -P -I$(top_srcdir)/def-include -DDEF_ARM32 > $@ + +libarm64/%.def: libarm64/%.def.in + $(MKDIR_P) $(@D) && $(CPP) -x c $< -Wp,-w -undef -P -I$(top_srcdir)/def-include -DDEF_ARM64 > $@ lib32/%.def: lib-common/%.def.in $(MKDIR_P) $(@D) && $(CPP) -x c $< -Wp,-w -undef -P -I$(top_srcdir)/def-include -DDEF_I386 > $@ -- 2.20.1 _______________________________________________ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public