Mirror of the gdb mailing list
 help / color / mirror / Atom feed
* i386 register groups?
@ 2002-08-26 11:39 Andrew Cagney
  2002-08-26 11:46 ` Daniel Jacobowitz
  0 siblings, 1 reply; 5+ messages in thread
From: Andrew Cagney @ 2002-08-26 11:39 UTC (permalink / raw)
  To: gdb

Hello,

Does anyone have a suggestion for which i386 registers go where?  My 
mindless first attempt looks like:

(gdb) maint print registers
  Name         Nr  Rel Offset    Size  Type                Groups
  eax           0    0      0       4  int                 general,all
  ecx           1    1      4       4  int                 general,all
  edx           2    2      8       4  int                 general,all
  ebx           3    3     12       4  int                 general,all
  esp           4    4     16       4  *1                  general,all
  ebp           5    5     20       4  *1                  general,all
  esi           6    6     24       4  int                 general,all
  edi           7    7     28       4  int                 general,all
  eip           8    8     32       4  *1                  general,all
  eflags        9    9     36       4  int                 general,all
  cs           10   10     40       4  int                 general,all
  ss           11   11     44       4  int                 general,all
  ds           12   12     48       4  int                 general,all
  es           13   13     52       4  int                 general,all
  fs           14   14     56       4  int                 general,all
  gs           15   15     60       4  int                 general,all
  st0          16   16     64      10  _i387_ext           float,all
  st1          17   17     74      10  _i387_ext           float,all
  st2          18   18     84      10  _i387_ext           float,all
  st3          19   19     94      10  _i387_ext           float,all
  st4          20   20    104      10  _i387_ext           float,all
  st5          21   21    114      10  _i387_ext           float,all
  st6          22   22    124      10  _i387_ext           float,all
  st7          23   23    134      10  _i387_ext           float,all
  fctrl        24   24    144       4  int                 float,all
  fstat        25   25    148       4  int                 float,all
  ftag         26   26    152       4  int                 float,all
  fiseg        27   27    156       4  int                 float,all
  fioff        28   28    160       4  int                 float,all
  foseg        29   29    164       4  int                 float,all
  fooff        30   30    168       4  int                 float,all
  fop          31   31    172       4  int                 float,all
  xmm0         32   32    176      16  _vec128i            sse,all,vector
  xmm1         33   33    192      16  _vec128i            sse,all,vector
  xmm2         34   34    208      16  _vec128i            sse,all,vector
  xmm3         35   35    224      16  _vec128i            sse,all,vector
  xmm4         36   36    240      16  _vec128i            sse,all,vector
  xmm5         37   37    256      16  _vec128i            sse,all,vector
  xmm6         38   38    272      16  _vec128i            sse,all,vector
  xmm7         39   39    288      16  _vec128i            sse,all,vector
  mxcsr        40   40    304       4  int                 general,all
  orig_eax     41   41    308       4  int                 general,all
  mm0          42    0    312       8  _vec64i             mmx,all,vector
  mm1          43    1    320       8  _vec64i             mmx,all,vector
  mm2          44    2    328       8  _vec64i             mmx,all,vector
  mm3          45    3    336       8  _vec64i             mmx,all,vector
  mm4          46    4    344       8  _vec64i             mmx,all,vector
  mm5          47    5    352       8  _vec64i             mmx,all,vector
  mm6          48    6    360       8  _vec64i             mmx,all,vector
  mm7          49    7    368       8  _vec64i             mmx,all,vector
*1: Register type's name NULL.

enjoy,
Andrew


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: i386 register groups?
  2002-08-26 11:39 i386 register groups? Andrew Cagney
@ 2002-08-26 11:46 ` Daniel Jacobowitz
  2002-08-26 12:30   ` Andrew Cagney
  0 siblings, 1 reply; 5+ messages in thread
From: Daniel Jacobowitz @ 2002-08-26 11:46 UTC (permalink / raw)
  To: Andrew Cagney; +Cc: gdb

On Mon, Aug 26, 2002 at 02:39:40PM -0400, Andrew Cagney wrote:
>  mxcsr        40   40    304       4  int                 general,all

With the other MMX registers, perhaps?

Looks good to me otherwise.

-- 
Daniel Jacobowitz
MontaVista Software                         Debian GNU/Linux Developer


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: i386 register groups?
  2002-08-26 11:46 ` Daniel Jacobowitz
@ 2002-08-26 12:30   ` Andrew Cagney
  2002-08-26 13:47     ` Mark Kettenis
  0 siblings, 1 reply; 5+ messages in thread
From: Andrew Cagney @ 2002-08-26 12:30 UTC (permalink / raw)
  To: Daniel Jacobowitz; +Cc: gdb

> On Mon, Aug 26, 2002 at 02:39:40PM -0400, Andrew Cagney wrote:
> 
>>  mxcsr        40   40    304       4  int                 general,all
> 
> 
> With the other MMX registers, perhaps?

Done (I wouldn't know an MMX register if I tripped over it :-).

Andrew



^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: i386 register groups?
  2002-08-26 12:30   ` Andrew Cagney
@ 2002-08-26 13:47     ` Mark Kettenis
  2002-08-26 13:51       ` Daniel Jacobowitz
  0 siblings, 1 reply; 5+ messages in thread
From: Mark Kettenis @ 2002-08-26 13:47 UTC (permalink / raw)
  To: Andrew Cagney; +Cc: Daniel Jacobowitz, gdb

Andrew Cagney <ac131313@ges.redhat.com> writes:

> > On Mon, Aug 26, 2002 at 02:39:40PM -0400, Andrew Cagney wrote:
> > 
> >>  mxcsr        40   40    304       4  int                 general,all
> > 
> > 
> > With the other MMX registers, perhaps?
> 
> Done (I wouldn't know an MMX register if I tripped over it :-).

And Daniel doesn't either ;-) (sorry Daniel).  mxcsr is the SSE
control/status register, so the sse group seems more appropriate to
me ;-).

And while I'm at it, I don't think orig_eax belongs in the "generic"
group.  It's some sort of OS-specific pseudo-register.  We might
create a special register group for it, but putting it only in the
"all" group is fine by me.  Fiddling with it is quite useless (and GDB
does it for you if it's needed).

And what do people think about moving the segment registers out of the
"general" group into their own group?  If you don't program at the OS
level, you're not very likely to need them (although on Linux you
might be interested in %gs when debugging a multi-threaded program).
We could name the group "segment".

Mark


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: i386 register groups?
  2002-08-26 13:47     ` Mark Kettenis
@ 2002-08-26 13:51       ` Daniel Jacobowitz
  0 siblings, 0 replies; 5+ messages in thread
From: Daniel Jacobowitz @ 2002-08-26 13:51 UTC (permalink / raw)
  To: Mark Kettenis; +Cc: Andrew Cagney, gdb

On Mon, Aug 26, 2002 at 10:46:52PM +0200, Mark Kettenis wrote:
> Andrew Cagney <ac131313@ges.redhat.com> writes:
> 
> > > On Mon, Aug 26, 2002 at 02:39:40PM -0400, Andrew Cagney wrote:
> > > 
> > >>  mxcsr        40   40    304       4  int                 general,all
> > > 
> > > 
> > > With the other MMX registers, perhaps?
> > 
> > Done (I wouldn't know an MMX register if I tripped over it :-).
> 
> And Daniel doesn't either ;-) (sorry Daniel).  mxcsr is the SSE
> control/status register, so the sse group seems more appropriate to
> me ;-).

Can't win 'em all.

> And while I'm at it, I don't think orig_eax belongs in the "generic"
> group.  It's some sort of OS-specific pseudo-register.  We might
> create a special register group for it, but putting it only in the
> "all" group is fine by me.  Fiddling with it is quite useless (and GDB
> does it for you if it's needed).

Agreed, only "all".

> And what do people think about moving the segment registers out of the
> "general" group into their own group?  If you don't program at the OS
> level, you're not very likely to need them (although on Linux you
> might be interested in %gs when debugging a multi-threaded program).
> We could name the group "segment".

GCC can now generate code that uses these, with the TLS extensions; I
think it'd be worthwhile to keep them.  How useful having them is,
though, I don't know...

-- 
Daniel Jacobowitz
MontaVista Software                         Debian GNU/Linux Developer


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2002-08-26 20:51 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-08-26 11:39 i386 register groups? Andrew Cagney
2002-08-26 11:46 ` Daniel Jacobowitz
2002-08-26 12:30   ` Andrew Cagney
2002-08-26 13:47     ` Mark Kettenis
2002-08-26 13:51       ` Daniel Jacobowitz

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox