From: Cherry Zhang Date: Sat, 12 Oct 2019 18:01:57 +0000 (-0400) Subject: [dev.link] cmd/internal/obj: convert "\" to "/" in file path X-Git-Tag: go1.14beta1~292^2^2~55 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=90fe9c7c5c19cd0816c8afaa65a7f14d18cd3860;p=gostls13.git [dev.link] cmd/internal/obj: convert "\" to "/" in file path The old code does this. Do the same. Change-Id: Ibf32ac347d6425e19ad0bc664c6b43ab5eba9c5e Reviewed-on: https://go-review.googlesource.com/c/go/+/201022 Run-TryBot: Cherry Zhang TryBot-Result: Gobot Gobot Reviewed-by: Than McIntosh --- diff --git a/src/cmd/internal/obj/objfile2.go b/src/cmd/internal/obj/objfile2.go index caa442c0d3..3f68d335ac 100644 --- a/src/cmd/internal/obj/objfile2.go +++ b/src/cmd/internal/obj/objfile2.go @@ -12,6 +12,7 @@ import ( "cmd/internal/goobj2" "cmd/internal/objabi" "fmt" + "path/filepath" "strings" ) @@ -200,11 +201,11 @@ func (w *writer) StringTable() { } pc := &s.Func.Pcln for _, f := range pc.File { - w.AddString(f) + w.AddString(filepath.ToSlash(f)) } for _, call := range pc.InlTree.nodes { f, _ := linkgetlineFromPos(w.ctxt, call.Pos) - w.AddString(f) + w.AddString(filepath.ToSlash(f)) } }) for _, f := range w.ctxt.PosTable.DebugLinesFileTable() { @@ -242,8 +243,12 @@ func (w *writer) Sym(s *LSym) { if s.TopFrame() { flag |= goobj2.SymFlagTopFrame } + name := s.Name + if strings.HasPrefix(name, "gofile..") { + name = filepath.ToSlash(name) + } o := goobj2.Sym{ - Name: s.Name, + Name: name, ABI: abi, Type: uint8(s.Type), Flag: flag,