aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/link
diff options
context:
space:
mode:
authorThan McIntosh <thanm@google.com>2020-03-04 11:32:46 -0500
committerThan McIntosh <thanm@google.com>2020-03-05 16:21:07 +0000
commit4a6c1caae2a4e5aa238bdb34a77882cc13b2fa3d (patch)
treef24548f56852c469392612804f663a04cf4cc6da /src/cmd/link
parentef44bd8413a9174f83af39538c62277ea195405a (diff)
downloadgo-4a6c1caae2a4e5aa238bdb34a77882cc13b2fa3d.tar.xz
[dev.link] cmd/link: small cleanup of loader ocache
Remove references to the loader.Loader's "ocache" field, which is no longer being used the way it was. Add in a new field for object index to the oReader type. Change-Id: Icae6c54dbbdbbfa63ab9de3e4dc09e10abd57ee3 Reviewed-on: https://go-review.googlesource.com/c/go/+/222063 Run-TryBot: Than McIntosh <thanm@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Cherry Zhang <cherryyz@google.com>
Diffstat (limited to 'src/cmd/link')
-rw-r--r--src/cmd/link/internal/loader/loader.go10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/cmd/link/internal/loader/loader.go b/src/cmd/link/internal/loader/loader.go
index e4691b4813..1be94d35c5 100644
--- a/src/cmd/link/internal/loader/loader.go
+++ b/src/cmd/link/internal/loader/loader.go
@@ -59,8 +59,9 @@ type oReader struct {
version int // version of static symbol
flags uint32 // read from object file
pkgprefix string
- syms []Sym // Sym's global index, indexed by local index
- ndef int // cache goobj2.Reader.NSym()
+ syms []Sym // Sym's global index, indexed by local index
+ ndef int // cache goobj2.Reader.NSym()
+ objidx uint32 // index of this reader in the objs slice
}
type objIdx struct {
@@ -152,7 +153,6 @@ type Loader struct {
objs []objIdx // sorted by start index (i.e. objIdx.i)
extStart Sym // from this index on, the symbols are externally defined
builtinSyms []Sym // global index of builtin symbols
- ocache int // index (into 'objs') of most recent lookup
objSyms []objSym // global index mapping to local index
@@ -1580,7 +1580,7 @@ func (l *Loader) Preload(syms *sym.Symbols, f *bio.Reader, lib *sym.Library, uni
pkgprefix := objabi.PathToPrefix(lib.Pkg) + "."
ndef := r.NSym()
nnonpkgdef := r.NNonpkgdef()
- or := &oReader{r, unit, localSymVersion, r.Flags(), pkgprefix, make([]Sym, ndef+nnonpkgdef+r.NNonpkgref()), ndef}
+ or := &oReader{r, unit, localSymVersion, r.Flags(), pkgprefix, make([]Sym, ndef+nnonpkgdef+r.NNonpkgref()), ndef, uint32(len(l.objs))}
// Autolib
lib.ImportStrings = append(lib.ImportStrings, r.Autolib()...)
@@ -2005,7 +2005,7 @@ func (l *Loader) cloneToExternal(symIdx Sym) {
pp.kind = skind
pp.ver = sver
pp.size = int64(osym.Siz)
- pp.objidx = uint32(l.ocache)
+ pp.objidx = r.objidx
// If this is a def, then copy the guts. We expect this case
// to be very rare (one case it may come up is with -X).