From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 22608 invoked by alias); 11 Jun 2009 13:13:26 -0000 Received: (qmail 22595 invoked by uid 22791); 11 Jun 2009 13:13:24 -0000 X-SWARE-Spam-Status: No, hits=-2.3 required=5.0 tests=AWL,BAYES_00,SPF_PASS X-Spam-Check-By: sourceware.org Received: from imr1.ericy.com (HELO imr1.ericy.com) (198.24.6.9) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Thu, 11 Jun 2009 13:13:15 +0000 Received: from eusrcmw750.eamcs.ericsson.se (eusrcmw750.exu.ericsson.se [138.85.77.50]) by imr1.ericy.com (8.13.1/8.13.1) with ESMTP id n5BDD72e015622; Thu, 11 Jun 2009 08:13:08 -0500 Received: from ecamlmw720.eamcs.ericsson.se ([142.133.1.72]) by eusrcmw750.eamcs.ericsson.se with Microsoft SMTPSVC(6.0.3790.1830); Thu, 11 Jun 2009 08:12:16 -0500 Content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Subject: RE: Wrong Reverse result Date: Thu, 11 Jun 2009 13:13:00 -0000 Message-ID: <6D19CA8D71C89C43A057926FE0D4ADAA0790D648@ecamlmw720.eamcs.ericsson.se> In-Reply-To: References: <6D19CA8D71C89C43A057926FE0D4ADAA0790D133@ecamlmw720.eamcs.ericsson.se> From: "Marc Khouzam" To: "Hui Zhu" Cc: , "Michael Snyder" 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/msg00110.txt.bz2 > -----Original Message----- > From: Hui Zhu [mailto:teawater@gmail.com]=20 > Sent: June-11-09 1:34 AM > To: Marc Khouzam > Cc: gdb@sourceware.org; Michael Snyder > Subject: Re: Wrong Reverse result >=20 > I have reproduced this issue and find out the cause. Great. Thanks for doing that so quick. I forgot how to turn on those nice traces. Can you=20 remind me? The traces don't mean much to me, but I can include them in any future (if any :-)) issues. > infrun: TARGET_WAITKIND_STOPPED > infrun: stop_pc =3D 0x8048361 > infrun: stepped into subroutine > infrun: inserting step-resume breakpoint at 0x8048349 >=20 > stop_stepping is better. >=20 > 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 >=20 > No more reverse-execution history. > infrun: stop_stepping > main () at 1.c:7 >=20 > On Thu, Jun 11, 2009 at 00:49, Marc=20 > 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). >=20 > 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 :-)) >=20 > I am not sure Michael in GCC summit or not. If so, you can let he fix > it at there directly. :) The summit is over now, but I did meet with Michael. It's nice to see people face to face. I was able to put a bit of pressure on him about reviewing the missing patches ;-). I'm sure that as soon as he has time, he'll have a look at these four things. Thanks Hui marc >=20 > Thanks for your help. >=20 > Hui >=20 > > > > 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 t= op? > > >=20