RISC-V: PR28291, Fix the gdb fails that PR27916 caused.

* According to PR28291, we get the following unexpected gdb behavior,

(gdb) disassemble 0x0,+4
Dump of assembler code from 0x0 to 0x4:
   0x0000000000000000:
   0x0000000000000001:
   0x0000000000000002:
   0x0000000000000003:
End of assembler dump.

* This patch should fix it to the right behavior,

(gdb) disassemble 0x0,+4
Dump of assembler code from 0x0 to 0x4:
   0x0000000000000000:  Cannot access memory at address 0x0

opcodes/
    pr 28291
    * riscv-dis.c (print_insn_riscv): Return STATUS if it is not zero.
This commit is contained in:
Nelson Chu
2021-08-30 23:20:45 +08:00
parent 282aa4f7d2
commit 685bb4e84b

View File

@ -793,7 +793,7 @@ print_insn_riscv (bfd_vma memaddr, struct disassemble_info *info)
if (status != 0)
{
(*info->memory_error_func) (status, memaddr, info);
return 1;
return status;
}
insn = (insn_t) bfd_getl16 (packet);
dump_size = riscv_insn_length (insn);
@ -805,7 +805,7 @@ print_insn_riscv (bfd_vma memaddr, struct disassemble_info *info)
if (status != 0)
{
(*info->memory_error_func) (status, memaddr, info);
return 1;
return status;
}
insn = (insn_t) bfd_get_bits (packet, dump_size * 8, false);