* config/tc-mips.c (mips16_extended_frag): Don't assume that we
can rely on the frag address to determine whether a frag is earlier or later.
This commit is contained in:
parent
847e232af6
commit
a941619c0b
2 changed files with 17 additions and 6 deletions
|
@ -1,3 +1,9 @@
|
|||
Sat Mar 1 01:04:04 1997 Ian Lance Taylor <ian@cygnus.com>
|
||||
|
||||
* config/tc-mips.c (mips16_extended_frag): Don't assume that we
|
||||
can rely on the frag address to determine whether a frag is
|
||||
earlier or later.
|
||||
|
||||
Fri Feb 28 14:40:00 1997 Ian Lance Taylor <ian@cygnus.com>
|
||||
|
||||
* write.h (LOCAL_LABEL): Only define if not BFD_ASSEMBLER.
|
||||
|
|
|
@ -9787,12 +9787,16 @@ mips16_extended_frag (fragp, sec, stretch)
|
|||
{
|
||||
fragS *f;
|
||||
|
||||
/* Adjust stretch for any alignment frag. FIXME: This
|
||||
doesn't handle the fr_subtype field, which specifies a
|
||||
maximum number of bytes to skip when doing an alignment. */
|
||||
for (f = fragp; f != fragp->fr_symbol->sy_frag; f = f->fr_next)
|
||||
/* Adjust stretch for any alignment frag. Note that if have
|
||||
been expanding the earlier code, the symbol may be
|
||||
defined in what appears to be an earlier frag. FIXME:
|
||||
This doesn't handle the fr_subtype field, which specifies
|
||||
a maximum number of bytes to skip when doing an
|
||||
alignment. */
|
||||
for (f = fragp;
|
||||
f != NULL && f != fragp->fr_symbol->sy_frag;
|
||||
f = f->fr_next)
|
||||
{
|
||||
assert (f != NULL);
|
||||
if (f->fr_type == rs_align || f->fr_type == rs_align_code)
|
||||
{
|
||||
if (stretch < 0)
|
||||
|
@ -9804,7 +9808,8 @@ mips16_extended_frag (fragp, sec, stretch)
|
|||
break;
|
||||
}
|
||||
}
|
||||
val += stretch;
|
||||
if (f != NULL)
|
||||
val += stretch;
|
||||
}
|
||||
|
||||
addr = fragp->fr_address + fragp->fr_fix;
|
||||
|
|
Loading…
Reference in a new issue