On Sunday 30 August 2026 11:30:33 Pali Rohár wrote: > On Sunday 30 August 2026 17:14:32 Zhongteng Gui wrote: > > On 2026/08/30 15:44, Pali Rohár wrote: > > > On Sunday 30 August 2026 03:24:26 Kirill Makurin wrote: > > >> Zhongteng Gui <[email protected]> wrote: > > >> > > >>> Hi, I found that many libraries provided by mingw-w64-crt are actually > > >>> empty, > > >>> for example, libmingwthrd and libmoldname. Unfortunately, they're still > > >>> hardcoded in GCC's default specs, so I'd like to first remove them from > > >>> there, > > >>> then maybe in the future we can remove them from mingw-w64. > > >> > > >> These empty libraries are kept exactly to avoid breaking older gcc/clang > > >> versions, as they hardcode them. > > > > > > Exactly. Those libraries need to stay here to make sure that older gcc > > > versions will work. > > > > Fine, I understand these libraries cannot be removed from mingw-w64 for a > > long > > time, I just want to be sure they're useless now, so I can remove them from > > new > > GCC's specs. > > Note that gcc spec is a template for cygwin, mingw32 and mingw-w64 > targets. So beware to not break remaining two targets, this needs to be > mingw-w64 specific change. > > > I've submitted a slightly modified patch at > > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=127135
Now I'm looking at your change and it is modifying also the mingw32.h file which is shared between mingw32 and mingw-w64. So this is something which should stay as is, to not break other targets. > > > > > >> We also had briefly discussed an idea to move contents of libmingwex.a > > >> directly into import libraries (e.g. libucrt.a). The interaction between > > >> libmingwex.a and import libraries sometimes causes linker errors, e.g. > > >> when LTO is involved and import library references symbol from > > >> libmingwex.a or vice versa. If we did this, we would have to similarly > > >> make libmingwex.a empty so that older gcc/clang versions continue to > > >> work. > > > > > > I like this idea. But I'm still not sure if this would not cause other > > > issues. > > > > > > What I know is that there is still one problem that some symbols are > > > duplicated in libmingwex.a and in individual CRT DLL import libs. I have > > > tried to clean it up, but as I have figured out few days ago I found new > > > such symbols (e.g. _Exit). > > > > I think this is a good idea. Currently every libraries (mingw32, mingwex, > > msvcrt, etc.) are linked twice to solve circular dependencies in GCC > > (implicit) > > and Clang (explicit). If we finished this in the future maybe we could > > remove > > the duplicate linking from newer GCC and Clang. > > > > > > > >> Pali (CC'd) may also have something to say about it. > > >> > > >> - Kirill Makurin > > _______________________________________________ Mingw-w64-public mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
