diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 3f3d2ebc0a9..945549248fb 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2015-05-27 Yao Qi + + * aarch64-tdep.c (aarch64_record_data_proc_simd_fp): Return + AARCH64_RECORD_UNKNOWN for unknown instruction encoding. + 2015-05-27 Yao Qi * aarch64-tdep.c (aarch64_record_branch_except_sys): Split lines diff --git a/gdb/aarch64-tdep.c b/gdb/aarch64-tdep.c index 8f1c7ef1dd2..9650a7a0cd7 100644 --- a/gdb/aarch64-tdep.c +++ b/gdb/aarch64-tdep.c @@ -3592,7 +3592,7 @@ aarch64_record_data_proc_simd_fp (insn_decode_record *aarch64_insn_r) record_buf[0] = AARCH64_CPSR_REGNUM; } /* Floating point - integer conversions instructions. */ - if (insn_bits12_15 == 0x00) + else if (insn_bits12_15 == 0x00) { /* Convert float to integer instruction. */ if (!(opcode >> 1) || ((opcode >> 1) == 0x02 && !rmode)) @@ -3621,8 +3621,14 @@ aarch64_record_data_proc_simd_fp (insn_decode_record *aarch64_insn_r) else record_buf[0] = reg_rd + AARCH64_V0_REGNUM; } + else + return AARCH64_RECORD_UNKNOWN; } + else + return AARCH64_RECORD_UNKNOWN; } + else + return AARCH64_RECORD_UNKNOWN; } else if ((insn_bits28_31 & 0x09) == 0x00 && insn_bits24_27 == 0x0e) {