diff options
author | Hans-Peter Nilsson <hp@axis.com> | 2001-04-04 03:05:47 +0000 |
---|---|---|
committer | Hans-Peter Nilsson <hp@axis.com> | 2001-04-04 03:05:47 +0000 |
commit | aacb52510a2e29f5a4c3ebae082f9e99b24cf79f (patch) | |
tree | c8a83d5b2ca255aa26ac51731d0864c21999ef2f | |
parent | d9697354487c09683dd0b1265cf6f8b3fd523a71 (diff) | |
download | fsf-binutils-gdb-aacb52510a2e29f5a4c3ebae082f9e99b24cf79f.zip fsf-binutils-gdb-aacb52510a2e29f5a4c3ebae082f9e99b24cf79f.tar.gz fsf-binutils-gdb-aacb52510a2e29f5a4c3ebae082f9e99b24cf79f.tar.bz2 |
* write.c (write_object_file): Reset broken word state before
calling relax_seg.
-rw-r--r-- | gas/ChangeLog | 5 | ||||
-rw-r--r-- | gas/write.c | 20 |
2 files changed, 25 insertions, 0 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index 4d20134..64816e3 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,8 @@ +2001-04-04 Hans-Peter Nilsson <hp@axis.com> + + * write.c (write_object_file): Reset broken word state before + calling relax_seg. + 2001-03-31 Alan Modra <alan@linuxcare.com.au> * listing.c (listing_listing): Enable listing on EDICT_NOLIST_NEXT diff --git a/gas/write.c b/gas/write.c index ea4b082..1a2798b 100644 --- a/gas/write.c +++ b/gas/write.c @@ -1544,6 +1544,26 @@ write_object_file () { int changed; +#ifndef WORKING_DOT_WORD + /* We need to reset the markers in the broken word list and + associated frags between calls to relax_segment (via + relax_seg). Since the broken word list is global, we do it + once per round, rather than locally in relax_segment for each + segment. */ + struct broken_word *brokp; + + for (brokp = broken_words; + brokp != (struct broken_word *) NULL; + brokp = brokp->next_broken_word) + { + brokp->added = 0; + + if (brokp->dispfrag != (fragS *) NULL + && brokp->dispfrag->fr_type == rs_broken_word) + brokp->dispfrag->fr_subtype = 0; + } +#endif + changed = 0; bfd_map_over_sections (stdoutput, relax_seg, &changed); if (!changed) |