* write.c (write_object_file): Reset broken word state before

calling relax_seg.
This commit is contained in:
Hans-Peter Nilsson 2001-04-04 03:05:47 +00:00
parent d969735448
commit aacb52510a
2 changed files with 25 additions and 0 deletions

View File

@ -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

View File

@ -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)