From: Chip Davis Subject: [PATCH v2] winegcc: Only add -static-libgcc if -nodefaultlibs weren't given. Message-Id: <20200406174439.40281-1-cdavis@codeweavers.com> Date: Mon, 6 Apr 2020 12:44:39 -0500 The flag does nothing if -nodefaultlibs or -nostdlib be 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 --- Notes: v2: Make sure we do add the flag for -print-libgcc-file-name. tools/winegcc/winegcc.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tools/winegcc/winegcc.c b/tools/winegcc/winegcc.c index 026bfe35de3..90b598667c0 100644 --- a/tools/winegcc/winegcc.c +++ b/tools/winegcc/winegcc.c @@ -508,7 +508,7 @@ static strarray *get_link_args( struct options *opts, const char *output_name ) 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" ); strarray_addall( link_args, flags ); return link_args; @@ -977,6 +977,8 @@ static const char *find_libgcc(const strarray *prefix, const strarray *link_tool int ret; strarray_add( link, "-print-libgcc-file-name" ); + /* make sure we don't need a libgcc_s dll on Windows */ + strarray_add( link, "-static-libgcc" ); sout = dup( fileno(stdout) ); freopen( out, "w", stdout ); -- 2.24.0