[PATCH] winegcc: Only add -static-libgcc if -nodefaultlibs weren't given. (Clang)

Chip Davis cdavis at codeweavers.com
Fri Sep 24 19:56:23 CDT 2021


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 at 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));
-- 
2.33.0




More information about the wine-devel mailing list