[Bug debug/101669] New: error reading variable from debug information when compiling with -O2
guojiufu at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Thu Jul 29 06:28:42 GMT 2021
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101669
Bug ID: 101669
Summary: error reading variable from debug information when
compiling with -O2
Product: gcc
Version: 11.0
Status: UNCONFIRMED
Severity: minor
Priority: P3
Component: debug
Assignee: unassigned at gcc dot gnu.org
Reporter: guojiufu at gcc dot gnu.org
Target Milestone: ---
For below case:
----------gdb.f90
integer :: a(10), b(12)
call sub (a, 10)
call sub (b, 12)
write (*,*) a, b
end
subroutine sub (a, n)
integer :: a(n), n
integer(kind=8) nl, i
nl = n
do i = 1, nl
a(i) = i
end do
write (*,*) a
end subroutine
------------
At -O2, using command "gfortran -O2 -g ~/temp/gdb.f90 -o arg1.exe" to compile,
when debugger it with gdb, there is log:
a=<error reading variable: dwarf2_find_location_expression: Corrupted DWARF
expression.>
$ gdb arg1.exe
...
(gdb) b sub
Breakpoint 1 at 0x400710: file /home/guojiufu/temp/gdb.f90, line 7.
(gdb) r
Starting program: /home/guojiufu/gcc/build/gcc-mainline-base/arg1.exe
Breakpoint 1, sub (a=<error reading variable: dwarf2_find_location_expression:
Corrupted DWARF expression.>,
n=10) at /home/guojiufu/temp/gdb.f90:7
7 subroutine sub (a, n)
This msg does not occur when compiling with -O3 -g.
This issue can be reproduced on x86/ppc64le with the latest trunk, and also
occur in gcc11.
More information about the Gcc-bugs
mailing list