aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gas/ChangeLog6
-rw-r--r--gas/config/obj-coff.c5
-rw-r--r--gas/config/obj-ieee.c3
3 files changed, 12 insertions, 2 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index b7e762f..8bcc652 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,5 +1,11 @@
2001-05-25 Alan Modra <amodra@one.net.au>
+ * config/obj-ieee.c (write_object_file): Set finalize_syms.
+ * config/obj-coff.c (write_object_file): Likewise.
+ * (size_section): Remove rs_space assert as fr_symbol is no longer
+ removed.
+ (fill_section): Likewise.
+
* configure.in: Replace linuxoldld with linux*oldld.
* configure: Regenerate.
diff --git a/gas/config/obj-coff.c b/gas/config/obj-coff.c
index da07960..84706cf 100644
--- a/gas/config/obj-coff.c
+++ b/gas/config/obj-coff.c
@@ -1824,7 +1824,6 @@ size_section (abfd, idx)
break;
#endif
case rs_space:
- assert (frag->fr_symbol == 0);
case rs_fill:
case rs_org:
size += frag->fr_fix;
@@ -2138,7 +2137,6 @@ fill_section (abfd, h, file_cursor)
break;
case rs_space:
- assert (frag->fr_symbol == 0);
case rs_fill:
case rs_align:
case rs_align_code:
@@ -3473,6 +3471,9 @@ write_object_file ()
relax_segment (segment_info[i].frchainP->frch_root, i);
}
+ /* Relaxation has completed. Freeze all syms. */
+ finalize_syms = 1;
+
H_SET_NUMBER_OF_SECTIONS (&headers, 0);
/* Find out how big the sections are, and set the addresses. */
diff --git a/gas/config/obj-ieee.c b/gas/config/obj-ieee.c
index 521a0d7..8c0e3f2 100644
--- a/gas/config/obj-ieee.c
+++ b/gas/config/obj-ieee.c
@@ -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 ();