Re: [patch/rfc] Don't include vector registers in ``info registers''

Andrew Cagney
2002-08-09T02:35:14Z

> On Thu, Aug 08, 2002 at 07:51:57PM -0400, Andrew Cagney wrote:
>
>> Hello,
>>
>> The attached patch modifies the generic ``info registsters'' command so
>> that it precludes vector registers (in addition to floating-point
>> registers). The online doco indicates:
>>
>> (gdb) help info registers
>> List of integer registers and their contents, for selected stack frame.
>> Register name as argument means describe only that register.
>> (gdb) help info all-registers
>> List of all registers and their contents, for selected stack frame.
>> Register name as argument means describe only that register.
>>
>> I think the change makes the behavour a better match for both the
>> documentation and what I think is the intent of the command. Print a
>> minimal set of registers.
>>
>> It will eventually affect the i386 -- I've a patch to change the type of
>> xmm [and mmx] registers to true vectors. When that is in, ``info
>> registers'' will stop displaying the xmm registers.
>>
>> Thoughts?
>
>
> My only comment is that I would also like ``info registers'' not to
> print kernel-mode or processor status registers, since that seems (to
> me) to be appropriate; it should print registers for stack/pc and
> computation primarily, not things like the MSR.

Yes.

There has been talk of adding a register attribute function. I suspect,
though, that the function is of more use to GUI's then the CLI.

> Might be harder to do generically though.

Yes.

I suspect the reality is that every architecture will eventually ends up
with a custom info-registers function. Simply because they want the
output to be something useful. Might even end up doing this for the i386.

I think we need to be careful to not fall into the trap of over
engineering the default function. Instead, encourage each target to do
it custom but do provide some useful register print routines.

--

Thinking out loud. Perhaphs the default ``info float[-registers]''
should scan for and print any floating-point registers and only print
``no float'' if none are found.

enjoy,
Andrew