diff options
Diffstat (limited to 'meta-microblaze/recipes-devtools/binutils/binutils/0021-Revert-ld-Remove-unused-expression-state.patch')
-rw-r--r-- | meta-microblaze/recipes-devtools/binutils/binutils/0021-Revert-ld-Remove-unused-expression-state.patch | 82 |
1 files changed, 82 insertions, 0 deletions
diff --git a/meta-microblaze/recipes-devtools/binutils/binutils/0021-Revert-ld-Remove-unused-expression-state.patch b/meta-microblaze/recipes-devtools/binutils/binutils/0021-Revert-ld-Remove-unused-expression-state.patch new file mode 100644 index 00000000..ab7f2077 --- /dev/null +++ b/meta-microblaze/recipes-devtools/binutils/binutils/0021-Revert-ld-Remove-unused-expression-state.patch | |||
@@ -0,0 +1,82 @@ | |||
1 | From 6238123cdc680941f3b3a253cca5be06d5c81492 Mon Sep 17 00:00:00 2001 | ||
2 | From: Mahesh Bodapati <mbodapat@xilinx.com> | ||
3 | Date: Wed, 27 Feb 2019 15:12:32 +0530 | ||
4 | Subject: [PATCH 21/34] Revert "ld: Remove unused expression state" --defsym | ||
5 | symbol=expression Create a global symbol in the output file, containing the | ||
6 | absolute address given by expression. | ||
7 | |||
8 | This reverts commit 65f14869fd3fbee8ed4c4ca49de8aaa86dbc66cb. | ||
9 | |||
10 | Conflicts: | ||
11 | ld/ChangeLog | ||
12 | |||
13 | Conflicts: | ||
14 | ld/ldexp.c | ||
15 | ld/ldexp.h | ||
16 | --- | ||
17 | ld/ldexp.c | 8 +++++--- | ||
18 | ld/ldexp.h | 1 + | ||
19 | 2 files changed, 6 insertions(+), 3 deletions(-) | ||
20 | |||
21 | diff --git a/ld/ldexp.c b/ld/ldexp.c | ||
22 | index d4d8706968d..b7f4361129f 100644 | ||
23 | --- a/ld/ldexp.c | ||
24 | +++ b/ld/ldexp.c | ||
25 | @@ -1380,6 +1380,7 @@ static etree_type * | ||
26 | exp_assop (const char *dst, | ||
27 | etree_type *src, | ||
28 | enum node_tree_enum class, | ||
29 | + bool defsym, | ||
30 | bool hidden) | ||
31 | { | ||
32 | etree_type *n; | ||
33 | @@ -1391,6 +1392,7 @@ exp_assop (const char *dst, | ||
34 | n->assign.type.node_class = class; | ||
35 | n->assign.src = src; | ||
36 | n->assign.dst = dst; | ||
37 | + n->assign.defsym = defsym; | ||
38 | n->assign.hidden = hidden; | ||
39 | return n; | ||
40 | } | ||
41 | @@ -1400,7 +1402,7 @@ exp_assop (const char *dst, | ||
42 | etree_type * | ||
43 | exp_assign (const char *dst, etree_type *src, bool hidden) | ||
44 | { | ||
45 | - return exp_assop (dst, src, etree_assign, hidden); | ||
46 | + return exp_assop (dst, src, etree_assign, false, hidden); | ||
47 | } | ||
48 | |||
49 | /* Handle --defsym command-line option. */ | ||
50 | @@ -1408,7 +1410,7 @@ exp_assign (const char *dst, etree_type *src, bool hidden) | ||
51 | etree_type * | ||
52 | exp_defsym (const char *dst, etree_type *src) | ||
53 | { | ||
54 | - return exp_assop (dst, src, etree_assign, false); | ||
55 | + return exp_assop (dst, src, etree_assign, true, false); | ||
56 | } | ||
57 | |||
58 | /* Handle PROVIDE. */ | ||
59 | @@ -1416,7 +1418,7 @@ exp_defsym (const char *dst, etree_type *src) | ||
60 | etree_type * | ||
61 | exp_provide (const char *dst, etree_type *src, bool hidden) | ||
62 | { | ||
63 | - return exp_assop (dst, src, etree_provide, hidden); | ||
64 | + return exp_assop (dst, src, etree_provide, false, hidden); | ||
65 | } | ||
66 | |||
67 | /* Handle ASSERT. */ | ||
68 | diff --git a/ld/ldexp.h b/ld/ldexp.h | ||
69 | index ed6fb8be715..e838b736306 100644 | ||
70 | --- a/ld/ldexp.h | ||
71 | +++ b/ld/ldexp.h | ||
72 | @@ -66,6 +66,7 @@ typedef union etree_union { | ||
73 | node_type type; | ||
74 | const char *dst; | ||
75 | union etree_union *src; | ||
76 | + bool defsym; | ||
77 | bool hidden; | ||
78 | } assign; | ||
79 | struct { | ||
80 | -- | ||
81 | 2.37.1 (Apple Git-137.1) | ||
82 | |||