From: Nick Clifton Date: Thu, 5 Jan 2017 09:11:47 +0000 (+0000) Subject: Prevent an abort in the FRV disassembler if the target bfd name is unknown. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=0ae60c3ef45;p=binutils-gdb.git 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 --git a/opcodes/ChangeLog b/opcodes/ChangeLog index 555a37957be..8494c51e47a 100644 --- a/opcodes/ChangeLog +++ b/opcodes/ChangeLog @@ -1,3 +1,11 @@ +2017-01-05 Nick Clifton + + 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 * aarch64-tbl.h (RCPC, RCPC_INSN): Define. diff --git a/opcodes/frv-desc.c b/opcodes/frv-desc.c index ab4d7eb42bf..bba510c6e2f 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 :