summaryrefslogtreecommitdiffstats
path: root/contrib/binutils/gas/config/obj-ieee.c
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/binutils/gas/config/obj-ieee.c')
-rw-r--r--contrib/binutils/gas/config/obj-ieee.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/contrib/binutils/gas/config/obj-ieee.c b/contrib/binutils/gas/config/obj-ieee.c
index 521a0d7..505bb35 100644
--- a/contrib/binutils/gas/config/obj-ieee.c
+++ b/contrib/binutils/gas/config/obj-ieee.c
@@ -292,7 +292,7 @@ do_symbols (abfd)
{
ptr->sy_symbol.sy.section =
(asection *) (segment_info[ptr->sy_symbol.seg].user_stuff);
- S_SET_VALUE (ptr, S_GET_VALUE (ptr) + ptr->sy_frag->fr_address);
+ S_SET_VALUE (ptr, S_GET_VALUE (ptr));
if (ptr->sy_symbol.sy.flags == 0)
ptr->sy_symbol.sy.flags = BSF_LOCAL;
}
@@ -558,6 +558,9 @@ write_object_file ()
for (i = SEG_E0; i < SEG_UNKNOWN; i++)
relax_segment (segment_info[i].frag_root, i);
+ /* Relaxation has completed. Freeze all syms. */
+ finalize_syms = 1;
+
/* Now the addresses of the frags are correct within the segment. */
bfd_as_write_hook ();
OpenPOWER on IntegriCloud