This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug fortran/54405] New: bad debugging info which lead to a wrong behavior of reverse-next in gdb
- From: "Edouard.Canot at irisa dot fr" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Wed, 29 Aug 2012 12:28:05 +0000
- Subject: [Bug fortran/54405] New: bad debugging info which lead to a wrong behavior of reverse-next in gdb
- Auto-submitted: auto-generated
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54405
Bug #: 54405
Summary: bad debugging info which lead to a wrong behavior of
reverse-next in gdb
Classification: Unclassified
Product: gcc
Version: 4.6.3
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: fortran
AssignedTo: unassigned@gcc.gnu.org
ReportedBy: Edouard.Canot@irisa.fr
Created attachment 28098
--> http://gcc.gnu.org/bugzilla/attachment.cgi?id=28098
short fortran source file used in the example
Reverse debugging works badly with the attached fortran source file, at least
when using GCC 4.6.3 and GCC 4.7.1.
More precisely, during debugging, the first use of the 'reverse-next' command
(after using record, of course), makes the debugger jump back the first line
where the 'record' command was applied; for example:
===================
(gdb) break MAIN__
Breakpoint 1 at 0x402f87: file essai_1.f90, line 3.
(gdb) run
Starting program: .../essai_1
Breakpoint 1, essai_1 () at essai_1.f90:3
3 x = 1.0
(gdb) record
(gdb) n
4 print *, "x = ", x
(gdb) n
x = 1.00000000
6 x = 2.5
(gdb) n
7 print *, "x = ", x
(gdb) n
x = 2.50000000
9 x = 3.14159265
(gdb) n
10 print *, "x = ", x
(gdb) n
x = 3.14159274
12 end program
(gdb) reverse-next
4 print *, "x = ", x
==================
The behavior is correct with GCC 4.5.4, so I think it is a regression problem.
The problem has been detected with gdb-7.4 and gdb-7.5.