diff options
author | Alexander Kanavin <alexander.kanavin@linux.intel.com> | 2018-03-09 20:56:14 +0200 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2018-03-11 06:27:01 -0700 |
commit | 52b6a85533f457a308a7e432a0d7af3d98fb55e5 (patch) | |
tree | 0dce5cb34d644f92fd0265a278c2d172a67a355e /meta/recipes-devtools/mklibs/files/avoid-failure-on-symbol-provided-by-application.patch | |
parent | 5e9bd5887441933c283156c16c3d2b28511a7088 (diff) | |
download | poky-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/files/avoid-failure-on-symbol-provided-by-application.patch')
-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 | ||