* config/tc-mips.c (append_insn): Handle BFD_RELOC_MIPS16_S3.
(mips_ip): Handle 'O' operand. (md_apply_fix): Handle BFD_RELOC_MIPS16_S3.
This commit is contained in:
parent
721232f36c
commit
0bc0e337fc
2 changed files with 23 additions and 0 deletions
|
@ -1,3 +1,11 @@
|
|||
start-sanitize-r5900
|
||||
Sun Mar 22 13:21:01 1998 Jeffrey A Law (law@cygnus.com)
|
||||
|
||||
* config/tc-mips.c (append_insn): Handle BFD_RELOC_MIPS16_S3.
|
||||
(mips_ip): Handle 'O' operand.
|
||||
(md_apply_fix): Handle BFD_RELOC_MIPS16_S3.
|
||||
|
||||
end-sanitize-r5900
|
||||
Fri Mar 20 19:15:44 1998 Ian Lance Taylor <ian@cygnus.com>
|
||||
|
||||
* aclocal.m4, configure: Rebuild with libtool 1.2.
|
||||
|
|
|
@ -1794,6 +1794,12 @@ append_insn (place, ip, address_expr, reloc_type, unmatched_hi)
|
|||
| ((address_expr->X_add_number & 0x3fffc) >> 2));
|
||||
break;
|
||||
|
||||
/* start-sanitize-r5900
|
||||
case BFD_RELOC_MIPS15_S3:
|
||||
ip->insn_opcode |= ((imm_expr.X_add_number & 0x7fff) >> 3) << 6;
|
||||
break;
|
||||
/* end-sanitize-r5900
|
||||
|
||||
case BFD_RELOC_16_PCREL_S2:
|
||||
goto need_reloc;
|
||||
|
||||
|
@ -7309,6 +7315,12 @@ mips_ip (str, ip)
|
|||
else
|
||||
insn_error = "operand `ACC' expected";
|
||||
continue;
|
||||
|
||||
case 'O':
|
||||
my_getSmallExpression (&imm_expr, s);
|
||||
imm_reloc = BFD_RELOC_MIPS15_S3;
|
||||
s = expr_end;
|
||||
continue;
|
||||
/* end-sanitize-r5900 */
|
||||
|
||||
case 'k': /* cache code */
|
||||
|
@ -9786,6 +9798,9 @@ md_apply_fix (fixP, valueP)
|
|||
case BFD_RELOC_MIPS_CALL_HI16:
|
||||
case BFD_RELOC_MIPS_CALL_LO16:
|
||||
case BFD_RELOC_MIPS16_GPREL:
|
||||
/* start-sanitize-r5900 */
|
||||
case BFD_RELOC_MIPS15_S3:
|
||||
/* end-sanitize-r5900 */
|
||||
if (fixP->fx_pcrel)
|
||||
as_bad_where (fixP->fx_file, fixP->fx_line,
|
||||
"Invalid PC relative reloc");
|
||||
|
|
Loading…
Reference in a new issue