aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJim Wilson <wilson@tuliptree.org>2001-02-06 03:49:29 +0000
committerJim Wilson <wilson@tuliptree.org>2001-02-06 03:49:29 +0000
commit3557da92098df83ddd2b11e519882ff4af3e01fb (patch)
tree32a496420b1ad98ae723268f8a4eb94e79693555
parentda6c73e0803ae9831f64aa81ffebcb8851208c39 (diff)
downloadgdb-3557da92098df83ddd2b11e519882ff4af3e01fb.zip
gdb-3557da92098df83ddd2b11e519882ff4af3e01fb.tar.gz
gdb-3557da92098df83ddd2b11e519882ff4af3e01fb.tar.bz2
Don't abort for invalid input, print an error message instead.
* config/tc-ia64.c (errata_nop_necessary_p): Return 0 instead of aborting for invalid operands.
-rw-r--r--gas/ChangeLog5
-rw-r--r--gas/config/tc-ia64.c9
2 files changed, 11 insertions, 3 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index c50ced7..0732f6a 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,8 @@
+2001-02-05 Jim Wilson <wilson@redhat.com>
+
+ * config/tc-ia64.c (errata_nop_necessary_p): Return 0 instead of
+ aborting for invalid operands.
+
2001-02-06 Alan Modra <alan@linuxcare.com.au>
* config/tc-hppa.c (fix_new_hppa): Pass in unwind directly rather
diff --git a/gas/config/tc-ia64.c b/gas/config/tc-ia64.c
index 4f761e2..b905095 100644
--- a/gas/config/tc-ia64.c
+++ b/gas/config/tc-ia64.c
@@ -5223,8 +5223,9 @@ errata_nop_necessary_p (slot, insn_unit)
|| idesc->operands[i] == IA64_OPND_P2)
{
int regno = slot->opnd[i].X_add_number - REG_P;
+ /* Ignore invalid operands; they generate errors elsewhere. */
if (regno >= 64)
- abort ();
+ return 0;
this_group->p_reg_set[regno] = 1;
}
}
@@ -5239,8 +5240,9 @@ errata_nop_necessary_p (slot, insn_unit)
|| idesc->operands[i] == IA64_OPND_R3)
{
int regno = slot->opnd[i].X_add_number - REG_GR;
+ /* Ignore invalid operands; they generate errors elsewhere. */
if (regno >= 128)
- abort ();
+ return 0;
if (strncmp (idesc->name, "add", 3) != 0
&& strncmp (idesc->name, "sub", 3) != 0
&& strncmp (idesc->name, "shladd", 6) != 0
@@ -5270,8 +5272,9 @@ errata_nop_necessary_p (slot, insn_unit)
|| idesc->operands[i] == IA64_OPND_MR3)
{
int regno = slot->opnd[i].X_add_number - REG_GR;
+ /* Ignore invalid operands; they generate errors elsewhere. */
if (regno >= 128)
- abort ();
+ return 0;
if (idesc->operands[i] == IA64_OPND_R3)
{
if (strcmp (idesc->name, "fc") != 0