http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52583
--- Comment #11 from Uros Bizjak <ubizjak at gmail dot com> 2012-03-17 15:13:15 UTC --- Created attachment 26906 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=26906 Patch to log/log_test.go that witll trigger the failure on x86_64. (In reply to comment #6) > The place that Go is reading that information is > libgo/go/debug/dwarf/line.go. > Most likely something is going wrong in the way that it gathers the > information, but I don't know what. Attached patch will trigger the failure on x86_64. Please place breakpoint at findLine (line.go:103), and check ranges at line.go:111: (gdb) p ln.addrs $7 = {__values = 0xf8400a3900, __count = 6, __capacity = 8} (gdb) p ln.addrs.__values[0] $8 = {pc = 4212288, line = 60} (gdb) p ln.addrs.__values[5] $9 = {pc = 4212356, line = 60} (gdb) p/x ln.addrs.__values[0].pc $11 = 0x404640 (gdb) p/x ln.addrs.__values[5].pc $12 = 0x404684 (gdb) p/x *pc $13 = 0x4047d5 The pc will be outside the boundaries, and will cause: [uros@localhost gotest30392]$ ./a.out --- FAIL: log.TestAll (0.01 seconds) log_test.go:55: log output should match "^.*/[A-Za-z0-9_\\-]+\\.go:(54|56): hello 23 world$" is ":0: hello 23 world" FAIL