summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/mklibs
diff options
context:
space:
mode:
authorAlexander Kanavin <alexander.kanavin@linux.intel.com>2018-03-09 20:56:14 +0200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2018-03-11 06:27:01 -0700
commit52b6a85533f457a308a7e432a0d7af3d98fb55e5 (patch)
tree0dce5cb34d644f92fd0265a278c2d172a67a355e /meta/recipes-devtools/mklibs
parent5e9bd5887441933c283156c16c3d2b28511a7088 (diff)
downloadpoky-52b6a85533f457a308a7e432a0d7af3d98fb55e5.tar.gz
mklibs-native: refresh patches
The patch tool will apply patches by default with "fuzz", which is where if the hunk context isn't present but what is there is close enough, it will force the patch in. Whilst this is useful when there's just whitespace changes, when applied to source it is possible for a patch applied with fuzz to produce broken code which still compiles (see #10450). This is obviously bad. We'd like to eventually have do_patch() rejecting any fuzz on these grounds. For that to be realistic the existing patches with fuzz need to be rebased and reviewed. (From OE-Core rev: 7b1dfc0f67905435906ae806987e945134311045) Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-devtools/mklibs')
-rw-r--r--meta/recipes-devtools/mklibs/files/avoid-failure-on-symbol-provided-by-application.patch25
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 @@
1From f172101130604e4a9efa5746f4d8d30de99a0fdc Mon Sep 17 00:00:00 2001 1From dcb45256970b15b672d0004533826c94083356e5 Mon Sep 17 00:00:00 2001
2From: Yuanjie Huang <yuanjie.huang@windriver.com> 2From: Yuanjie Huang <yuanjie.huang@windriver.com>
3Date: Fri, 17 Apr 2015 14:48:20 +0800 3Date: Fri, 17 Apr 2015 14:48:20 +0800
4Subject: [PATCH] avoid failure on symbol provided by application 4Subject: [PATCH 4/6] avoid failure on symbol provided by application
5 5
6Upstream-Status: Pending 6Upstream-Status: Pending
7 7
@@ -13,12 +13,13 @@ cannot be provided by libraries. It prevents false alarm on absence
13of symbols. 13of symbols.
14 14
15Signed-off-by: Yuanjie Huang <yuanjie.huang@windriver.com> 15Signed-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
20diff --git a/src/mklibs b/src/mklibs 21diff --git a/src/mklibs b/src/mklibs
21index c5614ea..b0d9034 100755 22index 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--
1011.8.5.2.233.g932f7e4 1022.16.1
102 103