summaryrefslogtreecommitdiff
path: root/ld/ldexp.h
diff options
context:
space:
mode:
authorAlan Modra <amodra@bigpond.net.au>2010-12-20 06:27:09 +0000
committerAlan Modra <amodra@bigpond.net.au>2010-12-20 06:27:09 +0000
commite347ef3b343fc42ed312d5125047d59ae15df795 (patch)
tree8721e52417d01b5668a716d1333be09ece9ec6f5 /ld/ldexp.h
parenta36203782a1b5ab97b18787a7487b8e5b29a8b1d (diff)
downloadbinutils-redhat-e347ef3b343fc42ed312d5125047d59ae15df795.tar.gz
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 a15f64a79c..ac73bd1167 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