This is the mail archive of the gdb-patches@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]
Other format: [Raw text]

Re: [patch rfc rfa:i386] Add i386 specific register groups


   Date: Fri, 08 Nov 2002 15:32:20 -0500
   From: Andrew Cagney <ac131313@redhat.com>

   > Yeah!  And you can always say "print $orig_eax", can't you?

   (er, quickly checking ...)

   (top-gdb) print $orig_eax
   $1 = -1
   (top-gdb) maint print raw-registers
   ...
     orig_eax     41   41    308       4  int             0xffffffff

   Yep, of course you can.

   What about save/restore?  Should it be saved/restored across an inferior 
   function call?

Yes it should, so save/restore is OK.

   > Hmm, why are all registers in group "general"?

   Preserving existing behavior? :-^

Not quite I think.  Existing behaviour is for "info registers" to
print everything except st0...st7 and xmm0...xmm7.  So it doesn't
print float and vector registers.  However it does print the
floating-point control registers and mxcsr which is the SSE control
register.  Now that doesn't make any sense to me.  Therefore I'd like
"info registers" to print only the general-purpose registers, that is
everything up to and including gs, but nothing else.

   (general corresponds to `info all-registers')?

Nope it doesn't.  It's "all" that corresponds to "info all-registers",
and "general" that corresponds to "info registers".  So I'd want:

  if (group == general_reggroup)
    return (!fp_regnum_p && !mmx_regnum_p && !sse_regnum_p);

Mark


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