From: Alan Donovan Date: Mon, 25 Apr 2016 22:31:36 +0000 (-0400) Subject: gc: use AbsFileLine for deterministic binary export data X-Git-Tag: go1.7beta1~482 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=6e4a8615f652a2020471622354be6d890404020c;p=gostls13.git gc: use AbsFileLine for deterministic binary export data This version of the file name honors the -trimprefix flag, which strips off variable parts like $WORK or $PWD. The TestCgoConsistentResults test now passes. Change-Id: If93980b054f9b13582dd314f9d082c26eaac4f41 Reviewed-on: https://go-review.googlesource.com/22444 Reviewed-by: Robert Griesemer --- diff --git a/src/cmd/compile/internal/gc/bexport.go b/src/cmd/compile/internal/gc/bexport.go index b44eb5e05a..5618012c77 100644 --- a/src/cmd/compile/internal/gc/bexport.go +++ b/src/cmd/compile/internal/gc/bexport.go @@ -113,12 +113,8 @@ import ( const debugFormat = false // default: false // If posInfoFormat is set, position information (file, lineno) is written -// for each exported object, including methods and struct fields. Currently -// disabled because it may lead to different object files depending on which -// directory they are built under, which causes tests checking for hermetic -// builds to fail (e.g. TestCgoConsistentResults for cmd/go). -// TODO(gri) determine what to do here. -const posInfoFormat = false +// for each exported object, including methods and struct fields. +const posInfoFormat = true // default: true // TODO(gri) remove eventually const forceNewExport = false // force new export format - do NOT submit with this flag set @@ -517,7 +513,7 @@ func (p *exporter) pos(n *Node) { var file string var line int if n != nil { - file, line = Ctxt.LineHist.FileLine(int(n.Lineno)) + file, line = Ctxt.LineHist.AbsFileLine(int(n.Lineno)) } if file == p.prevFile && line != p.prevLine {