I'm seeing gdb debug info missing for some local variables in go1.2rc3/amd64/linux. Is this a known issue? (I'm not sure how/where to search for these things). I'm using gdb 7.4-2012.04-0ubuntu2.1.
code snippet:
s3, err := capn.ReadFromStream(file2, nil)
if err != nil {
fmt.Printf("read error %v\n", err)
return
}
and in gdb after stepping past the above lines:
(gdb) p s3
No symbol "s3" in current context.
(gdb) list
269 RET
270
271 // int64 clone(int32 flags, void *stack, M *mp, G *gp, void (*fn)(void));
272 TEXT runtime·clone(SB),NOSPLIT,$0
273 MOVL flags+8(SP), DI
274 MOVQ stack+16(SP), SI
275
276 // Copy mp, gp, fn off parent stack for use by child.
277 // Careful: Linux system call clobbers CX and R11.
278 MOVQ mm+24(SP), R8
(gdb) i lo
file = 0xc210000058
s2 = 0xc21001d330
&buf2 = 0xc210048070
s = 0xc21001d2d0
b·3 = 0xc21001d2d0
file2 = 0xc210000068
&buf = 0xc210048000
fn = {str = 0x5320b0 "sample.zdate.cp", len = 15}
err = {tab = 0x0, data = 0x0}
data·2 = {array = 0x0, len = 0, cap = 0}
z2 = {Segment = 0xc21001d330, off = 8, length = 0, datasz = 16, ptrs = 1, typ = 1 '\001', flags = 0}
d = {Segment = 0xc21001d2d0, off = 32, length = 0, datasz = 8, ptrs = 0, typ = 1 '\001', flags = 0}
d2 = {Segment = 0xc21001d330, off = 32, length = 0, datasz = 8, ptrs = 0, typ = 1 '\001', flags = 0}
z = {Segment = 0xc21001d2d0, off = 8, length = 0, datasz = 16, ptrs = 1, typ = 1 '\001', flags = 0}
d3 = {Segment = 0x41d419, off = 833492210096, length = 4314137, datasz = 833492340864, ptrs = 1664, typ = 0 '\000', flags = 4233167}
z3 = {Segment = 0x10, off = 4314137, length = 4319617, datasz = 4314137, ptrs = 833492132336, typ = 16 '\020', flags = 4319744}
(gdb)