floating point registers in 'info reg'

J.T. Conklin jtc@redback.com
Tue Jan 9 15:18:00 GMT 2001


>>>>> "Fernando" == Fernando Nasser <fnasser@redhat.com> writes:
>> While just a nit, this has been bothering me for some time.
>> 
>> The 'info reg' command is supposed to output only non-fpu registers,
>> but it uses the following expression to determine whether a register
>> is floating point:
>> 
>> TYPE_CODE (REGISTER_VIRTUAL_TYPE (i)) == TYPE_CODE_FLT
>> 
>> which means that FPU control and status registers are output.  Is
>> there a better way to determine which registers are FP and which are
>> not?

Fernando> Well, the problem is that FPU control and status registers
Fernando> should not have TYPE_CODE_FLT as virtual type.  The data FPU
Fernando> registers are, but not the control ones.

That's not the problem.  For example, on the x86, the fctrl, fstat,
ftag, ... registers don't have TYPE_CODE_FLT as a virtual type.  But
since that test is used to determine whether a register is considered
to be a floating point register, "info reg" will output the values of
those registers.  On those targets that a separate command to fetch FP
registers, this adds additional command latency.

        --jtc

-- 
J.T. Conklin
RedBack Networks


More information about the Gdb mailing list