RISC-V: Fix disassemble fetch fail return value.
authorJiawei <jiawei@iscas.ac.cn>
Mon, 20 Mar 2023 03:34:44 +0000 (11:34 +0800)
committerNelson Chu <nelson@rivosinc.com>
Tue, 21 Mar 2023 09:47:47 +0000 (17:47 +0800)
This bug reported in
https://sourceware.org/bugzilla/show_bug.cgi?id=30184
And discussed in
https://sourceware.org/pipermail/binutils/2023-February/126213.html

We also checked the implementation of return value in arm and mips.
So this patch changes the return value to -1, that can fix bugs and maintain
consistency with other architectures.

opcodes/ChangeLog:

        * riscv-dis.c (print_insn_riscv):Change the return value.

opcodes/riscv-dis.c

index 7baba054daabb9960a646fb4ebc2d6cd67585670..f431124b423b1ae8c616b2f5ce8909e8044a76e6 100644 (file)
@@ -1059,7 +1059,7 @@ print_insn_riscv (bfd_vma memaddr, struct disassemble_info *info)
       if (status != 0)
        {
          (*info->memory_error_func) (status, memaddr, info);
-         return status;
+         return -1;
        }
       insn = (insn_t) bfd_getl16 (packet);
       dump_size = riscv_insn_length (insn);
@@ -1071,7 +1071,7 @@ print_insn_riscv (bfd_vma memaddr, struct disassemble_info *info)
   if (status != 0)
     {
       (*info->memory_error_func) (status, memaddr, info);
-      return status;
+      return -1;
     }
   insn = (insn_t) bfd_get_bits (packet, dump_size * 8, false);