On Sat, 24 May 2025, Pali Rohár wrote:

On Sunday 18 May 2025 14:57:12 Martin Storsjö wrote:
On Sun, 18 May 2025, Pali Rohár wrote:

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?

I think so (I don't offhand remember if I commented something else - I think
the other discussion threads have been resolved by just discussing the
mattera).

// Martin

Ok, in this case just move "[PATCH 6/9]" before this one ([PATCH 3/9]).
When I run git rebase -i it applied cleanly without any conflict.
So I think that it is not needed to resend whole patch series.

Ok, fair enough. I reordered the patches, ran it through some more CI testing, and pushed them.

// Martin

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

Reply via email to