X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=sim%2Fcommon%2Fcgen-trace.c;h=d978d3e57f61d392e89e917ec71488cfce433573;hb=dd515450aae7d58869110173117a0c9ec3a7a362;hp=5b1d0e1f9346bbfaacc6a89671b51df212562ce9;hpb=a8d894af636985bcc6a8d8bcae75355db0e87345;p=deliverable%2Fbinutils-gdb.git diff --git a/sim/common/cgen-trace.c b/sim/common/cgen-trace.c index 5b1d0e1f93..d978d3e57f 100644 --- a/sim/common/cgen-trace.c +++ b/sim/common/cgen-trace.c @@ -22,6 +22,7 @@ with this program; if not, write to the Free Software Foundation, Inc., #include "dis-asm.h" #include "bfd.h" #include "sim-main.h" +#include "sim-fpu.h" #undef min #define min(a,b) ((a) < (b) ? (a) : (b)) @@ -54,10 +55,6 @@ with this program; if not, write to the Free Software Foundation, Inc., #define SIZE_TRACE_BUF 1024 #endif -static void -disassemble_insn (SIM_CPU *, const CGEN_INSN *, - const struct argbuf *, IADDR, char *); - /* Text is queued in TRACE_BUF because we want to output the insn's cycle count first but that isn't known until after the insn has executed. This also handles the queueing of trace results, TRACE_RESULT may be @@ -239,6 +236,19 @@ trace_result (SIM_CPU *cpu, char *name, int type, ...) default : cgen_trace_printf (cpu, "%s <- 0x%x", name, va_arg (args, int)); break; + case 'f': + { + DI di; + sim_fpu f; + + /* this is separated from previous line for sunos cc */ + di = va_arg (args, DI); + sim_fpu_64to (&f, di); + + cgen_trace_printf (cpu, "%s <- ", name); + sim_fpu_printn_fpu (&f, (sim_fpu_print_func *) cgen_trace_printf, 4, cpu); + break; + } case 'D' : { DI di; @@ -312,12 +322,12 @@ sim_disasm_sprintf VPARAMS ((SFILE *f, const char *format, ...)) /* Memory read support for an opcodes disassembler. */ int -sim_disasm_read_memory (bfd_vma memaddr, bfd_byte *myaddr, int length, +sim_disasm_read_memory (bfd_vma memaddr, bfd_byte *myaddr, unsigned int length, struct disassemble_info *info) { SIM_CPU *cpu = (SIM_CPU *) info->application_data; SIM_DESC sd = CPU_STATE (cpu); - int length_read; + unsigned length_read; length_read = sim_core_read_buffer (sd, cpu, read_map, myaddr, memaddr, length);