https://sourceware.org/bugzilla/show_bug.cgi?id=30184
            Bug ID: 30184
           Summary: [RISCV] print_insn_riscv() should return -1 after
                    memory error
           Product: binutils
           Version: unspecified
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: binutils
          Assignee: unassigned at sourceware dot org
          Reporter: yunyao....@alibaba-inc.com
  Target Milestone: ---

In the RISC-V backend of Binutils, if `read_memory_func` returns a `status`, a
non-zero value, after calling `memory_error_func` we will use the `status`
variable as the final return value [1], which is different from other platforms
that use a `-1` as return value [2] [3] [4] [5].

This causes one issue in OpenJDK [6]. We hope this could get fixed so that we
can drop the workaround fix.

This issue has also been discussed in the mailing list [7].

[1]
https://github.com/bminor/binutils-gdb/blob/binutils-2_38-branch/opcodes/riscv-dis.c#L940
[2]
https://github.com/bminor/binutils-gdb/blob/binutils-2_38-branch/opcodes/aarch64-dis.c#L3792
[3]
https://github.com/bminor/binutils-gdb/blob/binutils-2_38-branch/opcodes/ppc-dis.c#L872
[4]
https://github.com/bminor/binutils-gdb/blob/binutils-2_38-branch/opcodes/s390-dis.c#L305
[5]
https://github.com/bminor/binutils-gdb/blob/binutils-2_38-branch/opcodes/i386-dis.c#L9466
[6] https://github.com/openjdk/jdk/pull/12551
[7] https://sourceware.org/pipermail/binutils/2023-February/126188.html

-- 
You are receiving this mail because:
You are on the CC list for the bug.

Reply via email to