Re: [RFA] Patch to fix "reverse-next" command error

teawater
2009-02-12T02:59:07Z

[-- Attachment #1: Type: text/plain, Size: 3383 bytes --]

Hi Marc,

I can't reproduce this issue with or without "fix-reverse-plt-error.txt".

(gdb) start
During symbol reading, DW_AT_name missing from DW_TAG_base_type.
Temporary breakpoint 1 at 0x8048385: file 2.c, line 4.
Starting program: /home/teawater/gdb/a.out

Temporary breakpoint 1, main () at 2.c:4
4 char* cptr = "Thread 1";
(gdb) record
(gdb) n
During symbol reading, incomplete CFI data; unspecified registers
(e.g., eax) at 0x8048382.
5 int b[2] = {5,8};
(gdb)
6 b[0] = 6; b[1] = 9;
(gdb)
7 printf("Thread 1, loop \n");
(gdb)
Thread 1, loop
8 printf("Thread 2, loop \n");
(gdb)
Thread 2, loop
9 printf("Thread 3, loop \n");
(gdb)
Thread 3, loop
10 return 1;
(gdb)
11 }
(gdb) rs
10 return 1;
(gdb)
9 printf("Thread 3, loop \n");
(gdb)
8 printf("Thread 2, loop \n");
(gdb)
7 printf("Thread 1, loop \n");
(gdb)
6 b[0] = 6; b[1] = 9;
(gdb)
5 int b[2] = {5,8};
(gdb)

No more reverse-execution history.
main () at 2.c:4
4 char* cptr = "Thread 1";
(gdb)

No more reverse-execution history.
main () at 2.c:4
4 char* cptr = "Thread 1";
(gdb)

Could you try it with CVS-head version and new Precord patch in attachment?

Thanks,
Hui

On Thu, Feb 12, 2009 at 03:55, Marc Khouzam <marc.khouzam@ericsson.com> wrote:
>> From: teawater [mailto:teawater@gmail.com]
>> Sent: Thursday, January 29, 2009 11:12 PM
>> To: Marc Khouzam
>> Cc: Michael Snyder; Pedro Alves; gdb-patches@sourceware.org
>> Subject: Re: [RFA] Patch to fix "reverse-next" command error
>>
>> Hi Marc,
>>
>> Could you please send more message about your issue?
>> >
>> > I just noticed I still have the problem of jumping library functions
>> > when using reverse-step. Seems ok for reverse-next.
>> >
>
> Was this still in my court? Sorry about that.
> Here is how I reproduced the problem:
>
>
> GNU gdb (GDB) 6.8.50.20090113-cvs
> Copyright (C) 2009 Free Software Foundation, Inc.
> License GPLv3+: GNU GPL version 3 or later
> <http://gnu.org/licenses/gpl.html>
> This is free software: you are free to change and redistribute it.
> There is NO WARRANTY, to the extent permitted by law. Type "show
> copying"
> and "show warranty" for details.
> This GDB was configured as "i686-pc-linux-gnu".
> For bug reporting instructions, please see:
> <http://www.gnu.org/software/gdb/bugs/>...
> (gdb) l
> 1 #include <stdio.h>
> 2 int main()
> 3 {
> 4 char* cptr = "Thread 1";
> 5 int b[2] = {5,8};
> 6 b[0] = 6; b[1] = 9;
> 7 printf("Thread 1, loop \n");
> 8 printf("Thread 2, loop \n");
> 9 printf("Thread 3, loop \n");
> 10 return 1;
> (gdb) b main
> Breakpoint 1 at 0x8048485: file a.cc, line 4.
> (gdb) r
> Starting program: /local/home/lmckhou/testing/a.out
>
> Breakpoint 1, main () at a.cc:4
> 4 char* cptr = "Thread 1";
> (gdb) record
> (gdb) n
> 5 int b[2] = {5,8};
> (gdb)
> 6 b[0] = 6; b[1] = 9;
> (gdb)
> 7 printf("Thread 1, loop \n");
> (gdb)
> Thread 1, loop
> 8 printf("Thread 2, loop \n");
> (gdb)
> Thread 2, loop
> 9 printf("Thread 3, loop \n");
> (gdb)
> Thread 3, loop
> 10 return 1;
> (gdb) rs
> 9 printf("Thread 3, loop \n");
> (gdb)
> 8 printf("Thread 2, loop \n");
> (gdb)
>
> No more reverse-execution history. <===== What about lines 7, 6, 5?
> main () at a.cc:4
> 4 char* cptr = "Thread 1";
>
>

[-- Attachment #2: prec.tar.bz2 --]
[-- Type: application/x-bzip2, Size: 24862 bytes --]