From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 11977 invoked by alias); 20 Jul 2009 06:14:20 -0000 Received: (qmail 11959 invoked by uid 22791); 20 Jul 2009 06:14:19 -0000 X-SWARE-Spam-Status: No, hits=-1.4 required=5.0 tests=AWL,BAYES_00,J_CHICKENPOX_25,SARE_MSGID_LONG40,SPF_PASS X-Spam-Check-By: sourceware.org Received: from mail-pz0-f203.google.com (HELO mail-pz0-f203.google.com) (209.85.222.203) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Mon, 20 Jul 2009 06:14:13 +0000 Received: by pzk41 with SMTP id 41so1653345pzk.12 for ; Sun, 19 Jul 2009 23:14:12 -0700 (PDT) MIME-Version: 1.0 Received: by 10.143.1.12 with SMTP id d12mr871198wfi.295.1248070452086; Sun, 19 Jul 2009 23:14:12 -0700 (PDT) In-Reply-To: <4A63BF8B.4020906@vmware.com> References: <4A5A810B.7080603@vmware.com> <4A610EE8.1090904@vmware.com> <4A63BF8B.4020906@vmware.com> From: Hui Zhu Date: Mon, 20 Jul 2009 10:22:00 -0000 Message-ID: Subject: Re: [RFA/RFC Prec] Add Linux AMD64 process record support second version, (instruction set support) 1/3 To: Michael Snyder Cc: Mark Kettenis , gdb-patches ml Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable 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-07/txt/msg00466.txt.bz2 Oops, I found a lot of push code need be check clear. Thanks for you remind me. I will check them all. Hui On Mon, Jul 20, 2009 at 08:51, Michael Snyder wrote: > Hi Hui, > > I think I discovered a bug in this one. =A0In 64-bit mode, > the "call immediate" instruction is not correctly logging > the pushed return address. =A0It's only saving 4 bytes. > > Please tell me what you think of this patch to your patch? > > Michael > > --- i386-tdep.c 2009-07-19 17:51:58.000300000 -0700 > +++ tmp/i386-tdep.c =A0 =A0 2009-07-19 17:51:51.000907000 -0700 > @@ -4563,6 +4563,8 @@ reswitch: > > =A0 =A0 =A0 /* call im */ > =A0 =A0 case 0xe8: > + =A0 =A0 =A0if (ir.regmap[X86_RECORD_R8_REGNUM] && ir.dflag) > + =A0 =A0 =A0 =A0ir.dflag =3D 2; > =A0 =A0 =A0 if (i386_record_push (&ir, 1 << (ir.dflag + 1))) > =A0 =A0 =A0 =A0 return -1; > =A0 =A0 =A0 break; > >