Tracing for floating point values

Andrew Cagney ac131313@cygnus.com
Thu Dec 14 17:04:00 GMT 2000


Ben Elliston wrote:
> 
> Currently, the TRACE_RESULTS web of macros/functions in
> sim/common/cgen-trace.c don't know how to handle the 'f' printf-type for SF
> and DF operands.  Only 'D' and 'x' are handled at present.
> 
> I set about fixing this yesterday.  There were two approaches I considered:
> 
>         * use the host's native printf %x.  Comments in sim-fpu.[hc]
>           indicate this is a bad mistake.  There's no guarantee that the
>           host will use the same floating point representation as the
>           target.

You would need to be very careful about SNaNs.

>         * use sim_fpu's sim_fpu_print_fpu to output the real number
>           using cgen_trace_printf as its callback (which works nicely).
>           However, we get very detailed output!
> 
>         fr <- +1.0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000*2^+0
> 
> Which way seems right to jump?

What about a print function that outputs things in decimal - something
like ``%f'' or ``%g''.  While the existing print function is really
useful for someone debugging the internals it isn't much use to normal
users.

	Andrew


More information about the Gdb mailing list