The flag does nothing if -nodefaultlibs or -nostdlib were given, because the driver does not automatically link to libgcc/compiler-rt in that case. Clang will warn about this, which is annoying, which clutters up the output, and which makes it impossible to use -Werror when building with Clang.
Signed-off-by: Chip Davis cdavis@codeweavers.com --- tools/winegcc/winegcc.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/tools/winegcc/winegcc.c b/tools/winegcc/winegcc.c index 256c97bde000..90aab7925ceb 100644 --- a/tools/winegcc/winegcc.c +++ b/tools/winegcc/winegcc.c @@ -538,7 +538,8 @@ static struct strarray get_link_args( struct options *opts, const char *output_n strarray_add( &flags, "-Wl,--large-address-aware" );
/* make sure we don't need a libgcc_s dll on Windows */ - strarray_add( &flags, "-static-libgcc" ); + if (!opts->nodefaultlibs && !opts->use_msvcrt) + strarray_add( &flags, "-static-libgcc" );
if (opts->debug_file && strendswith(opts->debug_file, ".pdb")) strarray_add(&link_args, strmake("-Wl,-pdb,%s", opts->debug_file));