1
0
mirror of https://github.com/golang/go synced 2024-11-07 08:46:19 -07:00

[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 <cherryyz@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Than McIntosh <thanm@google.com>
This commit is contained in:
Cherry Zhang 2019-10-09 15:53:03 -04:00
parent ffca64dcf3
commit 0108b54a3d

View File

@ -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 {