[Bug debug/50317] New: [4.7 Regression] missing DW_OP_GNU_implicit_pointer
jan.kratochvil at redhat dot com
gcc-bugzilla@gcc.gnu.org
Wed Sep 7 10:57:00 GMT 2011
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50317
Bug #: 50317
Summary: [4.7 Regression] missing DW_OP_GNU_implicit_pointer
Classification: Unclassified
Product: gcc
Version: 4.7.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: debug
AssignedTo: unassigned@gcc.gnu.org
ReportedBy: jan.kratochvil@redhat.com
Target: i686-unknown-linux-gnu
PASS: gcc (GCC) 4.6.2 20110907 (prerelease)
<2><5e>: Abbrev Number: 5 (DW_TAG_variable)
<5f> DW_AT_name : p
<67> DW_AT_location : 16 byte block: f2 44 0 0 0 0 93 4 f2 51 0 0 0 0
93 4 (DW_OP_GNU_implicit_pointer: <0x44> 0; DW_OP_piece: 4;
DW_OP_GNU_implicit_pointer: <0x51> 0; DW_OP_piece: 4)
(gdb) print *p[1]
$1 = 23
FAIL: gcc (GCC) 4.7.0 20110907 (experimental)
<2><5b>: Abbrev Number: 5 (DW_TAG_variable)
<5c> DW_AT_name : p
<64> DW_AT_location : 10 byte block: f2 45 0 0 0 0 93 4 93 4
(DW_OP_GNU_implicit_pointer: <0x45> 0; DW_OP_piece: 4; DW_OP_piece: 4)
(gdb) print *p[1]
Cannot access memory at address 0x0
GNU gdb (GDB) 7.3.50.20110907-cvs
(gdb) break foo
(gdb) run
(gdb) print *p[1]
static __attribute__((noinline, noclone)) int foo (int i)
{
int j = i;
int *p[2] = { &i, &j };
return *p[0] + *p[1];
}
int main (void)
{
return foo (23);
}
That p[1] content definition is missing.
There are many incompletele debug info cases around, filing it because it is a
regression (visible on GDB testcase gdb.dwarf2/implptr.exp).
More information about the Gcc-bugs
mailing list