--- a/src/mklibs
+++ b/src/mklibs
@@ -113,11 +113,8 @@ def library_depends_gcc_libnames(obj, so
     ret = []
     for i in libs:
         match = re.match("^(((?P<ld>ld\S*)|(lib(?P<lib>\S+))))\.so.*$", i)
-        if match and not soname in ("libpthread.so.0"):
-            if match.group('ld'):
-                ret.append(find_lib(match.group(0)))
-            elif match.group('lib'):
-                ret.append('-l%s' % match.group('lib'))
+        if match:
+            ret.append(find_lib(match.group(0)))
     return ' '.join(ret)
 
 class Symbol(object):
@@ -593,6 +590,7 @@ while 1:
             extra_flags = []
             extra_pre_obj = []
             extra_post_obj = []
+            libgcc_link = find_lib("libgcc_s.so.1")
 
             symbols.update(library_symbols_used[library])
 
@@ -618,9 +616,10 @@ while 1:
             cmd.append(pic_file)
             cmd.extend(extra_post_obj)
             cmd.extend(extra_flags)
-            cmd.append("-lgcc")
             cmd.extend(["-L%s" % a for a in [dest_path] + [sysroot + b for b in lib_path if sysroot == "" or b not in ("/" + libdir + "/", "/usr/" + libdir + "/")]])
-            cmd.append(library_depends_gcc_libnames(so_file, soname))
+            if soname != "libgcc_s.so.1":
+                cmd.append(library_depends_gcc_libnames(so_file, soname))
+                cmd.append(libgcc_link)
             command(target + "gcc", *cmd)
 
             ## DEBUG
