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 #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.


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