Sun Mar 23 18:03:31 1997 Martin M. Hunt <hunt@pizza.cygnus.com>

* tc-d30v.c (build_insn): Enable range-checking code.
	(postfix): Stop at space or comma. Fixes PR 11862.
	(md_assemble): Change error message.
This commit is contained in:
Martin Hunt 1997-03-24 02:27:09 +00:00
parent 9c9e75bf03
commit 2c268a8551

View File

@ -303,7 +303,7 @@ static int postfix (p)
{ {
while (*p != '-' && *p != '+') while (*p != '-' && *p != '+')
{ {
if (*p==0 || *p=='\n' || *p=='\r') if (*p==0 || *p=='\n' || *p=='\r' || *p==' ' || *p==',')
break; break;
p++; p++;
} }
@ -516,11 +516,10 @@ build_insn (opcode, opers)
} }
/* truncate to the proper number of bits */ /* truncate to the proper number of bits */
/* if ((opers[i].X_op == O_constant) && check_range (number, bits, flags))
if ((opers[i].X_op == O_constant) && check_range (number, bits, flags))
as_bad("operand out of range: %d",number); as_bad("operand out of range: %d",number);
if (bits < 31)
number &= 0x7FFFFFFF >> (31 - bits); number &= 0x7FFFFFFF >> (31 - bits);
*/
if (bits == 32) if (bits == 32)
{ {
@ -864,7 +863,7 @@ md_assemble (str)
/* assemble first instruction and save it */ /* assemble first instruction and save it */
prev_insn = do_assemble (str, &prev_opcode); prev_insn = do_assemble (str, &prev_opcode);
if (prev_insn == -1) if (prev_insn == -1)
as_fatal ("can't find opcode "); as_fatal ("cannot assemble instruction ");
fixups = fixups->next; fixups = fixups->next;
str = str2 + 2; str = str2 + 2;
} }
@ -878,7 +877,7 @@ md_assemble (str)
etype = extype; etype = extype;
return; return;
} }
as_fatal ("can't find opcode "); as_fatal ("cannot assemble instruction ");
} }
if (etype) if (etype)
@ -1142,7 +1141,7 @@ tc_gen_reloc (seg, fixp)
fixS *fixp; fixS *fixp;
{ {
arelent *reloc; arelent *reloc;
reloc = (arelent *) bfd_alloc_by_size_t (stdoutput, sizeof (arelent)); reloc = (arelent *) xmalloc (sizeof (arelent));
reloc->sym_ptr_ptr = &fixp->fx_addsy->bsym; reloc->sym_ptr_ptr = &fixp->fx_addsy->bsym;
reloc->address = fixp->fx_frag->fr_address + fixp->fx_where; reloc->address = fixp->fx_frag->fr_address + fixp->fx_where;
reloc->howto = bfd_reloc_type_lookup (stdoutput, fixp->fx_r_type); reloc->howto = bfd_reloc_type_lookup (stdoutput, fixp->fx_r_type);