aboutsummaryrefslogtreecommitdiffstats
path: root/tools/mklibs/patches/004-libpthread_link.patch
blob: ccf134078373a8dddf0aaa573a7529648fb06f99 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
--- a/src/mklibs
+++ b/src/mklibs
@@ -106,14 +106,14 @@
 
 # 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'):
@@ -617,7 +617,7 @@
             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