From 0108b54a3d6d53d13bc5cb935e3a79121b7ee49e Mon Sep 17 00:00:00 2001 From: Cherry Zhang Date: Wed, 9 Oct 2019 15:53:03 -0400 Subject: [PATCH] [dev.link] cmd/internal/goobj: replace `"".` with package prefix in newobj mode This is the behavior of the old code. Do the same. Change-Id: I3d393d754dcbdb7e76a577252a94214d2e316651 Reviewed-on: https://go-review.googlesource.com/c/go/+/200159 Run-TryBot: Cherry Zhang TryBot-Result: Gobot Gobot Reviewed-by: Than McIntosh --- src/cmd/internal/goobj/readnew.go | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/cmd/internal/goobj/readnew.go b/src/cmd/internal/goobj/readnew.go index 442784de3a..b4b84692d5 100644 --- a/src/cmd/internal/goobj/readnew.go +++ b/src/cmd/internal/goobj/readnew.go @@ -8,6 +8,7 @@ import ( "cmd/internal/goobj2" "cmd/internal/objabi" "fmt" + "strings" ) // Read object file in new format. For now we still fill @@ -67,7 +68,11 @@ func (r *objReader) readNew() { if osym.Name == "" { continue // not a real symbol } - symID := SymID{Name: osym.Name, Version: abiToVer(osym.ABI)} + // In a symbol name in an object file, "". denotes the + // prefix for the package in which the object file has been found. + // Expand it. + name := strings.ReplaceAll(osym.Name, `"".`, r.pkgprefix) + symID := SymID{Name: name, Version: abiToVer(osym.ABI)} r.p.SymRefs = append(r.p.SymRefs, symID) if i >= ndef { -- 2.48.1