From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 21812 invoked by alias); 11 Jun 2009 05:33:40 -0000 Received: (qmail 21799 invoked by uid 22791); 11 Jun 2009 05:33:40 -0000 X-SWARE-Spam-Status: No, hits=-1.7 required=5.0 tests=AWL,BAYES_00,SARE_MSGID_LONG40,SPF_PASS X-Spam-Check-By: sourceware.org Received: from rv-out-0708.google.com (HELO rv-out-0708.google.com) (209.85.198.248) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Thu, 11 Jun 2009 05:33:34 +0000 Received: by rv-out-0708.google.com with SMTP id l33so910736rvb.48 for ; Wed, 10 Jun 2009 22:33:32 -0700 (PDT) MIME-Version: 1.0 Received: by 10.142.84.5 with SMTP id h5mr846044wfb.200.1244698411956; Wed, 10 Jun 2009 22:33:31 -0700 (PDT) In-Reply-To: <6D19CA8D71C89C43A057926FE0D4ADAA0790D133@ecamlmw720.eamcs.ericsson.se> References: <6D19CA8D71C89C43A057926FE0D4ADAA0790D133@ecamlmw720.eamcs.ericsson.se> Date: Thu, 11 Jun 2009 05:33:00 -0000 Message-ID: Subject: Re: Wrong Reverse result From: Hui Zhu To: Marc Khouzam Cc: gdb@sourceware.org, Michael Snyder Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable 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-06/txt/msg00105.txt.bz2 I have reproduced this issue and find out the cause. infrun: TARGET_WAITKIND_STOPPED infrun: stop_pc =3D 0x8048361 infrun: stepped into subroutine infrun: inserting step-resume breakpoint at 0x8048349 stop_stepping is better. infrun: resume (step=3D0, signal=3D0), trap_expected=3D0 infrun: prepare_to_wait infrun: target_wait (-1, status) =3D infrun: 10798 [process 10798], infrun: status->kind =3D no-history infrun: infwait_normal_state No more reverse-execution history. infrun: stop_stepping main () at 1.c:7 On Thu, Jun 11, 2009 at 00:49, Marc Khouzam wrot= e: > Hi, > > I'm getting a weird behaviour in reverse, where GDB > jumps to far backwards. > > I have GDB HEAD from two weeks ago with the three > missing PRrecord patches applied (that were pinged > by Hui this very week). All of patches are not for prec, they are for reverse. > > I'm running on Ubuntu. > Is it me or can someone reproduce it? > (It happened during my presentation at the GCC summit, > so I have witnesses :-)) I am not sure Michael in GCC summit or not. If so, you can let he fix it at there directly. :) Thanks for your help. Hui > > Thanks > > Marc > > GNU gdb (GDB) 6.8.50.20090522-cvs > Copyright (C) 2009 Free Software Foundation, Inc. > License GPLv3+: GNU GPL version 3 or later > > This is free software: you are free to change and redistribute it. > There is NO WARRANTY, to the extent permitted by law. =A0Type "show > copying" > and "show warranty" for details. > This GDB was configured as "i686-pc-linux-gnu". > For bug reporting instructions, please see: > ... > (gdb) l > 1 =A0 =A0 =A0 void foo() { > 2 =A0 =A0 =A0 =A0 =A0 return; > 3 =A0 =A0 =A0 } > 4 > 5 =A0 =A0 =A0 int main() { > 6 > 7 =A0 =A0 =A0 =A0 =A0 =A0 =A0 foo(); // 1 > 8 =A0 =A0 =A0 =A0 =A0 =A0 =A0 foo(); // 2 > 9 =A0 =A0 =A0 =A0 =A0 =A0 =A0 foo(); // 3 > 10 > (gdb) l > 11 =A0 =A0 =A0 =A0 =A0 =A0 =A0return 0; > 12 =A0 =A0 =A0} > (gdb) start > Temporary breakpoint 1 at 0x80483f7: file r.c, line 7. > Starting program: /home/marc/testing/a.out > > Temporary breakpoint 1, main () at r.c:7 > 7 =A0 =A0 =A0 =A0 =A0 =A0 =A0 foo(); // 1 > Current language: =A0auto; currently c++ > (gdb) record > (gdb) n > 8 =A0 =A0 =A0 =A0 =A0 =A0 =A0 foo(); // 2 > (gdb) n > 9 =A0 =A0 =A0 =A0 =A0 =A0 =A0 foo(); // 3 > (gdb) n > 11 =A0 =A0 =A0 =A0 =A0 =A0 =A0return 0; > (gdb) rn > 9 =A0 =A0 =A0 =A0 =A0 =A0 =A0 foo(); // 3 > (gdb) s > foo () at r.c:3 > 3 =A0 =A0 =A0 } > (gdb) rn > > No more reverse-execution history. > main () at r.c:7 > 7 =A0 =A0 =A0 =A0 =A0 =A0 =A0 foo(); // 1 > > =3D=3D=3D=3D=3D=3D=3D=3D This is weird. =A0Why does it go back to the top? >