From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 7635 invoked by alias); 5 May 2009 19:01:44 -0000 Received: (qmail 7164 invoked by uid 22791); 5 May 2009 19:01:43 -0000 X-SWARE-Spam-Status: No, hits=-1.1 required=5.0 tests=AWL,BAYES_00,SPF_SOFTFAIL X-Spam-Check-By: sourceware.org Received: from mtaout5.012.net.il (HELO mtaout5.012.net.il) (84.95.2.13) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Tue, 05 May 2009 19:01:37 +0000 Received: from conversion-daemon.i_mtaout5.012.net.il by i_mtaout5.012.net.il (HyperSendmail v2004.12) id <0KJ600B00Q38TH00@i_mtaout5.012.net.il> for gdb-patches@sourceware.org; Tue, 05 May 2009 22:00:51 +0300 (IDT) Received: from HOME-C4E4A596F7 ([77.127.230.216]) by i_mtaout5.012.net.il (HyperSendmail v2004.12) with ESMTPA id <0KJ6005ETQ5FJGC0@i_mtaout5.012.net.il>; Tue, 05 May 2009 22:00:51 +0300 (IDT) Date: Tue, 05 May 2009 19:01:00 -0000 From: Eli Zaretskii Subject: Re: Process record and replay checked in to main trunk In-reply-to: To: Hui Zhu Cc: gdb-patches@sourceware.org Reply-to: Eli Zaretskii Message-id: <83ab5re5mz.fsf@gnu.org> MIME-version: 1.0 Content-type: text/plain; charset=iso-8859-1 Content-transfer-encoding: 8BIT References: <83ws91c5sp.fsf@gnu.org> <83prepdss5.fsf@gnu.org> X-IsSubscribed: yes Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2009-05/txt/msg00092.txt.bz2 > Date: Tue, 5 May 2009 21:39:50 +0800 > From: Hui Zhu > Cc: gdb-patches@sourceware.org > > On Mon, May 4, 2009 at 19:14, Eli Zaretskii wrote: > >> Date: Sun, 3 May 2009 21:54:19 +0800 > >> From: Hui Zhu > >> Cc: gdb-patches@sourceware.org > >> > > Right, but I was asking about another _x86_ target, not just any > > target.  Is there anything an i386 target needs to do to get process > > record and replay work, except define suitable i386_intx80_record and > > i386_sysenter_record functions? > > Yes, if they use sysenter or intx80 to be syscall. They need set > these function pointers with themselves. > If some os use another insn to be syscall. the prec in i386-tdep need > update to support interface for it. But if the i386_intx80_record and i386_sysenter_record are Linux-specific interfaces, why they are visible in i386-tdep.c, which is supposed to be common to all i386 targets? Note that I don't mind so much the _names_, but you seem to say that these names are somehow magical, and if, for example, syscalls on some i386 target are entered through Int 31h (say), then there need to be a separate member in the tdep structure called i386_intx31_record? > Prec will not record the new value in forward execute because this > value is in inferior. > When reverse execute, prec wll record the new value and set old value > to inferior. Maybe I'm confused, but does this mean that if I need to replay a portion of debugging session I need first to reverse-execute all the recorded instructions until the point where I want to start replaying?