Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Eli Zaretskii <eliz@gnu.org>
To: Hui Zhu <teawater@gmail.com>
Cc: gdb-patches@sourceware.org
Subject: Re: Process record and replay checked in to main trunk
Date: Mon, 04 May 2009 11:15:00 -0000	[thread overview]
Message-ID: <83prepdss5.fsf@gnu.org> (raw)
In-Reply-To: <daef60380905030654o6e4d82caoc7c096708973f970@mail.gmail.com>

> Date: Sun, 3 May 2009 21:54:19 +0800
> From: Hui Zhu <teawater@gmail.com>
> Cc: gdb-patches@sourceware.org
> 
> On Fri, May 1, 2009 at 21:27, Eli Zaretskii <eliz@gnu.org> wrote:
> > It would be nice if i386-tdep.c had some comments about what it takes
> > for another x86 target to add support for process recording and
> > replay.  Apologies if it's already described somewhere and I missed
> > it.
> >
> > It looks like all is needed is to define suitable functions for
> > tdep->i386_intx80_record and tdep->i386_sysenter_record, is that
> > right?  (If so, why so Linux-centric names?)
> 
> The intx80 and sysenter function pointers is the interface for
> i386-os-tdep code to set intx86 insn and sysenter special record
> functions.
> Because some os (linux) have special function in intx80 and sysenter
> (system call).
> 
> So, in other arch, maybe there will have other interface.  For
> example, arm will have a swi interface, mips will have a syscall
> interface.

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?

> > just looking at i386_linux_intx80_sysenter_record, I cannot
> > understand how it succeed to record both the arguments to the syscall
> > and the return value.  The syscall itself does not happen inside
> > record_linux_system_call, that just records the syscall parameters and
> > data buffers, right?  And recording happens _before_ the instruction
> > being recorded executes, right?  So how come
> > i386_linux_intx80_sysenter_record can use EAX as the syscall number
> > and immediately after the call to record_linux_system_call treat the
> > value of EAX as the value returned by the syscall?  What am I missing
> > here?
> 
> This is because all record work will be done before insn execute.
> Before insn execute, p record parse this insn.  Find out which
> register and memory will be changed in this insn.  Record the old
> value of the reg and mem.

Okay, and when will they record the new values of the registers and
memory affected by the syscall?


  reply	other threads:[~2009-05-04 11:15 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-04-30  7:59 Hui Zhu
2009-04-30 14:43 ` Marc Khouzam
2009-04-30 20:00   ` Michael Snyder
2009-05-01  9:16 ` Eli Zaretskii
2009-05-01 17:02   ` Hui Zhu
2009-05-01 17:55     ` Eli Zaretskii
2009-05-03 14:15       ` Hui Zhu
2009-05-04 11:17         ` Eli Zaretskii
2009-05-04 16:46           ` Michael Snyder
2009-05-05 13:48           ` Hui Zhu
2009-05-04 14:32         ` Marc Khouzam
2009-05-04 16:46           ` Eli Zaretskii
2009-05-05 14:11           ` Hui Zhu
2009-05-01  9:26 ` Eli Zaretskii
2009-05-01 17:08   ` Hui Zhu
2009-05-01 17:58     ` Eli Zaretskii
2009-05-01 13:28 ` Eli Zaretskii
2009-05-03 13:54   ` Hui Zhu
2009-05-04 11:15     ` Eli Zaretskii [this message]
2009-05-05 13:40       ` Hui Zhu
2009-05-05 19:01         ` Eli Zaretskii
2009-05-05 19:32           ` Mark Kettenis
2009-05-05 19:52             ` Eli Zaretskii
2009-05-06 13:34               ` Hui Zhu
     [not found] ` <daef60380904300102o4470ac45he41f6b72176b1947@mail.gmail.com>
2009-05-07 22:24   ` Pierre Muller
2009-05-07 22:52     ` Michael Snyder
2009-05-07 23:05       ` Pedro Alves
2009-05-08  5:12         ` Hui Zhu
2009-05-08 12:11           ` Pierre Muller
2009-05-10 17:28             ` Hui Zhu

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=83prepdss5.fsf@gnu.org \
    --to=eliz@gnu.org \
    --cc=gdb-patches@sourceware.org \
    --cc=teawater@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox