forked from Imagelibrary/binutils-gdb
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:
@@ -793,7 +793,7 @@ print_insn_riscv (bfd_vma memaddr, struct disassemble_info *info)
|
|||||||
if (status != 0)
|
if (status != 0)
|
||||||
{
|
{
|
||||||
(*info->memory_error_func) (status, memaddr, info);
|
(*info->memory_error_func) (status, memaddr, info);
|
||||||
return 1;
|
return status;
|
||||||
}
|
}
|
||||||
insn = (insn_t) bfd_getl16 (packet);
|
insn = (insn_t) bfd_getl16 (packet);
|
||||||
dump_size = riscv_insn_length (insn);
|
dump_size = riscv_insn_length (insn);
|
||||||
@@ -805,7 +805,7 @@ print_insn_riscv (bfd_vma memaddr, struct disassemble_info *info)
|
|||||||
if (status != 0)
|
if (status != 0)
|
||||||
{
|
{
|
||||||
(*info->memory_error_func) (status, memaddr, info);
|
(*info->memory_error_func) (status, memaddr, info);
|
||||||
return 1;
|
return status;
|
||||||
}
|
}
|
||||||
insn = (insn_t) bfd_get_bits (packet, dump_size * 8, false);
|
insn = (insn_t) bfd_get_bits (packet, dump_size * 8, false);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user