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: new gdb remote packet type


On Wed, May 12, 2004 at 02:20:36PM -0400, Andrew Cagney wrote:
> Yes, this is the key, use it conditionally, nice.
> 
> >+       switch (remote_protocol_p.support)
> >+     {
> >+     case PACKET_DISABLE:
> >+       break;
> >+     case PACKET_ENABLE:
> >+       if (fetch_register_using_p (regnum))
> >+         return;
> >+       else
> >+         error ("Protocol error: p packet not recognized by stub");
> >+     case PACKET_SUPPORT_UNKNOWN:
> >+       if (fetch_register_using_p (regnum))
> >+         {
> >+           /* The stub recognized the 'p' packet.  Remember this.  */
> >+           remote_protocol_p.support = PACKET_ENABLE;
> >+           return;
> >+         }
> >+       else
> >+         {
> >+           /* The stub does not support the 'P' packet.  Use 'G'
> >+              instead, and don't try using 'P' in the future (it
> >+              will just waste our time).  */
> >+           remote_protocol_p.support = PACKET_DISABLE;
> >+           break;
> >+         }
> >+     }
> > 
> >   sprintf (buf, "g"); 

This patch (if 'p' were implemented for gdbserver; I have this lying
around, as it happens) would make register fetches default to using
individual 'p' packets for every register; this would hurt latency, a
lot.

Robert, wouldn't it be good enough for you to work with
!reg->in_g_packet?

-- 
Daniel Jacobowitz


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