From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 11886 invoked by alias); 20 Aug 2009 14:50:56 -0000 Received: (qmail 11870 invoked by uid 22791); 20 Aug 2009 14:50:56 -0000 X-SWARE-Spam-Status: No, hits=-2.3 required=5.0 tests=AWL,BAYES_00,SPF_PASS X-Spam-Check-By: sourceware.org Received: from mail.codesourcery.com (HELO mail.codesourcery.com) (65.74.133.4) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Thu, 20 Aug 2009 14:50:50 +0000 Received: (qmail 14050 invoked from network); 20 Aug 2009 14:50:47 -0000 Received: from unknown (HELO orlando) (pedro@127.0.0.2) by mail.codesourcery.com with ESMTPA; 20 Aug 2009 14:50:47 -0000 From: Pedro Alves To: "Jakob Engblom" Subject: Re: Simics & reverse execution Date: Thu, 20 Aug 2009 15:03:00 -0000 User-Agent: KMail/1.9.10 Cc: gdb@sourceware.org, "'Michael Snyder'" , "'Hui Zhu'" References: <002001ca1f0e$4c9b74a0$e5d25de0$@com> <200908192144.15130.pedro@codesourcery.com> <016501ca2163$11f6b420$35e41c60$@com> In-Reply-To: <016501ca2163$11f6b420$35e41c60$@com> MIME-Version: 1.0 Content-Disposition: inline Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Message-Id: <200908201550.46009.pedro@codesourcery.com> X-IsSubscribed: yes Mailing-List: contact gdb-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sourceware.org X-SW-Source: 2009-08/txt/msg00199.txt.bz2 On Thursday 20 August 2009 07:54:31, Jakob Engblom wrote: > > > Sounds like a good idea. =A0Maybe a 'q' query? > > > "qReverse", maybe? > >=20 > > Why not use the standard qSupported mechanism? I think > > we've been over this before. :-) >=20 > You are the experts on this. Tell us what the query is and we will implem= ent it. It's not complicated: GDB's first packet to a remote stub is "qSupported". = The target replies back a list of supported features. We just need support in GDB for a new "reverse" feature. See: http://sourceware.org/gdb/current/onlinedocs/gdb_34.html#qSupported In gdb/remote.c, you can get a feeling for what you'd need by e.g.,=20 looking at remote_protocol_features, and at the "multiprocess" feature handling. Then, remote.c:remote_can_reverse can be tweaked to inform the rest of GDB that the remote end supports reversing or not, instead of the current hardcoded "yes". Then, you could even hook this to MI's "-list-target-features", so that a frontend can know upfront if it is connected to a target that supports reverse or not, so that e.g., it can enable or disable UI features/widgets/whatnot related to reverse debugging support. --=20 Pedro Alves