* config/tc-mips.c (macro)[M_LD_OB, M_SD_OB]: Use the offset

reloc supplied.
	(mips_ip)['o']: Initialise offset_reloc.
This commit is contained in:
Maciej W. Rozycki 2010-11-01 09:53:55 +00:00
parent 2209c8070c
commit 4614d8454f
2 changed files with 15 additions and 2 deletions

View File

@ -1,3 +1,9 @@
2010-11-01 Maciej W. Rozycki <macro@linux-mips.org>
* config/tc-mips.c (macro)[M_LD_OB, M_SD_OB]: Use the offset
reloc supplied.
(mips_ip)['o']: Initialise offset_reloc.
2010-10-29 Joseph Myers <joseph@codesourcery.com>
* doc/c-tic6x.texi (TIC6X Directives): Mention

View File

@ -7350,12 +7350,15 @@ macro (struct mips_cl_insn *ip)
case M_SD_OB:
s = HAVE_64BIT_GPRS ? "sd" : "sw";
sd_ob:
macro_build (&offset_expr, s, "t,o(b)", treg, BFD_RELOC_LO16, breg);
macro_build (&offset_expr, s, "t,o(b)", treg,
-1, offset_reloc[0], offset_reloc[1], offset_reloc[2],
breg);
if (!HAVE_64BIT_GPRS)
{
offset_expr.X_add_number += 4;
macro_build (&offset_expr, s, "t,o(b)", treg + 1,
BFD_RELOC_LO16, breg);
-1, offset_reloc[0], offset_reloc[1], offset_reloc[2],
breg);
}
break;
@ -9960,6 +9963,10 @@ do_msbd:
continue;
case 'o': /* 16 bit offset */
offset_reloc[0] = BFD_RELOC_LO16;
offset_reloc[1] = BFD_RELOC_UNUSED;
offset_reloc[2] = BFD_RELOC_UNUSED;
/* Check whether there is only a single bracketed expression
left. If so, it must be the base register and the
constant must be zero. */