This is the mail archive of the
mailing list for the GDB project.
Re: Register group proposal
- To: nsd at redhat dot com
- Subject: Re: Register group proposal
- From: Stephane Carrez <Stephane dot Carrez at france dot sun dot com>
- Date: Wed, 21 Feb 2001 12:00:42 +0100 (MET)
- Cc: gdb at sources dot redhat dot com, fnasser at redhat dot com, insight at sources dot redhat dot com
- Reply-To: Stephane Carrez <Stephane dot Carrez at france dot sun dot com>
>On an architecture with a large register set, GDBtk's register window can
>be difficult to read and slow to update. Users can customize the window
>to hide individual registers, but that's a tedious procedure.
Yes. It really makes sense.
For ChorusOS, we have this notion of 'grouping'. The DebugAPI allows
to retrieve all registers of a given group. Until now, we have defined
three groups (could define more):
- general registers (ie, r0..r31, eax, ...)
- floating point registers (ie, f0,...)
- specific registers (ie, sprg0, dbat, cr0, ...)
In most cases, you are interested to look at general registers or floating
point regs. Less often, you will need to display the specific registers.
It would be interesting then to take the 'grouping' into account by
the new/next register API. The current semantics of `to_fetch_registers()'
when a -1 is passed is to fetch all registers. You can see that as
a group of all registers. I think it's then necessary to clarify or
extend this semantics.
The goal is that if someone asks for the general registers, we don't
have to fetch the specific/floating point registers.
Well, this is very close to a previous discussion about optimizing
the fetch of registers within all GDB sources (frame, backtrace, locals, ...)
>The CLI "info registers" command already accepts a register name as an
>optional paramter. It could be extended to try that parameter as a group
>name first and a register name second, so e.g. "info registers float"
>would display all floating-point registers.
>What do you think?
It's great if a given platform could define its own groups of registers
and that they are recognized by Insight after that.
What about plugging the grouping in your regs_init_*() functions?
- - - - - - - - - -
Stephane |Sun Microsystems |
Carrez |Network Service Provider Division | http://www.sun.com
|6 avenue Gustave Eiffel |
|F-78182, St-Quentin-en-Yvelines-Cedex |