mirror of
git://projects.qi-hardware.com/openwrt-xburst.git
synced 2024-11-27 18:15:00 +02:00
mklibs: fix libpthread link error (#5851)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@17639 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
parent
ac7068d7d7
commit
a1e0ae5b41
28
tools/mklibs/patches/004-libpthread_link.patch
Normal file
28
tools/mklibs/patches/004-libpthread_link.patch
Normal file
@ -0,0 +1,28 @@
|
||||
--- a/src/mklibs.py
|
||||
+++ b/src/mklibs.py
|
||||
@@ -105,14 +105,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 "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'):
|
||||
@@ -592,7 +592,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
|
Loading…
Reference in New Issue
Block a user