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 <cherryyz@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Than McIntosh <thanm@google.com>
"cmd/internal/goobj2"
"cmd/internal/objabi"
"fmt"
+ "strings"
)
// Read object file in new format. For now we still fill
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 {