On Friday 09 May 2025 18:07:22 Pali Rohár wrote:
> 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.

Is this right now the only issue needed resolve?


_______________________________________________
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to