Fix error in expression evalutation in linker output maps.
authorNick Clifton <nickc@redhat.com>
Tue, 29 Jan 2019 11:20:02 +0000 (11:20 +0000)
committerNick Clifton <nickc@redhat.com>
Tue, 29 Jan 2019 11:20:02 +0000 (11:20 +0000)
commit12542b2a6da22f5ab2fd4043e8bded1444ed42ad
treef4e4db21d7b811ecf09b63348a597b0d9b2acd2f
parent5bbcb18fc7f83b649cca32d670a1891792fc7b79
Fix error in expression evalutation in linker output maps.

PR 24008
* ldexp.h (lang_phase_type): Add lang_fixed_phase_enum.
* ldexp.c (fold_name): Move expld.assign_name check later to
avoid an extra lookup.
(exp_fold_tree_1): When lang_fixed_phase_enum, don't change symbol
values, and don't clear expld.assign_name.
* ldlang.c (lang_map): Set expld.phase to lang_fixed_phase_enum.
(print_assignment): Resolve entire assignment expression.
Don't access symbol u.def unless symbol is defined.
ld/ChangeLog
ld/ldexp.c
ld/ldexp.h
ld/ldlang.c