* 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>
|
Fri Feb 28 14:40:00 1997 Ian Lance Taylor <ian@cygnus.com>
|
||||||
|
|
||||||
* write.h (LOCAL_LABEL): Only define if not BFD_ASSEMBLER.
|
* write.h (LOCAL_LABEL): Only define if not BFD_ASSEMBLER.
|
||||||
|
|
|
@ -9787,12 +9787,16 @@ mips16_extended_frag (fragp, sec, stretch)
|
||||||
{
|
{
|
||||||
fragS *f;
|
fragS *f;
|
||||||
|
|
||||||
/* Adjust stretch for any alignment frag. FIXME: This
|
/* Adjust stretch for any alignment frag. Note that if have
|
||||||
doesn't handle the fr_subtype field, which specifies a
|
been expanding the earlier code, the symbol may be
|
||||||
maximum number of bytes to skip when doing an alignment. */
|
defined in what appears to be an earlier frag. FIXME:
|
||||||
for (f = fragp; f != fragp->fr_symbol->sy_frag; f = f->fr_next)
|
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 (f->fr_type == rs_align || f->fr_type == rs_align_code)
|
||||||
{
|
{
|
||||||
if (stretch < 0)
|
if (stretch < 0)
|
||||||
|
@ -9804,7 +9808,8 @@ mips16_extended_frag (fragp, sec, stretch)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
val += stretch;
|
if (f != NULL)
|
||||||
|
val += stretch;
|
||||||
}
|
}
|
||||||
|
|
||||||
addr = fragp->fr_address + fragp->fr_fix;
|
addr = fragp->fr_address + fragp->fr_fix;
|
||||||
|
|
Loading…
Reference in a new issue