This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug go/52583] Several new go testsuite failues on Solaris
- From: "ubizjak at gmail dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Fri, 16 Mar 2012 08:44:50 +0000
- Subject: [Bug go/52583] Several new go testsuite failues on Solaris
- Auto-submitted: auto-generated
- References: <bug-52583-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52583
--- Comment #7 from Uros Bizjak <ubizjak at gmail dot com> 2012-03-16 08:44:50 UTC ---
(In reply to comment #6)
> Thanks for looking at this.
>
> The first step is to run readelf --debug=line FILE to make sure that the line
> number information is recorded correctly. Which of course it probably is. If
> you have trouble parsing the --debug=line output, try --debug=decodedline.
>
> 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.
Something happens at line 48 (is_stmt is briefly toggled and Discriminator is
set):
Special opcode 9: advance Address by 0 to 0x120004dd8 and Line by 4 to 47
Special opcode 76: advance Address by 20 to 0x120004dec and Line by 1 to 48
Special opcode 18: advance Address by 4 to 0x120004df0 and Line by -1 to 47
Special opcode 20: advance Address by 4 to 0x120004df4 and Line by 1 to 48
Extended opcode 4: set Discriminator to 2
Set is_stmt to 0
Special opcode 33: advance Address by 8 to 0x120004dfc and Line by 0 to 48
Extended opcode 4: set Discriminator to 2
Set is_stmt to 1
Special opcode 118: advance Address by 32 to 0x120004e1c and Line by 1 to 49
Extended opcode 4: set Discriminator to 2
Special opcode 18: advance Address by 4 to 0x120004e20 and Line by -1 to 48
Extended opcode 4: set Discriminator to 2
Special opcode 20: advance Address by 4 to 0x120004e24 and Line by 1 to 49
Extended opcode 4: set Discriminator to 2
Special opcode 116: advance Address by 32 to 0x120004e44 and Line by -1 to 48
Also --debug=decodedline says:
log_test.go 47 0x120004dd8
log_test.go 48 0x120004dec
log_test.go 47 0x120004df0
log_test.go 48 0x120004df4
UNKNOWN: length 2
log_test.go 48 0x120004dfc
UNKNOWN: length 2
log_test.go 49 0x120004e1c
It is probably this UNKNOWN that disturbs decoding.