[binutils-gdb] Prevent an abort in the FRV disassembler if the target bfd name is unknown.
Nick Clifton
nickc@sourceware.org
Thu Jan 5 09:12:00 GMT 2017
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=0ae60c3ef45d41b34d40ed5c7b4fdfea289530de
commit 0ae60c3ef45d41b34d40ed5c7b4fdfea289530de
Author: Nick Clifton <nickc@redhat.com>
Date: Thu Jan 5 09:11:47 2017 +0000
Prevent an abort in the FRV disassembler if the target bfd name is unknown.
PR 20946
* frv-desc.c (lookup_mach_via_bfd_name): Return NULL if the name
could not be matched.
(frv_cgen_cpu_open): Allow for lookup_mach_via_bfd_name returning
NULL.
Diff:
---
opcodes/ChangeLog | 8 ++++++++
opcodes/frv-desc.c | 6 +++---
2 files changed, 11 insertions(+), 3 deletions(-)
diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog
index 555a379..8494c51 100644
--- a/opcodes/ChangeLog
+++ b/opcodes/ChangeLog
@@ -1,3 +1,11 @@
+2017-01-05 Nick Clifton <nickc@redhat.com>
+
+ PR 20946
+ * frv-desc.c (lookup_mach_via_bfd_name): Return NULL if the name
+ could not be matched.
+ (frv_cgen_cpu_open): Allow for lookup_mach_via_bfd_name returning
+ NULL.
+
2017-01-04 Szabolcs Nagy <szabolcs.nagy@arm.com>
* aarch64-tbl.h (RCPC, RCPC_INSN): Define.
diff --git a/opcodes/frv-desc.c b/opcodes/frv-desc.c
index ab4d7eb..bba510c 100644
--- a/opcodes/frv-desc.c
+++ b/opcodes/frv-desc.c
@@ -6173,7 +6173,7 @@ lookup_mach_via_bfd_name (const CGEN_MACH *table, const char *name)
return table;
++table;
}
- abort ();
+ return NULL;
}
/* Subroutine of frv_cgen_cpu_open to build the hardware table. */
@@ -6386,8 +6386,8 @@ frv_cgen_cpu_open (enum cgen_cpu_open_arg arg_type, ...)
const char *name = va_arg (ap, const char *);
const CGEN_MACH *mach =
lookup_mach_via_bfd_name (frv_cgen_mach_table, name);
-
- machs |= 1 << mach->num;
+ if (mach != NULL)
+ machs |= 1 << mach->num;
break;
}
case CGEN_CPU_OPEN_ENDIAN :
More information about the Binutils-cvs
mailing list