diff options
Diffstat (limited to 'meta/recipes-devtools')
-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 | ||