* usability improvements
authorBen Elliston <bje@au.ibm.com>
Sun, 8 Oct 2000 22:37:14 +0000 (22:37 +0000)
committerBen Elliston <bje@au.ibm.com>
Sun, 8 Oct 2000 22:37:14 +0000 (22:37 +0000)
2000-10-08  Ben Elliston  <bje@redhat.com>

* cgen-utils.c (cgen_rtx_error): New function.

2000-10-07  Ben Elliston  <bje@redhat.com>

* cgen-trace.c (sim_cgen_disassemble_insn): Handle failure
conditions for sim_core_read_buffer().

sim/common/ChangeLog
sim/common/cgen-trace.c
sim/common/cgen-utils.c

index 4b43e06..523b9f9 100644 (file)
@@ -1,3 +1,12 @@
+2000-10-08  Ben Elliston  <bje@redhat.com>
+
+       * cgen-utils.c (cgen_rtx_error): New function.
+
+2000-10-07  Ben Elliston  <bje@redhat.com>
+
+       * cgen-trace.c (sim_cgen_disassemble_insn): Handle failure
+       conditions for sim_core_read_buffer().
+
 2000-09-26  Dave Brolley  <brolley@redhat.com>
 
        * cgen-utils.c (RORQI): New function.
index 8b084f4..5b1d0e1 100644 (file)
@@ -381,6 +381,11 @@ sim_cgen_disassemble_insn (SIM_CPU *cpu, const CGEN_INSN *insn,
   length = sim_core_read_buffer (sd, cpu, read_map, &insn_buf, pc,
                                 insn_length);
 
+  if (length != insn_length)
+  {
+    sim_io_error (sd, "unable to read address %x", pc);
+  }
+
   /* If the entire insn will fit into an integer, then do it. Otherwise, just
      use the bits of the base_insn.  */
   if (insn_bit_length <= 32)
index a45804e..8383196 100644 (file)
@@ -423,3 +423,16 @@ ROLSI (val, shift)
 
   return val;
 }
+
+/* Emit an error message from CGEN RTL.  */
+
+void
+cgen_rtx_error (SIM_CPU *cpu, const char * msg)
+{
+  SIM_DESC sd = CPU_STATE (cpu);
+
+  sim_io_printf (sd, msg);
+  sim_io_printf (sd, "\n");
+
+  sim_engine_halt (sd, cpu, NULL, CIA_GET (cpu), sim_stopped, SIM_SIGTRAP);
+}