This is the mail archive of the gdb@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: floating point registers in 'info reg'


>>>>> "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

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]