aboutsummaryrefslogtreecommitdiff
path: root/ld/ldexp.h
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2010-12-20 06:27:11 +0000
committerAlan Modra <amodra@gmail.com>2010-12-20 06:27:11 +0000
commite759c116027e96bb72562d69ae49a86d6f271a3a (patch)
treee4af0a57dda551e1778c8a5bca14ac742142fdcd /ld/ldexp.h
parent544838827cd5c8da5c67c1617a50ae08ec7661ff (diff)
downloadgdb-e759c116027e96bb72562d69ae49a86d6f271a3a.zip
gdb-e759c116027e96bb72562d69ae49a86d6f271a3a.tar.gz
gdb-e759c116027e96bb72562d69ae49a86d6f271a3a.tar.bz2
PR ld/12001
Revert 2010-11-03 Nick Clifton * ldlang.c (ldlang_def_chain_list): Delete. (insert_defined, ldlang_add_def, lang_place_defineds): Delete. (lang_process): Don't call lang_place_defineds. (lang_add_assignment): Don't do anything special for --defsym. * ldexp.h (struct ldexp_control): Add uses_defined. (exp_fold_tree_no_dot): Declare. * ldexp.c (exp_fold_tree): Clear uses_defined. (exp_fold_tree_no_dot): Likewise. Make global. (fold_name <DEFINED>): Set uses_defined. (exp_fold_tree_1 <etree_assign>): Define symbol during first phase even when the value being assigned isn't valid. * ldlang.c (open_input_bfds): Process assignment statements. (lang_process): Bump lang_statement_iteration. (scan_for_self_assignment): Formatting. (print_assignment): Style. testsuite/ * ld-scripts/default-script2.d: Revert 2010-11-03 change.
Diffstat (limited to 'ld/ldexp.h')
-rw-r--r--ld/ldexp.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/ld/ldexp.h b/ld/ldexp.h
index a15f64a..ac73bd1 100644
--- a/ld/ldexp.h
+++ b/ld/ldexp.h
@@ -127,6 +127,7 @@ struct ldexp_control {
/* Working results. */
etree_value_type result;
bfd_vma dot;
+ bfd_boolean uses_defined;
/* Current dot and section passed to ldexp folder. */
bfd_vma *dotp;
@@ -173,6 +174,8 @@ etree_type *exp_relop
(asection *, bfd_vma);
void exp_fold_tree
(etree_type *, asection *, bfd_vma *);
+void exp_fold_tree_no_dot
+ (etree_type *);
etree_type *exp_binop
(int, etree_type *, etree_type *);
etree_type *exp_trinop