From e965b2d3b736dd33806887ee2a824b21ade6f270 Mon Sep 17 00:00:00 2001 From: hjl Date: Sat, 9 Jun 2001 05:01:28 +0000 Subject: [PATCH] 2001-06-08 H.J. Lu * config/tc-mips.c (mips_ip): Properly handle illegal operands. --- gas/ChangeLog | 4 ++++ gas/config/tc-mips.c | 21 +++++++++++++++------ 2 files changed, 19 insertions(+), 6 deletions(-) diff --git a/gas/ChangeLog b/gas/ChangeLog index 5247678e99..ae2cd9c550 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,5 +1,9 @@ 2001-06-08 H.J. Lu + * config/tc-mips.c (mips_ip): Properly handle illegal operands. + +2001-06-08 H.J. Lu + * config/tc-mips.c (md_apply_fix): Don't adjust common extern/weak symbols for ELF. (md_estimate_size_before_relax): Treat weak like extern for diff --git a/gas/config/tc-mips.c b/gas/config/tc-mips.c index 6ffe65bc9d..b61d01c4d9 100644 --- a/gas/config/tc-mips.c +++ b/gas/config/tc-mips.c @@ -7098,19 +7098,25 @@ mips_ip (str, ip) } else { - static char buf[100]; - sprintf (buf, - _("opcode not supported on this processor: %s (%s)"), - mips_cpu_to_str (mips_cpu), - mips_isa_to_str (mips_opts.isa)); + if (!insn_error) + { + static char buf[100]; + sprintf (buf, + _("opcode not supported on this processor: %s (%s)"), + mips_cpu_to_str (mips_cpu), + mips_isa_to_str (mips_opts.isa)); - insn_error = buf; + insn_error = buf; + } + if (save_c) + *(--s) = save_c; return; } } ip->insn_mo = insn; ip->insn_opcode = insn->match; + insn_error = NULL; for (args = insn->args;; ++args) { if (*s == ' ') @@ -7951,8 +7957,11 @@ mips_ip (str, ip) { ++insn; s = argsStart; + insn_error = _("illegal operands"); continue; } + if (save_c) + *(--s) = save_c; insn_error = _("illegal operands"); return; } -- 2.11.0