diff options
| -rw-r--r-- | meta/recipes-devtools/mklibs/files/avoid-failure-on-symbol-provided-by-application.patch | 25 |
1 files changed, 13 insertions, 12 deletions
diff --git a/meta/recipes-devtools/mklibs/files/avoid-failure-on-symbol-provided-by-application.patch b/meta/recipes-devtools/mklibs/files/avoid-failure-on-symbol-provided-by-application.patch index 7d6d62e773..17d9af4de4 100644 --- a/meta/recipes-devtools/mklibs/files/avoid-failure-on-symbol-provided-by-application.patch +++ b/meta/recipes-devtools/mklibs/files/avoid-failure-on-symbol-provided-by-application.patch | |||
| @@ -1,7 +1,7 @@ | |||
| 1 | From f172101130604e4a9efa5746f4d8d30de99a0fdc Mon Sep 17 00:00:00 2001 | 1 | From dcb45256970b15b672d0004533826c94083356e5 Mon Sep 17 00:00:00 2001 |
| 2 | From: Yuanjie Huang <yuanjie.huang@windriver.com> | 2 | From: Yuanjie Huang <yuanjie.huang@windriver.com> |
| 3 | Date: Fri, 17 Apr 2015 14:48:20 +0800 | 3 | Date: Fri, 17 Apr 2015 14:48:20 +0800 |
| 4 | Subject: [PATCH] avoid failure on symbol provided by application | 4 | Subject: [PATCH 4/6] avoid failure on symbol provided by application |
| 5 | 5 | ||
| 6 | Upstream-Status: Pending | 6 | Upstream-Status: Pending |
| 7 | 7 | ||
| @@ -13,12 +13,13 @@ cannot be provided by libraries. It prevents false alarm on absence | |||
| 13 | of symbols. | 13 | of symbols. |
| 14 | 14 | ||
| 15 | Signed-off-by: Yuanjie Huang <yuanjie.huang@windriver.com> | 15 | Signed-off-by: Yuanjie Huang <yuanjie.huang@windriver.com> |
| 16 | |||
| 16 | --- | 17 | --- |
| 17 | src/mklibs | 28 ++++++++++++++++++++++++---- | 18 | src/mklibs | 28 ++++++++++++++++++++++++---- |
| 18 | 1 file changed, 24 insertions(+), 4 deletions(-) | 19 | 1 file changed, 24 insertions(+), 4 deletions(-) |
| 19 | 20 | ||
| 20 | diff --git a/src/mklibs b/src/mklibs | 21 | diff --git a/src/mklibs b/src/mklibs |
| 21 | index c5614ea..b0d9034 100755 | 22 | index a3533c0..66b7a09 100755 |
| 22 | --- a/src/mklibs | 23 | --- a/src/mklibs |
| 23 | +++ b/src/mklibs | 24 | +++ b/src/mklibs |
| 24 | @@ -133,9 +133,9 @@ class Symbol(object): | 25 | @@ -133,9 +133,9 @@ class Symbol(object): |
| @@ -31,9 +32,9 @@ index c5614ea..b0d9034 100755 | |||
| 31 | - self.weak, self.library = weak, library | 32 | - self.weak, self.library = weak, library |
| 32 | + self.weak, self.library, self.object = weak, library, object | 33 | + self.weak, self.library, self.object = weak, library, object |
| 33 | 34 | ||
| 34 | # Return undefined symbols in an object as a set of tuples (name, weakness) | 35 | def symbol_is_blacklisted(name): |
| 35 | def undefined_symbols(obj): | 36 | # The ARM Embedded ABI spec states symbols under this namespace as |
| 36 | @@ -144,6 +144,11 @@ def undefined_symbols(obj): | 37 | @@ -152,6 +152,11 @@ def undefined_symbols(obj): |
| 37 | 38 | ||
| 38 | output = command("mklibs-readelf", "--print-symbols-undefined", obj) | 39 | output = command("mklibs-readelf", "--print-symbols-undefined", obj) |
| 39 | 40 | ||
| @@ -45,7 +46,7 @@ index c5614ea..b0d9034 100755 | |||
| 45 | result = [] | 46 | result = [] |
| 46 | for line in output: | 47 | for line in output: |
| 47 | name, weak_string, version_string, library_string = line.split()[:4] | 48 | name, weak_string, version_string, library_string = line.split()[:4] |
| 48 | @@ -160,7 +165,7 @@ def undefined_symbols(obj): | 49 | @@ -171,7 +176,7 @@ def undefined_symbols(obj): |
| 49 | if library_string.lower() != 'none': | 50 | if library_string.lower() != 'none': |
| 50 | library = library_string | 51 | library = library_string |
| 51 | 52 | ||
| @@ -54,7 +55,7 @@ index c5614ea..b0d9034 100755 | |||
| 54 | 55 | ||
| 55 | return result | 56 | return result |
| 56 | 57 | ||
| 57 | @@ -495,12 +500,13 @@ while 1: | 58 | @@ -498,12 +503,13 @@ while 1: |
| 58 | and re.search("^ps_", str(symbol))) | 59 | and re.search("^ps_", str(symbol))) |
| 59 | and not (re.search("ld-linux.so.3$", str(symbol))) | 60 | and not (re.search("ld-linux.so.3$", str(symbol))) |
| 60 | and not (re.search("^__gnu_local_gp", str(symbol)))): | 61 | and not (re.search("^__gnu_local_gp", str(symbol)))): |
| @@ -68,8 +69,8 @@ index c5614ea..b0d9034 100755 | |||
| 68 | + present_symbol_progs = {} | 69 | + present_symbol_progs = {} |
| 69 | checked_libs = small_libs | 70 | checked_libs = small_libs |
| 70 | checked_libs.extend(available_libs) | 71 | checked_libs.extend(available_libs) |
| 71 | checked_libs.append(ldlib) | 72 | checked_libs.append(sysroot + ldlib) |
| 72 | @@ -510,6 +516,12 @@ while 1: | 73 | @@ -513,6 +519,12 @@ while 1: |
| 73 | names = symbol.base_names() | 74 | names = symbol.base_names() |
| 74 | for name in names: | 75 | for name in names: |
| 75 | present_symbols[name] = symbol | 76 | present_symbols[name] = symbol |
| @@ -82,7 +83,7 @@ index c5614ea..b0d9034 100755 | |||
| 82 | 83 | ||
| 83 | # are we finished? | 84 | # are we finished? |
| 84 | num_unresolved = 0 | 85 | num_unresolved = 0 |
| 85 | @@ -565,6 +577,14 @@ while 1: | 86 | @@ -568,6 +580,14 @@ while 1: |
| 86 | for name in needed_symbols: | 87 | for name in needed_symbols: |
| 87 | if not name in symbol_provider: | 88 | if not name in symbol_provider: |
| 88 | if not needed_symbols[name].weak: | 89 | if not needed_symbols[name].weak: |
| @@ -98,5 +99,5 @@ index c5614ea..b0d9034 100755 | |||
| 98 | else: | 99 | else: |
| 99 | lib = symbol_provider[name] | 100 | lib = symbol_provider[name] |
| 100 | -- | 101 | -- |
| 101 | 1.8.5.2.233.g932f7e4 | 102 | 2.16.1 |
| 102 | 103 | ||
