This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug go/52583] Several new go testsuite failues on Solaris


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]