1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
|
From a9bcbddf77662f8c12e83360809a697196a55281 Mon Sep 17 00:00:00 2001
From: Mahesh Bodapati <mbodapat@xilinx.com>
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 <mbodapat@xilinx.com>
Signed-off-by: Nagaraju Mekala <nagaraju.mekala@xilinx.com>
---
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 <andrew.burgess@embecosm.com>
- * 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 <andrew.burgess@embecosm.com>
-
* 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
|