X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/75a80d1ea4a5dadc26cfce2eced96d2f39a767fb..658e7e8470b6d851fb4e119dd7de7a7952e57211:/tools/mklibs/patches/009-uclibc_libgcc_link.patch diff --git a/tools/mklibs/patches/009-uclibc_libgcc_link.patch b/tools/mklibs/patches/009-uclibc_libgcc_link.patch index e36b1c14c..36f206719 100644 --- a/tools/mklibs/patches/009-uclibc_libgcc_link.patch +++ b/tools/mklibs/patches/009-uclibc_libgcc_link.patch @@ -1,27 +1,37 @@ ---- a/src/mklibs -+++ b/src/mklibs -@@ -560,6 +560,7 @@ while 1: +--- a/src/mklibs.py ++++ b/src/mklibs.py +@@ -112,11 +112,8 @@ def library_depends_gcc_libnames(obj, so + ret = [] + for i in libs: + match = re.match("^(((?Pld\S*)|(lib(?P\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): +@@ -560,6 +557,7 @@ while 1: extra_flags = [] extra_pre_obj = [] extra_post_obj = [] -+ libgcc_link = "-lgcc" ++ libgcc_link = find_lib("libgcc_s.so.1") symbols.update(library_symbols_used[library]) -@@ -575,6 +576,7 @@ while 1: - symbols.add(ProvidedSymbol('__uClibc_init', None, None, True)) - symbols.add(ProvidedSymbol('__uClibc_fini', None, None, True)) - extra_flags.append("-Wl,-init,__uClibc_init") -+ libgcc_link = "-lgcc_s_pic" - - map_file = find_pic_map(library) - if map_file: -@@ -590,7 +592,7 @@ while 1: +@@ -590,9 +588,10 @@ while 1: cmd.append(pic_file) cmd.extend(extra_post_obj) cmd.extend(extra_flags) - cmd.append("-lgcc") -+ cmd.append(libgcc_link) 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)) +- 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