From: Ben Elliston Date: Sun, 8 Oct 2000 22:37:14 +0000 (+0000) Subject: * usability improvements X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=1b16ef0c299a61eb4aee06c18d20d9da1c9cde06;p=pf3gnuchains%2Fpf3gnuchains3x.git * usability improvements 2000-10-08 Ben Elliston * cgen-utils.c (cgen_rtx_error): New function. 2000-10-07 Ben Elliston * cgen-trace.c (sim_cgen_disassemble_insn): Handle failure conditions for sim_core_read_buffer(). --- diff --git a/sim/common/ChangeLog b/sim/common/ChangeLog index 4b43e06184..523b9f9175 100644 --- a/sim/common/ChangeLog +++ b/sim/common/ChangeLog @@ -1,3 +1,12 @@ +2000-10-08 Ben Elliston + + * cgen-utils.c (cgen_rtx_error): New function. + +2000-10-07 Ben Elliston + + * cgen-trace.c (sim_cgen_disassemble_insn): Handle failure + conditions for sim_core_read_buffer(). + 2000-09-26 Dave Brolley * cgen-utils.c (RORQI): New function. diff --git a/sim/common/cgen-trace.c b/sim/common/cgen-trace.c index 8b084f461c..5b1d0e1f93 100644 --- a/sim/common/cgen-trace.c +++ b/sim/common/cgen-trace.c @@ -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) diff --git a/sim/common/cgen-utils.c b/sim/common/cgen-utils.c index a45804e34a..8383196595 100644 --- a/sim/common/cgen-utils.c +++ b/sim/common/cgen-utils.c @@ -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); +}