guile disassembly hardcode TARGET_XFER_E_IO
authorPedro Alves <palves@redhat.com>
Tue, 17 Nov 2015 13:31:28 +0000 (13:31 +0000)
committerPedro Alves <palves@redhat.com>
Tue, 17 Nov 2015 13:31:28 +0000 (13:31 +0000)
Instead of adding a cast at the memory_error call, as needed for C++,
and have the reader understand the indirection, make it simple and
hardcode the generic memory error at the memory_error call site.

gdb/ChangeLog:
2015-11-17  Pedro Alves  <palves@redhat.com>

* guile/scm-disasm.c (gdbscm_disasm_read_memory): Return -1 on
error instead of TARGET_XFER_E_IO.
(gdbscm_disasm_memory_error): Always pass TARGET_XFER_E_IO to
memory_error.

gdb/ChangeLog
gdb/guile/scm-disasm.c

index 20a62c25f25c7a183d1e56b97f3fec4b87269cc5..43be20e786b081f1d74e6a327f3c74fc2cefe60b 100644 (file)
@@ -1,3 +1,10 @@
+2015-11-17  Pedro Alves  <palves@redhat.com>
+
+       * guile/scm-disasm.c (gdbscm_disasm_read_memory): Return -1 on
+       error instead of TARGET_XFER_E_IO.
+       (gdbscm_disasm_memory_error): Always pass TARGET_XFER_E_IO to
+       memory_error.
+
 2015-11-17  Dominik Vogt  <vogt@linux.vnet.ibm.com>
 
        * hppa-tdep.c (hppa_sign_extend, hppa_low_hppa_sign_extend)
index 78b38df2ba565b15b85d5b51e1427212c83a0343..c9e940d617f4330b5d5342df7d6f7670a7b82939 100644 (file)
@@ -119,9 +119,8 @@ gdbscm_disasm_read_memory (bfd_vma memaddr, bfd_byte *myaddr,
   status = gdbscm_with_guile (gdbscm_disasm_read_memory_worker, &data);
 
   /* TODO: IWBN to distinguish problems reading target memory versus problems
-     with the port (e.g., EOF).
-     We return TARGET_XFER_E_IO here as that's what memory_error looks for.  */
-  return status != NULL ? TARGET_XFER_E_IO : 0;
+     with the port (e.g., EOF).  */
+  return status != NULL ? -1 : 0;
 }
 
 /* disassemble_info.memory_error_func for gdbscm_print_insn_from_port.
@@ -133,7 +132,7 @@ static void
 gdbscm_disasm_memory_error (int status, bfd_vma memaddr,
                            struct disassemble_info *info)
 {
-  memory_error (status, memaddr);
+  memory_error (TARGET_XFER_E_IO, memaddr);
 }
 
 /* disassemble_info.print_address_func for gdbscm_print_insn_from_port.