--- a/src/mklibs
+++ b/src/mklibs
@@ -106,14 +106,14 @@ def library_depends(obj):
 
 # Return a list of libraries the passed objects depend on. The
 # libraries are in "-lfoo" format suitable for passing to gcc.
-def library_depends_gcc_libnames(obj):
+def library_depends_gcc_libnames(obj, soname):
     if not os.access(obj, os.F_OK):
         raise Exception("Cannot find lib: " + obj)
     libs = library_depends(obj)
     ret = []
     for i in libs:
         match = re.match("^(((?P<ld>ld\S*)|(lib(?P<lib>\S+))))\.so.*$", i)
-        if match:
+        if match and not soname in ("libpthread.so.0"):
             if match.group('ld'):
                 ret.append(find_lib(match.group(0)))
             elif match.group('lib'):
@@ -628,7 +628,7 @@ while 1:
             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))
+            cmd.append(library_depends_gcc_libnames(so_file, soname))
             command(target + "gcc", *cmd)
 
             ## DEBUG
