Alexandre Julliard : winegcc: Only use a constructor for dll modules.

Alexandre Julliard julliard at winehq.org
Wed Apr 15 15:55:42 CDT 2020


Module: wine
Branch: master
Commit: b336a084d650b9d0e59fc2a1120229794c3c3327
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=b336a084d650b9d0e59fc2a1120229794c3c3327

Author: Alexandre Julliard <julliard at winehq.org>
Date:   Wed Apr 15 17:52:04 2020 +0200

winegcc: Only use a constructor for dll modules.

Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 tools/winegcc/winegcc.c | 16 +++-------------
 1 file changed, 3 insertions(+), 13 deletions(-)

diff --git a/tools/winegcc/winegcc.c b/tools/winegcc/winegcc.c
index 7d55e19866..b2a4f9189e 100644
--- a/tools/winegcc/winegcc.c
+++ b/tools/winegcc/winegcc.c
@@ -532,20 +532,10 @@ static strarray *get_link_args( struct options *opts, const char *output_name )
     strarray_add( link_args, "-Wl,-Bsymbolic" );
     if (!opts->noshortwchar && opts->target_cpu == CPU_ARM)
         strarray_add( flags, "-Wl,--no-wchar-size-warning" );
-
-    /* Try all options first - this is likely to succeed on modern compilers */
-    if (!try_link( opts->prefix, link_args, "-Wl,-z,defs -Wl,-init,__wine_spec_init,-fini,_wine_spec_fini" ))
-    {
+    if (!try_link( opts->prefix, link_args, "-Wl,-z,defs" ))
         strarray_add( flags, "-Wl,-z,defs" );
-        strarray_add( flags, "-Wl,-init,__wine_spec_init,-fini,__wine_spec_fini" );
-    }
-    else /* otherwise figure out which ones are allowed */
-    {
-        if (!try_link( opts->prefix, link_args, "-Wl,-z,defs" ))
-            strarray_add( flags, "-Wl,-z,defs" );
-        if (!try_link( opts->prefix, link_args, "-Wl,-init,__wine_spec_init,-fini,_wine_spec_fini" ))
-            strarray_add( flags, "-Wl,-init,__wine_spec_init,-fini,__wine_spec_fini" );
-    }
+    if (opts->shared && !try_link( opts->prefix, link_args, "-Wl,-init,__wine_spec_init" ))
+        strarray_add( flags, "-Wl,-init,__wine_spec_init" );
 
     strarray_addall( link_args, flags );
     return link_args;




More information about the wine-cvs mailing list