+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.
| ((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;
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 */
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");