Module: wine Branch: master Commit: b336a084d650b9d0e59fc2a1120229794c3c3327 URL: https://source.winehq.org/git/wine.git/?a=commit;h=b336a084d650b9d0e59fc2a11...
Author: Alexandre Julliard julliard@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@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;