* config/tc-v850.c (md_convert_frag): Make sure we insert the

fixup at the right address within the frag.
This commit is contained in:
Jeff Law 1996-10-29 20:07:13 +00:00
parent bc49fab8ea
commit 2385d90a81
2 changed files with 8 additions and 5 deletions

View File

@ -1,6 +1,9 @@
start-sanitize-v850
Tue Oct 29 12:28:16 1996 Jeffrey A Law (law@cygnus.com)
* config/tc-v850.c (md_convert_frag): Make sure we insert the
fixup at the right address within the frag.
* config/tc-v850.c (md_convert_frag): Don't set fragP->fr_fix
to an absolute value, instead increment it as needed.

View File

@ -425,15 +425,13 @@ md_convert_frag (abfd, sec, fragP)
subseg_change (sec, 0);
if (fragP->fr_subtype == 0)
{
fix_new (fragP, fragP->fr_fix, 2, fragP->fr_symbol,
fragP->fr_offset, 1, BFD_RELOC_UNUSED + (int)fragP->fr_opcode);
fragP->fr_var = 0;
fragP->fr_fix += 2;
fix_new (fragP, 0, 2, fragP->fr_symbol,
fragP->fr_offset, 1, BFD_RELOC_UNUSED + (int)fragP->fr_opcode);
}
else if (fragP->fr_subtype == 1)
{
fragP->fr_var = 0;
fragP->fr_fix += 6;
/* Reverse the condition of the first branch. */
fragP->fr_literal[0] &= 0xf7;
/* Mask off all the displacement bits. */
@ -446,8 +444,10 @@ md_convert_frag (abfd, sec, fragP)
/* Now create the unconditional branch + fixup to the final
target. */
md_number_to_chars (&fragP->fr_literal[2], 0x00000780, 4);
fix_new (fragP, 2, 4, fragP->fr_symbol,
fix_new (fragP, fragP->fr_fix + 2, 4, fragP->fr_symbol,
fragP->fr_offset, 1, BFD_RELOC_UNUSED + (int)fragP->fr_opcode + 1);
fragP->fr_var = 0;
fragP->fr_fix += 6;
}
else
abort ();