diff options
author | Nick Clifton <nickc@redhat.com> | 2001-06-27 08:49:42 +0000 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2001-06-27 08:49:42 +0000 |
commit | f4cd33789dd390436faec6071541a4b6282d57dc (patch) | |
tree | bacc6c2ea7ef7916fa97098b16aaebc47764daa2 /gas/write.c | |
parent | f33968b56c937245931fe1eda9f9c1a19f1fe02d (diff) | |
download | binutils-redhat-f4cd33789dd390436faec6071541a4b6282d57dc.tar.gz |
Do not set finalize_syms until after the segments have been sized.
Some backends may still need to access the syms's frags in order to
adjust relaxed frags.
Diffstat (limited to 'gas/write.c')
-rw-r--r-- | gas/write.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/gas/write.c b/gas/write.c index 2beb1d7731..f17a6fa8e2 100644 --- a/gas/write.c +++ b/gas/write.c @@ -1574,15 +1574,18 @@ write_object_file () if (!changed) break; } - /* Relaxation has completed. Freeze all syms. */ - finalize_syms = 1; + /* Note - we do not set finalize_syms here because some targets + do not finish sizing all of their frags until after size_seg + has completed. */ bfd_map_over_sections (stdoutput, size_seg, (char *) 0); #else relax_and_size_all_segments (); - finalize_syms = 1; #endif /* BFD_ASSEMBLER */ + /* Relaxation has completed. Freeze all syms. */ + finalize_syms = 1; + #if defined (BFD_ASSEMBLER) && defined (OBJ_COFF) && defined (TE_GO32) /* Now that the segments have their final sizes, run through the sections and set their vma and lma. !BFD gas sets them, and BFD gas |