On Tuesday 06 May 2025 19:59:31 Martin Storsjö wrote: > On Thu, 17 Apr 2025, Pali Rohár wrote: > > > Function __main() is function for executing gcc c++ constructors. Move it > > into guarded code which prevents duplicate code execution, after executing > > msvc c++ constructors (__xc_a-__xc_z callbacks). > > --- > > mingw-w64-crt/crt/crtexe.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/mingw-w64-crt/crt/crtexe.c b/mingw-w64-crt/crt/crtexe.c > > index 620f08b9467d..46e61fcecb94 100644 > > --- a/mingw-w64-crt/crt/crtexe.c > > +++ b/mingw-w64-crt/crt/crtexe.c > > @@ -208,6 +208,7 @@ __tmainCRTStartup (void) > > _amsg_exit (8); /* _RT_SPACEARG */ > > > > _initterm (__xc_a, __xc_z); > > + __main (); /* C++ initialization. */ > > > > __native_startup_state = __initialized; > > } > > @@ -229,7 +230,6 @@ __tmainCRTStartup (void) > > _fpreset (); > > > > duplicate_ppstrings (argc, &argv); > > - __main (); /* C++ initialization. */ > > #ifdef _UNICODE > > __winitenv = envp; > > #else > > -- > > This makes the constructors be called before _pei386_runtime_relocator - > this will quite certainly break things in some setup. Yes I know a later > patch fixes the order again, but we shouldn't be moving things in such an > order. > > // Martin
Ou, I did not notice this. This needs to be reworked, so the code is always called in the correct order. _______________________________________________ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public