From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 17360 invoked by alias); 1 Apr 2006 12:23:58 -0000 Received: (qmail 17352 invoked by uid 22791); 1 Apr 2006 12:23:58 -0000 X-Spam-Check-By: sourceware.org Received: from romy.inter.net.il (HELO romy.inter.net.il) (192.114.186.66) by sourceware.org (qpsmtpd/0.31) with ESMTP; Sat, 01 Apr 2006 12:23:57 +0000 Received: from HOME-C4E4A596F7 (IGLD-80-230-13-61.inter.net.il [80.230.13.61]) by romy.inter.net.il (MOS 3.7.3-GA) with ESMTP id DWI27632 (AUTH halo1); Sat, 1 Apr 2006 15:23:45 +0300 (IDT) Date: Sat, 01 Apr 2006 12:23:00 -0000 Message-Id: From: Eli Zaretskii To: Michael Snyder CC: gdb-patches@sources.redhat.com In-reply-to: <442DAA70.5070203@redhat.com> (message from Michael Snyder on Fri, 31 Mar 2006 14:17:20 -0800) Subject: Re: [RFA] Reverse debugging, part 1/3: target interface Reply-to: Eli Zaretskii References: <442DAA70.5070203@redhat.com> X-IsSubscribed: yes Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2006-04/txt/msg00000.txt.bz2 > Date: Fri, 31 Mar 2006 14:17:20 -0800 > From: Michael Snyder > > OK, folks, ready to submit this for real. Thanks! > + /* Forward/reverse execution direction. > + These will only be implemented by a target that supports reverse execution. > + */ > + #define target_get_execution_direction() \ > + (current_target.to_get_execdir ? \ > + (*current_target.to_get_execdir) () : EXEC_ERROR) Isn't it better if the default will be EXEC_FORWARD, not EXEC_ERROR? > + /* Reverse execution. > + FIXME: set up as a capability. */ > + static enum exec_direction_kind remote_execdir = EXEC_FORWARD; > + > + static enum exec_direction_kind remote_get_execdir (void) > + { > + if (remote_debug && info_verbose) > + printf_filtered ("remote execdir is %s\n", > + remote_execdir == EXEC_FORWARD ? "forward" : > + remote_execdir == EXEC_REVERSE ? "reverse" : > + "unknown"); > + return remote_execdir; > + } > + > + static int remote_set_execdir (enum exec_direction_kind dir) > + { > + if (remote_debug && info_verbose) > + printf_filtered ("Set remote execdir: %s\n", > + dir == EXEC_FORWARD ? "forward" : > + dir == EXEC_REVERSE ? "reverse" : > + "bad direction"); > + > + /* FIXME: check target for capability. */ > + if (dir == EXEC_FORWARD || dir == EXEC_REVERSE) > + return (remote_execdir = dir); > + else > + return EXEC_ERROR; > + } I don't understand these two methods--they don't seem to do anything that their names imply. What am I missing?