X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=ld%2Fldexp.h;h=71395bc6c4696e959ffc26cf40e088642d00e2f4;hb=db178f47dd4c9d2882da42a8915018d1fb90ea17;hp=5ff0fa0a1fc6105fd0acacce62ecf82d968b3ec9;hpb=0f99513f2a52b7d73b94a1f77b8c6de9159b50d7;p=deliverable%2Fbinutils-gdb.git diff --git a/ld/ldexp.h b/ld/ldexp.h index 5ff0fa0a1f..71395bc6c4 100644 --- a/ld/ldexp.h +++ b/ld/ldexp.h @@ -1,5 +1,5 @@ /* ldexp.h - - Copyright (C) 1991-2017 Free Software Foundation, Inc. + Copyright (C) 1991-2019 Free Software Foundation, Inc. This file is part of the GNU Binutils. @@ -66,7 +66,6 @@ typedef union etree_union { node_type type; const char *dst; union etree_union *src; - bfd_boolean defsym; bfd_boolean hidden; } assign; struct { @@ -107,7 +106,9 @@ typedef enum /* During assignment of symbol values when relaxation in progress. */ lang_assigning_phase_enum, /* Final assignment of symbol values. */ - lang_final_phase_enum + lang_final_phase_enum, + /* Run after symbol values have been fixed, for lang_map. */ + lang_fixed_phase_enum } lang_phase_type; union lang_statement_union; @@ -163,6 +164,11 @@ struct ldexp_control { does the false branch of a trinary expression. */ const char *assign_name; + /* If evaluating an assignment, the source if it is an expression + referencing single etree_name NAME, or a trinary expression where + the true branch references a single etree_name NAME. */ + struct bfd_link_hash_entry *assign_src; + /* Working results. */ etree_value_type result; bfd_vma dot; @@ -225,8 +231,8 @@ void exp_print_tree (etree_type *); bfd_vma exp_get_vma (etree_type *, bfd_vma, char *); -int exp_get_value_int - (etree_type *, int, char *); +int exp_get_power + (etree_type *, char *); fill_type *exp_get_fill (etree_type *, fill_type *, char *); bfd_vma exp_get_abs_int