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

Reply via email to