From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 4585 invoked by alias); 11 Jun 2009 13:45:18 -0000 Received: (qmail 4574 invoked by uid 22791); 11 Jun 2009 13:45:15 -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 mail-fx0-f210.google.com (HELO mail-fx0-f210.google.com) (209.85.220.210) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Thu, 11 Jun 2009 13:45:09 +0000 Received: by fxm6 with SMTP id 6so1678956fxm.24 for ; Thu, 11 Jun 2009 06:45:06 -0700 (PDT) MIME-Version: 1.0 Received: by 10.216.55.208 with SMTP id k58mr935683wec.9.1244727905786; Thu, 11 Jun 2009 06:45:05 -0700 (PDT) In-Reply-To: <6D19CA8D71C89C43A057926FE0D4ADAA0790D648@ecamlmw720.eamcs.ericsson.se> References: <6D19CA8D71C89C43A057926FE0D4ADAA0790D133@ecamlmw720.eamcs.ericsson.se> <6D19CA8D71C89C43A057926FE0D4ADAA0790D648@ecamlmw720.eamcs.ericsson.se> Date: Thu, 11 Jun 2009 13:45:00 -0000 Message-ID: <67ea2eb0906110645k4038aa8fjd3b66e44f55e685b@mail.gmail.com> Subject: Re: Wrong Reverse result From: Ramana Radhakrishnan To: Marc Khouzam Cc: Hui Zhu , 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/msg00111.txt.bz2 > Great. =A0Thanks for doing that so quick. > I forgot how to turn on those nice traces. =A0Can you > remind me? > The traces don't mean much to me, but I can include them > in any future (if any :-)) issues. help set debug on the gdb command line . cheers Ramana > >> 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: =A0 10798 [process 10798], >> infrun: =A0 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 wrote: >> > 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 realized that just after pressing 'send' :-) > >> > 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. =A0If so, you can let he fix >> it at there directly. =A0:) > > The summit is over now, but I did meet with Michael. =A0It's nice to see > people face to face. =A0I was able to put a bit of pressure on him > about reviewing the missing patches ;-). =A0I'm sure that as soon as he > has time, he'll have a look at these four things. > > Thanks Hui > > marc > >> >> 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? >> > >> >