From a9bcbddf77662f8c12e83360809a697196a55281 Mon Sep 17 00:00:00 2001 From: Mahesh Bodapati Date: Wed, 27 Feb 2019 15:12:32 +0530 Subject: [PATCH 28/31] Revert "ld: Remove unused expression state" This reverts commit 65f14869fd3fbee8ed4c4ca49de8aaa86dbc66cb. Signed-off-by: Mahesh Bodapati Signed-off-by: Nagaraju Mekala --- ld/ChangeLog | 9 --------- ld/ldexp.c | 8 +++++--- ld/ldexp.h | 1 + 3 files changed, 6 insertions(+), 12 deletions(-) diff --git a/ld/ChangeLog b/ld/ChangeLog index 4827678..ce3d2d5 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -2972,15 +2972,6 @@ 2018-01-11 Andrew Burgess - * ldexp.h (union etree_union): Remove defsym field. - * ldexp.c (exp_assop): Remove defsym parameter, and use of defsym - parameter. - (exp_assign): Remove passing of defsym parameter. - (exp_defsym): Likewise. - (exp_provide): Likewise. - -2018-01-11 Andrew Burgess - * ldexp.c (exp_fold_tree_1): Rework condition underwhich provide nodes are ignored in the tree walk, and move the location at which we change provide nodes into provided nodes. diff --git a/ld/ldexp.c b/ld/ldexp.c index d46a06f..a84bf63 100644 --- a/ld/ldexp.c +++ b/ld/ldexp.c @@ -1355,6 +1355,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; @@ -1366,6 +1367,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; } @@ -1375,7 +1377,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. */ @@ -1383,7 +1385,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. */ @@ -1391,7 +1393,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 d58cacb..572b703 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.7.4