summaryrefslogtreecommitdiff
path: root/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0024-Revert-ld-Remove-unused-expression-state.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0024-Revert-ld-Remove-unused-expression-state.patch')
-rw-r--r--meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0024-Revert-ld-Remove-unused-expression-state.patch76
1 files changed, 76 insertions, 0 deletions
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0024-Revert-ld-Remove-unused-expression-state.patch b/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0024-Revert-ld-Remove-unused-expression-state.patch
new file mode 100644
index 000000000..9a8e799c6
--- /dev/null
+++ b/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0024-Revert-ld-Remove-unused-expression-state.patch
@@ -0,0 +1,76 @@
+From 7d26e7f32769e1a324a8dfd3bc3eaa2a5fbfe62a Mon Sep 17 00:00:00 2001
+From: Mahesh Bodapati <mbodapat@xilinx.com>
+Date: Wed, 27 Feb 2019 15:12:32 +0530
+Subject: [PATCH 24/40] Revert "ld: Remove unused expression state"
+
+This reverts commit 65f14869fd3fbee8ed4c4ca49de8aaa86dbc66cb.
+
+Conflicts:
+ ld/ChangeLog
+---
+ ld/ldexp.c | 8 +++++---
+ ld/ldexp.h | 1 +
+ 2 files changed, 6 insertions(+), 3 deletions(-)
+
+diff --git a/ld/ldexp.c b/ld/ldexp.c
+index b4e7c41209d..dd3b058110a 100644
+--- a/ld/ldexp.c
++++ b/ld/ldexp.c
+@@ -1360,6 +1360,7 @@ static etree_type *
+ exp_assop (const char *dst,
+ etree_type *src,
+ enum node_tree_enum class,
++ bfd_boolean defsym,
+ bfd_boolean hidden)
+ {
+ etree_type *n;
+@@ -1371,6 +1372,7 @@ exp_assop (const char *dst,
+ n->assign.type.node_class = class;
+ n->assign.src = src;
+ n->assign.dst = dst;
++ n->assign.defsym = defsym;
+ n->assign.hidden = hidden;
+ return n;
+ }
+@@ -1380,7 +1382,7 @@ exp_assop (const char *dst,
+ etree_type *
+ exp_assign (const char *dst, etree_type *src, bfd_boolean hidden)
+ {
+- return exp_assop (dst, src, etree_assign, hidden);
++ return exp_assop (dst, src, etree_assign, FALSE, hidden);
+ }
+
+ /* Handle --defsym command-line option. */
+@@ -1388,7 +1390,7 @@ exp_assign (const char *dst, etree_type *src, bfd_boolean hidden)
+ etree_type *
+ exp_defsym (const char *dst, etree_type *src)
+ {
+- return exp_assop (dst, src, etree_assign, FALSE);
++ return exp_assop (dst, src, etree_assign, TRUE, FALSE);
+ }
+
+ /* Handle PROVIDE. */
+@@ -1396,7 +1398,7 @@ exp_defsym (const char *dst, etree_type *src)
+ etree_type *
+ exp_provide (const char *dst, etree_type *src, bfd_boolean hidden)
+ {
+- return exp_assop (dst, src, etree_provide, hidden);
++ return exp_assop (dst, src, etree_provide, FALSE, hidden);
+ }
+
+ /* Handle ASSERT. */
+diff --git a/ld/ldexp.h b/ld/ldexp.h
+index 717e839bd41..852ac6c5889 100644
+--- a/ld/ldexp.h
++++ b/ld/ldexp.h
+@@ -66,6 +66,7 @@ typedef union etree_union {
+ node_type type;
+ const char *dst;
+ union etree_union *src;
++ bfd_boolean defsym;
+ bfd_boolean hidden;
+ } assign;
+ struct {
+--
+2.17.1
+