[dev.link] cmd: remove "2", another round
Rename the goobj2 package to goobj.
Change-Id: Iff97b5575cbac45ac44de96b6bd9d555b9a4a12a
Reviewed-on: https://go-review.googlesource.com/c/go/+/246444
Run-TryBot: Cherry Zhang <cherryyz@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Austin Clements <austin@google.com>
diff --git a/src/cmd/compile/internal/gc/iexport.go b/src/cmd/compile/internal/gc/iexport.go
index 7a7dbde..b3f50b6 100644
--- a/src/cmd/compile/internal/gc/iexport.go
+++ b/src/cmd/compile/internal/gc/iexport.go
@@ -205,7 +205,7 @@
"bufio"
"bytes"
"cmd/compile/internal/types"
- "cmd/internal/goobj2"
+ "cmd/internal/goobj"
"cmd/internal/src"
"crypto/md5"
"encoding/binary"
@@ -1004,7 +1004,7 @@
func (w *exportWriter) symIdx(s *types.Sym) {
lsym := s.Linksym()
- if lsym.PkgIdx > goobj2.PkgIdxSelf || (lsym.PkgIdx == goobj2.PkgIdxInvalid && !lsym.Indexed()) || s.Linkname != "" {
+ if lsym.PkgIdx > goobj.PkgIdxSelf || (lsym.PkgIdx == goobj.PkgIdxInvalid && !lsym.Indexed()) || s.Linkname != "" {
// Don't export index for non-package symbols, linkname'd symbols,
// and symbols without an index. They can only be referenced by
// name.
diff --git a/src/cmd/compile/internal/gc/iimport.go b/src/cmd/compile/internal/gc/iimport.go
index 29bb1e5..0eeb047 100644
--- a/src/cmd/compile/internal/gc/iimport.go
+++ b/src/cmd/compile/internal/gc/iimport.go
@@ -10,7 +10,7 @@
import (
"cmd/compile/internal/types"
"cmd/internal/bio"
- "cmd/internal/goobj2"
+ "cmd/internal/goobj"
"cmd/internal/obj"
"cmd/internal/src"
"encoding/binary"
@@ -97,7 +97,7 @@
return i
}
-func iimport(pkg *types.Pkg, in *bio.Reader) (fingerprint goobj2.FingerprintType) {
+func iimport(pkg *types.Pkg, in *bio.Reader) (fingerprint goobj.FingerprintType) {
ir := &intReader{in, pkg}
version := ir.uint64()
diff --git a/src/cmd/compile/internal/gc/main.go b/src/cmd/compile/internal/gc/main.go
index 4417e706..eedfc4b 100644
--- a/src/cmd/compile/internal/gc/main.go
+++ b/src/cmd/compile/internal/gc/main.go
@@ -14,7 +14,7 @@
"cmd/compile/internal/types"
"cmd/internal/bio"
"cmd/internal/dwarf"
- "cmd/internal/goobj2"
+ "cmd/internal/goobj"
"cmd/internal/obj"
"cmd/internal/objabi"
"cmd/internal/src"
@@ -1280,7 +1280,7 @@
c, _ = imp.ReadByte()
}
- var fingerprint goobj2.FingerprintType
+ var fingerprint goobj.FingerprintType
switch c {
case '\n':
yyerror("cannot import %s: old export format no longer supported (recompile library)", path_)
diff --git a/src/cmd/dist/buildtool.go b/src/cmd/dist/buildtool.go
index 9502dac..40d28b5 100644
--- a/src/cmd/dist/buildtool.go
+++ b/src/cmd/dist/buildtool.go
@@ -56,7 +56,7 @@
"cmd/internal/gcprog",
"cmd/internal/dwarf",
"cmd/internal/edit",
- "cmd/internal/goobj2",
+ "cmd/internal/goobj",
"cmd/internal/objabi",
"cmd/internal/obj",
"cmd/internal/obj/arm",
diff --git a/src/cmd/internal/archive/read.go b/src/cmd/internal/archive/read.go
index 6875dbc..e67f06d 100644
--- a/src/cmd/internal/archive/read.go
+++ b/src/cmd/internal/archive/read.go
@@ -10,7 +10,7 @@
"bufio"
"bytes"
"cmd/internal/bio"
- "cmd/internal/goobj2"
+ "cmd/internal/goobj"
"errors"
"fmt"
"io"
@@ -318,7 +318,7 @@
if err != nil {
return err
}
- if !bytes.Equal(p, []byte(goobj2.Magic)) {
+ if !bytes.Equal(p, []byte(goobj.Magic)) {
return r.error(errCorruptObject)
}
r.skip(o.Size)
diff --git a/src/cmd/internal/goobj2/builtin.go b/src/cmd/internal/goobj/builtin.go
similarity index 98%
rename from src/cmd/internal/goobj2/builtin.go
rename to src/cmd/internal/goobj/builtin.go
index 65f9dd5..e7d612a 100644
--- a/src/cmd/internal/goobj2/builtin.go
+++ b/src/cmd/internal/goobj/builtin.go
@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
-package goobj2
+package goobj
// Builtin (compiler-generated) function references appear
// frequently. We assign special indices for them, so they
diff --git a/src/cmd/internal/goobj2/builtinlist.go b/src/cmd/internal/goobj/builtinlist.go
similarity index 99%
rename from src/cmd/internal/goobj2/builtinlist.go
rename to src/cmd/internal/goobj/builtinlist.go
index 171f57f..0cca752 100644
--- a/src/cmd/internal/goobj2/builtinlist.go
+++ b/src/cmd/internal/goobj/builtinlist.go
@@ -1,6 +1,6 @@
// Code generated by mkbuiltin.go. DO NOT EDIT.
-package goobj2
+package goobj
var builtins = [...]struct {
name string
diff --git a/src/cmd/internal/goobj2/funcinfo.go b/src/cmd/internal/goobj/funcinfo.go
similarity index 99%
rename from src/cmd/internal/goobj2/funcinfo.go
rename to src/cmd/internal/goobj/funcinfo.go
index 9d2522d..e0e6068 100644
--- a/src/cmd/internal/goobj2/funcinfo.go
+++ b/src/cmd/internal/goobj/funcinfo.go
@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
-package goobj2
+package goobj
import (
"bytes"
diff --git a/src/cmd/internal/goobj2/mkbuiltin.go b/src/cmd/internal/goobj/mkbuiltin.go
similarity index 98%
rename from src/cmd/internal/goobj2/mkbuiltin.go
rename to src/cmd/internal/goobj/mkbuiltin.go
index 4838fa2..07c3406 100644
--- a/src/cmd/internal/goobj2/mkbuiltin.go
+++ b/src/cmd/internal/goobj/mkbuiltin.go
@@ -32,7 +32,7 @@
var b bytes.Buffer
fmt.Fprintln(&b, "// Code generated by mkbuiltin.go. DO NOT EDIT.")
fmt.Fprintln(&b)
- fmt.Fprintln(&b, "package goobj2")
+ fmt.Fprintln(&b, "package goobj")
mkbuiltin(&b)
diff --git a/src/cmd/internal/goobj2/objfile.go b/src/cmd/internal/goobj/objfile.go
similarity index 99%
rename from src/cmd/internal/goobj2/objfile.go
rename to src/cmd/internal/goobj/objfile.go
index 49f45a7..5d4a253 100644
--- a/src/cmd/internal/goobj2/objfile.go
+++ b/src/cmd/internal/goobj/objfile.go
@@ -4,7 +4,7 @@
// Go new object file format, reading and writing.
-package goobj2 // TODO: replace the goobj package?
+package goobj
import (
"bytes"
diff --git a/src/cmd/internal/goobj2/objfile_test.go b/src/cmd/internal/goobj/objfile_test.go
similarity index 98%
rename from src/cmd/internal/goobj2/objfile_test.go
rename to src/cmd/internal/goobj/objfile_test.go
index 9fd121f..c6fd427 100644
--- a/src/cmd/internal/goobj2/objfile_test.go
+++ b/src/cmd/internal/goobj/objfile_test.go
@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
-package goobj2
+package goobj
import (
"bufio"
diff --git a/src/cmd/internal/obj/line.go b/src/cmd/internal/obj/line.go
index 54b9c47..87cd32b 100644
--- a/src/cmd/internal/obj/line.go
+++ b/src/cmd/internal/obj/line.go
@@ -5,13 +5,13 @@
package obj
import (
- "cmd/internal/goobj2"
+ "cmd/internal/goobj"
"cmd/internal/src"
)
// AddImport adds a package to the list of imported packages.
-func (ctxt *Link) AddImport(pkg string, fingerprint goobj2.FingerprintType) {
- ctxt.Imports = append(ctxt.Imports, goobj2.ImportedPkg{Pkg: pkg, Fingerprint: fingerprint})
+func (ctxt *Link) AddImport(pkg string, fingerprint goobj.FingerprintType) {
+ ctxt.Imports = append(ctxt.Imports, goobj.ImportedPkg{Pkg: pkg, Fingerprint: fingerprint})
}
func linkgetlineFromPos(ctxt *Link, xpos src.XPos) (f string, l int32) {
diff --git a/src/cmd/internal/obj/link.go b/src/cmd/internal/obj/link.go
index 62943a7c..dc47e51 100644
--- a/src/cmd/internal/obj/link.go
+++ b/src/cmd/internal/obj/link.go
@@ -33,7 +33,7 @@
import (
"bufio"
"cmd/internal/dwarf"
- "cmd/internal/goobj2"
+ "cmd/internal/goobj"
"cmd/internal/objabi"
"cmd/internal/src"
"cmd/internal/sys"
@@ -631,8 +631,8 @@
Pcdata []Pcdata
Funcdata []*LSym
Funcdataoff []int64
- UsedFiles map[goobj2.CUFileIndex]struct{} // file indices used while generating pcfile
- InlTree InlTree // per-function inlining tree extracted from the global tree
+ UsedFiles map[goobj.CUFileIndex]struct{} // file indices used while generating pcfile
+ InlTree InlTree // per-function inlining tree extracted from the global tree
}
type Reloc struct {
@@ -678,7 +678,7 @@
PosTable src.PosTable
InlTree InlTree // global inlining tree used by gc/inl.go
DwFixups *DwarfFixupTable
- Imports []goobj2.ImportedPkg
+ Imports []goobj.ImportedPkg
DiagFunc func(string, ...interface{})
DiagFlush func()
DebugInfo func(fn *LSym, info *LSym, curfn interface{}) ([]dwarf.Scope, dwarf.InlCalls) // if non-nil, curfn is a *gc.Node
@@ -720,7 +720,7 @@
nonpkgdefs []*LSym // list of defined non-package symbols
nonpkgrefs []*LSym // list of referenced non-package symbols
- Fingerprint goobj2.FingerprintType // fingerprint of symbol indices, to catch index mismatch
+ Fingerprint goobj.FingerprintType // fingerprint of symbol indices, to catch index mismatch
}
func (ctxt *Link) Diag(format string, args ...interface{}) {
diff --git a/src/cmd/internal/obj/objfile2.go b/src/cmd/internal/obj/objfile2.go
index ae1a364..f9720f0 100644
--- a/src/cmd/internal/obj/objfile2.go
+++ b/src/cmd/internal/obj/objfile2.go
@@ -9,7 +9,7 @@
import (
"bytes"
"cmd/internal/bio"
- "cmd/internal/goobj2"
+ "cmd/internal/goobj"
"cmd/internal/objabi"
"crypto/sha1"
"encoding/binary"
@@ -28,7 +28,7 @@
genFuncInfoSyms(ctxt)
w := writer{
- Writer: goobj2.NewWriter(b),
+ Writer: goobj.NewWriter(b),
ctxt: ctxt,
pkgpath: objabi.PathToPrefix(ctxt.Pkgpath),
}
@@ -40,16 +40,16 @@
// We just reserve the space. We'll fill in the offsets later.
flags := uint32(0)
if ctxt.Flag_shared {
- flags |= goobj2.ObjFlagShared
+ flags |= goobj.ObjFlagShared
}
if w.pkgpath == "" {
- flags |= goobj2.ObjFlagNeedNameExpansion
+ flags |= goobj.ObjFlagNeedNameExpansion
}
if ctxt.IsAsm {
- flags |= goobj2.ObjFlagFromAssembly
+ flags |= goobj.ObjFlagFromAssembly
}
- h := goobj2.Header{
- Magic: goobj2.Magic,
+ h := goobj.Header{
+ Magic: goobj.Magic,
Fingerprint: ctxt.Fingerprint,
Flags: flags,
}
@@ -59,70 +59,70 @@
w.StringTable()
// Autolib
- h.Offsets[goobj2.BlkAutolib] = w.Offset()
+ h.Offsets[goobj.BlkAutolib] = w.Offset()
for i := range ctxt.Imports {
ctxt.Imports[i].Write(w.Writer)
}
// Package references
- h.Offsets[goobj2.BlkPkgIdx] = w.Offset()
+ h.Offsets[goobj.BlkPkgIdx] = w.Offset()
for _, pkg := range w.pkglist {
w.StringRef(pkg)
}
// File table (for DWARF and pcln generation).
- h.Offsets[goobj2.BlkFile] = w.Offset()
+ h.Offsets[goobj.BlkFile] = w.Offset()
for _, f := range ctxt.PosTable.FileTable() {
w.StringRef(filepath.ToSlash(f))
}
// Symbol definitions
- h.Offsets[goobj2.BlkSymdef] = w.Offset()
+ h.Offsets[goobj.BlkSymdef] = w.Offset()
for _, s := range ctxt.defs {
w.Sym(s)
}
// Short hashed symbol definitions
- h.Offsets[goobj2.BlkHashed64def] = w.Offset()
+ h.Offsets[goobj.BlkHashed64def] = w.Offset()
for _, s := range ctxt.hashed64defs {
w.Sym(s)
}
// Hashed symbol definitions
- h.Offsets[goobj2.BlkHasheddef] = w.Offset()
+ h.Offsets[goobj.BlkHasheddef] = w.Offset()
for _, s := range ctxt.hasheddefs {
w.Sym(s)
}
// Non-pkg symbol definitions
- h.Offsets[goobj2.BlkNonpkgdef] = w.Offset()
+ h.Offsets[goobj.BlkNonpkgdef] = w.Offset()
for _, s := range ctxt.nonpkgdefs {
w.Sym(s)
}
// Non-pkg symbol references
- h.Offsets[goobj2.BlkNonpkgref] = w.Offset()
+ h.Offsets[goobj.BlkNonpkgref] = w.Offset()
for _, s := range ctxt.nonpkgrefs {
w.Sym(s)
}
// Referenced package symbol flags
- h.Offsets[goobj2.BlkRefFlags] = w.Offset()
+ h.Offsets[goobj.BlkRefFlags] = w.Offset()
w.refFlags()
// Hashes
- h.Offsets[goobj2.BlkHash64] = w.Offset()
+ h.Offsets[goobj.BlkHash64] = w.Offset()
for _, s := range ctxt.hashed64defs {
w.Hash64(s)
}
- h.Offsets[goobj2.BlkHash] = w.Offset()
+ h.Offsets[goobj.BlkHash] = w.Offset()
for _, s := range ctxt.hasheddefs {
w.Hash(s)
}
// TODO: hashedrefs unused/unsupported for now
// Reloc indexes
- h.Offsets[goobj2.BlkRelocIdx] = w.Offset()
+ h.Offsets[goobj.BlkRelocIdx] = w.Offset()
nreloc := uint32(0)
lists := [][]*LSym{ctxt.defs, ctxt.hashed64defs, ctxt.hasheddefs, ctxt.nonpkgdefs}
for _, list := range lists {
@@ -134,7 +134,7 @@
w.Uint32(nreloc)
// Symbol Info indexes
- h.Offsets[goobj2.BlkAuxIdx] = w.Offset()
+ h.Offsets[goobj.BlkAuxIdx] = w.Offset()
naux := uint32(0)
for _, list := range lists {
for _, s := range list {
@@ -145,7 +145,7 @@
w.Uint32(naux)
// Data indexes
- h.Offsets[goobj2.BlkDataIdx] = w.Offset()
+ h.Offsets[goobj.BlkDataIdx] = w.Offset()
dataOff := uint32(0)
for _, list := range lists {
for _, s := range list {
@@ -156,7 +156,7 @@
w.Uint32(dataOff)
// Relocs
- h.Offsets[goobj2.BlkReloc] = w.Offset()
+ h.Offsets[goobj.BlkReloc] = w.Offset()
for _, list := range lists {
for _, s := range list {
for i := range s.R {
@@ -166,7 +166,7 @@
}
// Aux symbol info
- h.Offsets[goobj2.BlkAux] = w.Offset()
+ h.Offsets[goobj.BlkAux] = w.Offset()
for _, list := range lists {
for _, s := range list {
w.Aux(s)
@@ -174,7 +174,7 @@
}
// Data
- h.Offsets[goobj2.BlkData] = w.Offset()
+ h.Offsets[goobj.BlkData] = w.Offset()
for _, list := range lists {
for _, s := range list {
w.Bytes(s.P)
@@ -182,7 +182,7 @@
}
// Pcdata
- h.Offsets[goobj2.BlkPcdata] = w.Offset()
+ h.Offsets[goobj.BlkPcdata] = w.Offset()
for _, s := range ctxt.Text { // iteration order must match genFuncInfoSyms
if s.Func != nil {
pc := &s.Func.Pcln
@@ -199,10 +199,10 @@
// Blocks used only by tools (objdump, nm).
// Referenced symbol names from other packages
- h.Offsets[goobj2.BlkRefName] = w.Offset()
+ h.Offsets[goobj.BlkRefName] = w.Offset()
w.refNames()
- h.Offsets[goobj2.BlkEnd] = w.Offset()
+ h.Offsets[goobj.BlkEnd] = w.Offset()
// Fix up block offsets in the header
end := start + int64(w.Offset())
@@ -212,7 +212,7 @@
}
type writer struct {
- *goobj2.Writer
+ *goobj.Writer
ctxt *Link
pkgpath string // the package import path (escaped), "" if unknown
pkglist []string // list of packages referenced, indexed by ctxt.pkgIdx
@@ -244,7 +244,7 @@
}
// Don't put names of builtins into the string table (to save
// space).
- if s.PkgIdx == goobj2.PkgIdxBuiltin {
+ if s.PkgIdx == goobj.PkgIdxBuiltin {
return
}
w.AddString(s.Name)
@@ -259,39 +259,39 @@
func (w *writer) Sym(s *LSym) {
abi := uint16(s.ABI())
if s.Static() {
- abi = goobj2.SymABIstatic
+ abi = goobj.SymABIstatic
}
flag := uint8(0)
if s.DuplicateOK() {
- flag |= goobj2.SymFlagDupok
+ flag |= goobj.SymFlagDupok
}
if s.Local() {
- flag |= goobj2.SymFlagLocal
+ flag |= goobj.SymFlagLocal
}
if s.MakeTypelink() {
- flag |= goobj2.SymFlagTypelink
+ flag |= goobj.SymFlagTypelink
}
if s.Leaf() {
- flag |= goobj2.SymFlagLeaf
+ flag |= goobj.SymFlagLeaf
}
if s.NoSplit() {
- flag |= goobj2.SymFlagNoSplit
+ flag |= goobj.SymFlagNoSplit
}
if s.ReflectMethod() {
- flag |= goobj2.SymFlagReflectMethod
+ flag |= goobj.SymFlagReflectMethod
}
if s.TopFrame() {
- flag |= goobj2.SymFlagTopFrame
+ flag |= goobj.SymFlagTopFrame
}
if strings.HasPrefix(s.Name, "type.") && s.Name[5] != '.' && s.Type == objabi.SRODATA {
- flag |= goobj2.SymFlagGoType
+ flag |= goobj.SymFlagGoType
}
flag2 := uint8(0)
if s.UsedInIface() {
- flag2 |= goobj2.SymFlagUsedInIface
+ flag2 |= goobj.SymFlagUsedInIface
}
if strings.HasPrefix(s.Name, "go.itab.") && s.Type == objabi.SRODATA {
- flag2 |= goobj2.SymFlagItab
+ flag2 |= goobj.SymFlagItab
}
name := s.Name
if strings.HasPrefix(name, "gofile..") {
@@ -320,7 +320,7 @@
// don't bother setting align to 1.
}
}
- var o goobj2.Sym
+ var o goobj.Sym
o.SetName(name, w.Writer)
o.SetABI(abi)
o.SetType(uint8(s.Type))
@@ -347,8 +347,8 @@
w.Bytes(b[:])
}
-func contentHash64(s *LSym) goobj2.Hash64Type {
- var b goobj2.Hash64Type
+func contentHash64(s *LSym) goobj.Hash64Type {
+ var b goobj.Hash64Type
copy(b[:], s.P)
return b
}
@@ -369,7 +369,7 @@
//
// For now, we assume there is no circular dependencies among
// hashed symbols.
-func (w *writer) contentHash(s *LSym) goobj2.HashType {
+func (w *writer) contentHash(s *LSym) goobj.HashType {
h := sha1.New()
// The compiler trims trailing zeros _sometimes_. We just do
// it always.
@@ -384,22 +384,22 @@
h.Write(tmp[:])
rs := r.Sym
switch rs.PkgIdx {
- case goobj2.PkgIdxHashed64:
+ case goobj.PkgIdxHashed64:
h.Write([]byte{0})
t := contentHash64(rs)
h.Write(t[:])
- case goobj2.PkgIdxHashed:
+ case goobj.PkgIdxHashed:
h.Write([]byte{1})
t := w.contentHash(rs)
h.Write(t[:])
- case goobj2.PkgIdxNone:
+ case goobj.PkgIdxNone:
h.Write([]byte{2})
io.WriteString(h, rs.Name) // name is already expanded at this point
- case goobj2.PkgIdxBuiltin:
+ case goobj.PkgIdxBuiltin:
h.Write([]byte{3})
binary.LittleEndian.PutUint32(tmp[:4], uint32(rs.SymIdx))
h.Write(tmp[:4])
- case goobj2.PkgIdxSelf:
+ case goobj.PkgIdxSelf:
io.WriteString(h, w.pkgpath)
binary.LittleEndian.PutUint32(tmp[:4], uint32(rs.SymIdx))
h.Write(tmp[:4])
@@ -409,24 +409,24 @@
h.Write(tmp[:4])
}
}
- var b goobj2.HashType
+ var b goobj.HashType
copy(b[:], h.Sum(nil))
return b
}
-func makeSymRef(s *LSym) goobj2.SymRef {
+func makeSymRef(s *LSym) goobj.SymRef {
if s == nil {
- return goobj2.SymRef{}
+ return goobj.SymRef{}
}
if s.PkgIdx == 0 || !s.Indexed() {
fmt.Printf("unindexed symbol reference: %v\n", s)
panic("unindexed symbol reference")
}
- return goobj2.SymRef{PkgIdx: uint32(s.PkgIdx), SymIdx: uint32(s.SymIdx)}
+ return goobj.SymRef{PkgIdx: uint32(s.PkgIdx), SymIdx: uint32(s.SymIdx)}
}
func (w *writer) Reloc(r *Reloc) {
- var o goobj2.Reloc
+ var o goobj.Reloc
o.SetOff(r.Off)
o.SetSiz(r.Siz)
o.SetType(uint8(r.Type))
@@ -436,7 +436,7 @@
}
func (w *writer) aux1(typ uint8, rs *LSym) {
- var o goobj2.Aux
+ var o goobj.Aux
o.SetType(typ)
o.SetSym(makeSymRef(rs))
o.Write(w.Writer)
@@ -444,26 +444,26 @@
func (w *writer) Aux(s *LSym) {
if s.Gotype != nil {
- w.aux1(goobj2.AuxGotype, s.Gotype)
+ w.aux1(goobj.AuxGotype, s.Gotype)
}
if s.Func != nil {
- w.aux1(goobj2.AuxFuncInfo, s.Func.FuncInfoSym)
+ w.aux1(goobj.AuxFuncInfo, s.Func.FuncInfoSym)
for _, d := range s.Func.Pcln.Funcdata {
- w.aux1(goobj2.AuxFuncdata, d)
+ w.aux1(goobj.AuxFuncdata, d)
}
if s.Func.dwarfInfoSym != nil && s.Func.dwarfInfoSym.Size != 0 {
- w.aux1(goobj2.AuxDwarfInfo, s.Func.dwarfInfoSym)
+ w.aux1(goobj.AuxDwarfInfo, s.Func.dwarfInfoSym)
}
if s.Func.dwarfLocSym != nil && s.Func.dwarfLocSym.Size != 0 {
- w.aux1(goobj2.AuxDwarfLoc, s.Func.dwarfLocSym)
+ w.aux1(goobj.AuxDwarfLoc, s.Func.dwarfLocSym)
}
if s.Func.dwarfRangesSym != nil && s.Func.dwarfRangesSym.Size != 0 {
- w.aux1(goobj2.AuxDwarfRanges, s.Func.dwarfRangesSym)
+ w.aux1(goobj.AuxDwarfRanges, s.Func.dwarfRangesSym)
}
if s.Func.dwarfDebugLinesSym != nil && s.Func.dwarfDebugLinesSym.Size != 0 {
- w.aux1(goobj2.AuxDwarfLines, s.Func.dwarfDebugLinesSym)
+ w.aux1(goobj.AuxDwarfLines, s.Func.dwarfDebugLinesSym)
}
}
}
@@ -473,9 +473,9 @@
seen := make(map[*LSym]bool)
w.ctxt.traverseSyms(traverseRefs, func(rs *LSym) { // only traverse refs, not auxs, as tools don't need auxs
switch rs.PkgIdx {
- case goobj2.PkgIdxNone, goobj2.PkgIdxHashed64, goobj2.PkgIdxHashed, goobj2.PkgIdxBuiltin, goobj2.PkgIdxSelf: // not an external indexed reference
+ case goobj.PkgIdxNone, goobj.PkgIdxHashed64, goobj.PkgIdxHashed, goobj.PkgIdxBuiltin, goobj.PkgIdxSelf: // not an external indexed reference
return
- case goobj2.PkgIdxInvalid:
+ case goobj.PkgIdxInvalid:
panic("unindexed symbol reference")
}
if seen[rs] {
@@ -485,12 +485,12 @@
symref := makeSymRef(rs)
flag2 := uint8(0)
if rs.UsedInIface() {
- flag2 |= goobj2.SymFlagUsedInIface
+ flag2 |= goobj.SymFlagUsedInIface
}
if flag2 == 0 {
return // no need to write zero flags
}
- var o goobj2.RefFlags
+ var o goobj.RefFlags
o.SetSym(symref)
o.SetFlag2(flag2)
o.Write(w.Writer)
@@ -503,9 +503,9 @@
seen := make(map[*LSym]bool)
w.ctxt.traverseSyms(traverseRefs, func(rs *LSym) { // only traverse refs, not auxs, as tools don't need auxs
switch rs.PkgIdx {
- case goobj2.PkgIdxNone, goobj2.PkgIdxHashed64, goobj2.PkgIdxHashed, goobj2.PkgIdxBuiltin, goobj2.PkgIdxSelf: // not an external indexed reference
+ case goobj.PkgIdxNone, goobj.PkgIdxHashed64, goobj.PkgIdxHashed, goobj.PkgIdxBuiltin, goobj.PkgIdxSelf: // not an external indexed reference
return
- case goobj2.PkgIdxInvalid:
+ case goobj.PkgIdxInvalid:
panic("unindexed symbol reference")
}
if seen[rs] {
@@ -513,7 +513,7 @@
}
seen[rs] = true
symref := makeSymRef(rs)
- var o goobj2.RefName
+ var o goobj.RefName
o.SetSym(symref)
o.SetName(rs.Name, w.Writer)
o.Write(w.Writer)
@@ -560,7 +560,7 @@
if s.Func == nil {
continue
}
- o := goobj2.FuncInfo{
+ o := goobj.FuncInfo{
Args: uint32(s.Func.Args),
Locals: uint32(s.Func.Locals),
FuncID: objabi.FuncID(s.Func.FuncID),
@@ -585,18 +585,18 @@
o.Funcdataoff[i] = uint32(x)
}
i := 0
- o.File = make([]goobj2.CUFileIndex, len(pc.UsedFiles))
+ o.File = make([]goobj.CUFileIndex, len(pc.UsedFiles))
for f := range pc.UsedFiles {
o.File[i] = f
i++
}
sort.Slice(o.File, func(i, j int) bool { return o.File[i] < o.File[j] })
- o.InlTree = make([]goobj2.InlTreeNode, len(pc.InlTree.nodes))
+ o.InlTree = make([]goobj.InlTreeNode, len(pc.InlTree.nodes))
for i, inl := range pc.InlTree.nodes {
f, l := getFileIndexAndLine(ctxt, inl.Pos)
- o.InlTree[i] = goobj2.InlTreeNode{
+ o.InlTree[i] = goobj.InlTreeNode{
Parent: int32(inl.Parent),
- File: goobj2.CUFileIndex(f),
+ File: goobj.CUFileIndex(f),
Line: l,
Func: makeSymRef(inl.Func),
ParentPC: inl.ParentPC,
@@ -606,7 +606,7 @@
o.Write(&b)
isym := &LSym{
Type: objabi.SDATA, // for now, I don't think it matters
- PkgIdx: goobj2.PkgIdxSelf,
+ PkgIdx: goobj.PkgIdxSelf,
SymIdx: symidx,
P: append([]byte(nil), b.Bytes()...),
}
@@ -621,7 +621,7 @@
if s == nil || s.Size == 0 {
continue
}
- s.PkgIdx = goobj2.PkgIdxSelf
+ s.PkgIdx = goobj.PkgIdxSelf
s.SymIdx = symidx
s.Set(AttrIndexed, true)
symidx++
diff --git a/src/cmd/internal/obj/objfile_test.go b/src/cmd/internal/obj/objfile_test.go
index ed3be20..155701f 100644
--- a/src/cmd/internal/obj/objfile_test.go
+++ b/src/cmd/internal/obj/objfile_test.go
@@ -5,7 +5,7 @@
package obj
import (
- "cmd/internal/goobj2"
+ "cmd/internal/goobj"
"cmd/internal/sys"
"testing"
)
@@ -43,7 +43,7 @@
}
for _, s := range syms {
s.Set(AttrContentAddressable, true)
- s.PkgIdx = goobj2.PkgIdxHashed
+ s.PkgIdx = goobj.PkgIdxHashed
}
// s3 references s0
r := Addrel(syms[3])
@@ -59,7 +59,7 @@
r.Sym = syms[2]
// compute hashes
- h := make([]goobj2.HashType, len(syms))
+ h := make([]goobj.HashType, len(syms))
w := &writer{}
for i := range h {
h[i] = w.contentHash(syms[i])
diff --git a/src/cmd/internal/obj/pcln.go b/src/cmd/internal/obj/pcln.go
index b9d58e7..1f7ccf4 100644
--- a/src/cmd/internal/obj/pcln.go
+++ b/src/cmd/internal/obj/pcln.go
@@ -5,7 +5,7 @@
package obj
import (
- "cmd/internal/goobj2"
+ "cmd/internal/goobj"
"encoding/binary"
"log"
)
@@ -136,7 +136,7 @@
return l
}
pcln := arg.(*Pcln)
- pcln.UsedFiles[goobj2.CUFileIndex(f)] = struct{}{}
+ pcln.UsedFiles[goobj.CUFileIndex(f)] = struct{}{}
return int32(f)
}
@@ -249,7 +249,7 @@
func linkpcln(ctxt *Link, cursym *LSym) {
pcln := &cursym.Func.Pcln
- pcln.UsedFiles = make(map[goobj2.CUFileIndex]struct{})
+ pcln.UsedFiles = make(map[goobj.CUFileIndex]struct{})
npcdata := 0
nfuncdata := 0
diff --git a/src/cmd/internal/obj/sym.go b/src/cmd/internal/obj/sym.go
index f62e1f5..cf78849 100644
--- a/src/cmd/internal/obj/sym.go
+++ b/src/cmd/internal/obj/sym.go
@@ -32,7 +32,7 @@
package obj
import (
- "cmd/internal/goobj2"
+ "cmd/internal/goobj"
"cmd/internal/objabi"
"fmt"
"log"
@@ -206,7 +206,7 @@
// may reference named symbols whose names are not fully expanded.
if s.ContentAddressable() && (ctxt.Pkgpath != "" || len(s.R) == 0) {
if len(s.P) <= 8 && len(s.R) == 0 { // we can use short hash only for symbols without relocations
- s.PkgIdx = goobj2.PkgIdxHashed64
+ s.PkgIdx = goobj.PkgIdxHashed64
s.SymIdx = hashed64idx
if hashed64idx != int32(len(ctxt.hashed64defs)) {
panic("bad index")
@@ -214,7 +214,7 @@
ctxt.hashed64defs = append(ctxt.hashed64defs, s)
hashed64idx++
} else {
- s.PkgIdx = goobj2.PkgIdxHashed
+ s.PkgIdx = goobj.PkgIdxHashed
s.SymIdx = hashedidx
if hashedidx != int32(len(ctxt.hasheddefs)) {
panic("bad index")
@@ -223,7 +223,7 @@
hashedidx++
}
} else if isNonPkgSym(ctxt, s) {
- s.PkgIdx = goobj2.PkgIdxNone
+ s.PkgIdx = goobj.PkgIdxNone
s.SymIdx = nonpkgidx
if nonpkgidx != int32(len(ctxt.nonpkgdefs)) {
panic("bad index")
@@ -231,7 +231,7 @@
ctxt.nonpkgdefs = append(ctxt.nonpkgdefs, s)
nonpkgidx++
} else {
- s.PkgIdx = goobj2.PkgIdxSelf
+ s.PkgIdx = goobj.PkgIdxSelf
s.SymIdx = idx
if idx != int32(len(ctxt.defs)) {
panic("bad index")
@@ -245,15 +245,15 @@
ipkg := int32(1) // 0 is invalid index
nonpkgdef := nonpkgidx
ctxt.traverseSyms(traverseRefs|traverseAux, func(rs *LSym) {
- if rs.PkgIdx != goobj2.PkgIdxInvalid {
+ if rs.PkgIdx != goobj.PkgIdxInvalid {
return
}
if !ctxt.Flag_linkshared {
// Assign special index for builtin symbols.
// Don't do it when linking against shared libraries, as the runtime
// may be in a different library.
- if i := goobj2.BuiltinIdx(rs.Name, int(rs.ABI())); i != -1 {
- rs.PkgIdx = goobj2.PkgIdxBuiltin
+ if i := goobj.BuiltinIdx(rs.Name, int(rs.ABI())); i != -1 {
+ rs.PkgIdx = goobj.PkgIdxBuiltin
rs.SymIdx = int32(i)
rs.Set(AttrIndexed, true)
return
@@ -265,7 +265,7 @@
panic("hashed refs unsupported for now")
}
if pkg == "" || pkg == "\"\"" || pkg == "_" || !rs.Indexed() {
- rs.PkgIdx = goobj2.PkgIdxNone
+ rs.PkgIdx = goobj.PkgIdxNone
rs.SymIdx = nonpkgidx
rs.Set(AttrIndexed, true)
if nonpkgidx != nonpkgdef+int32(len(ctxt.nonpkgrefs)) {
diff --git a/src/cmd/internal/objfile/goobj.go b/src/cmd/internal/objfile/goobj.go
index 6bf9d3b..5708f5e 100644
--- a/src/cmd/internal/objfile/goobj.go
+++ b/src/cmd/internal/objfile/goobj.go
@@ -8,7 +8,7 @@
import (
"cmd/internal/archive"
- "cmd/internal/goobj2"
+ "cmd/internal/goobj"
"cmd/internal/objabi"
"cmd/internal/sys"
"debug/dwarf"
@@ -22,7 +22,7 @@
type goobjFile struct {
goobj *archive.GoObj
- r *goobj2.Reader
+ r *goobj.Reader
f *os.File
}
@@ -44,7 +44,7 @@
if err != nil {
return nil, err
}
- r := goobj2.NewReaderFromBytes(b, false)
+ r := goobj.NewReaderFromBytes(b, false)
entries = append(entries, &Entry{
name: e.Name,
raw: &goobjFile{e.Obj, r, f},
@@ -103,7 +103,7 @@
// Name of referenced indexed symbols.
nrefName := r.NRefName()
- refNames := make(map[goobj2.SymRef]string, nrefName)
+ refNames := make(map[goobj.SymRef]string, nrefName)
for i := 0; i < nrefName; i++ {
rn := r.RefName(i)
refNames[rn.Sym()] = rn.Name(r)
@@ -111,31 +111,31 @@
abiToVer := func(abi uint16) int {
var ver int
- if abi == goobj2.SymABIstatic {
+ if abi == goobj.SymABIstatic {
// Static symbol
ver = 1
}
return ver
}
- resolveSymRef := func(s goobj2.SymRef) string {
+ resolveSymRef := func(s goobj.SymRef) string {
var i uint32
switch p := s.PkgIdx; p {
- case goobj2.PkgIdxInvalid:
+ case goobj.PkgIdxInvalid:
if s.SymIdx != 0 {
panic("bad sym ref")
}
return ""
- case goobj2.PkgIdxHashed64:
+ case goobj.PkgIdxHashed64:
i = s.SymIdx + uint32(r.NSym())
- case goobj2.PkgIdxHashed:
+ case goobj.PkgIdxHashed:
i = s.SymIdx + uint32(r.NSym()+r.NHashed64def())
- case goobj2.PkgIdxNone:
+ case goobj.PkgIdxNone:
i = s.SymIdx + uint32(r.NSym()+r.NHashed64def()+r.NHasheddef())
- case goobj2.PkgIdxBuiltin:
- name, abi := goobj2.BuiltinName(int(s.SymIdx))
+ case goobj.PkgIdxBuiltin:
+ name, abi := goobj.BuiltinName(int(s.SymIdx))
return goobjName(name, abi)
- case goobj2.PkgIdxSelf:
+ case goobj.PkgIdxSelf:
i = s.SymIdx
default:
return refNames[s]
@@ -166,7 +166,7 @@
case objabi.SBSS, objabi.SNOPTRBSS, objabi.STLSBSS:
code = 'B'
}
- if ver >= goobj2.SymABIstatic {
+ if ver >= goobj.SymABIstatic {
code += 'a' - 'A'
}
@@ -248,10 +248,10 @@
auxs := r.Auxs(i)
for j := range auxs {
a := &auxs[j]
- if a.Type() != goobj2.AuxFuncInfo {
+ if a.Type() != goobj.AuxFuncInfo {
continue
}
- if a.Sym().PkgIdx != goobj2.PkgIdxSelf {
+ if a.Sym().PkgIdx != goobj.PkgIdxSelf {
panic("funcinfo symbol not defined in current package")
}
isym = a.Sym().SymIdx
@@ -260,7 +260,7 @@
continue
}
b := r.BytesAt(r.DataOff(isym), r.DataSize(isym))
- var info *goobj2.FuncInfo
+ var info *goobj.FuncInfo
lengths := info.ReadFuncInfoLengths(b)
off, end := info.ReadPcline(b)
pcline := r.BytesAt(pcdataBase+off, int(end-off))
diff --git a/src/cmd/link/internal/ld/deadcode.go b/src/cmd/link/internal/ld/deadcode.go
index a169772..0269429 100644
--- a/src/cmd/link/internal/ld/deadcode.go
+++ b/src/cmd/link/internal/ld/deadcode.go
@@ -5,7 +5,7 @@
package ld
import (
- "cmd/internal/goobj2"
+ "cmd/internal/goobj"
"cmd/internal/objabi"
"cmd/internal/sys"
"cmd/link/internal/loader"
@@ -161,7 +161,7 @@
naux := d.ldr.NAux(symIdx)
for i := 0; i < naux; i++ {
a := d.ldr.Aux(symIdx, i)
- if a.Type() == goobj2.AuxGotype && !d.ctxt.linkShared {
+ if a.Type() == goobj.AuxGotype && !d.ctxt.linkShared {
// A symbol being reachable doesn't imply we need its
// type descriptor. Don't mark it.
// TODO: when -linkshared, the GCProg generation code
diff --git a/src/cmd/link/internal/ld/ld.go b/src/cmd/link/internal/ld/ld.go
index 71e1ccd..7ff9c41 100644
--- a/src/cmd/link/internal/ld/ld.go
+++ b/src/cmd/link/internal/ld/ld.go
@@ -32,7 +32,7 @@
package ld
import (
- "cmd/internal/goobj2"
+ "cmd/internal/goobj"
"cmd/link/internal/loader"
"cmd/link/internal/sym"
"io/ioutil"
@@ -156,7 +156,7 @@
return pname, isshlib
}
-func addlib(ctxt *Link, src, obj, lib string, fingerprint goobj2.FingerprintType) *sym.Library {
+func addlib(ctxt *Link, src, obj, lib string, fingerprint goobj.FingerprintType) *sym.Library {
pkg := pkgname(ctxt, lib)
// already loaded?
@@ -192,7 +192,7 @@
* fingerprint: if not 0, expected fingerprint for import from srcref
* fingerprint is 0 if the library is not imported (e.g. main)
*/
-func addlibpath(ctxt *Link, srcref, objref, file, pkg, shlib string, fingerprint goobj2.FingerprintType) *sym.Library {
+func addlibpath(ctxt *Link, srcref, objref, file, pkg, shlib string, fingerprint goobj.FingerprintType) *sym.Library {
if l := ctxt.LibraryByPkg[pkg]; l != nil {
return l
}
diff --git a/src/cmd/link/internal/ld/lib.go b/src/cmd/link/internal/ld/lib.go
index 5271b8f..09c7bbf 100644
--- a/src/cmd/link/internal/ld/lib.go
+++ b/src/cmd/link/internal/ld/lib.go
@@ -33,7 +33,7 @@
import (
"bytes"
"cmd/internal/bio"
- "cmd/internal/goobj2"
+ "cmd/internal/goobj"
"cmd/internal/obj"
"cmd/internal/objabi"
"cmd/internal/sys"
@@ -404,7 +404,7 @@
}
func loadinternal(ctxt *Link, name string) *sym.Library {
- zerofp := goobj2.FingerprintType{}
+ zerofp := goobj.FingerprintType{}
if ctxt.linkShared && ctxt.PackageShlib != nil {
if shlib := ctxt.PackageShlib[name]; shlib != "" {
return addlibpath(ctxt, "internal", "internal", "", name, shlib, zerofp)
@@ -1899,7 +1899,7 @@
return nil
}
-func checkFingerprint(lib *sym.Library, libfp goobj2.FingerprintType, src string, srcfp goobj2.FingerprintType) {
+func checkFingerprint(lib *sym.Library, libfp goobj.FingerprintType, src string, srcfp goobj.FingerprintType) {
if libfp != srcfp {
Exitf("fingerprint mismatch: %s has %x, import from %s expecting %x", lib, libfp, src, srcfp)
}
diff --git a/src/cmd/link/internal/ld/main.go b/src/cmd/link/internal/ld/main.go
index 4885c4f..6f4ccbf 100644
--- a/src/cmd/link/internal/ld/main.go
+++ b/src/cmd/link/internal/ld/main.go
@@ -32,7 +32,7 @@
import (
"bufio"
- "cmd/internal/goobj2"
+ "cmd/internal/goobj"
"cmd/internal/objabi"
"cmd/internal/sys"
"cmd/link/internal/benchmark"
@@ -205,7 +205,7 @@
ctxt.Logf("HEADER = -H%d -T0x%x -R0x%x\n", ctxt.HeadType, uint64(*FlagTextAddr), uint32(*FlagRound))
}
- zerofp := goobj2.FingerprintType{}
+ zerofp := goobj.FingerprintType{}
switch ctxt.BuildMode {
case BuildModeShared:
for i := 0; i < flag.NArg(); i++ {
diff --git a/src/cmd/link/internal/ld/pcln.go b/src/cmd/link/internal/ld/pcln.go
index e5dfa83..30e0bdc 100644
--- a/src/cmd/link/internal/ld/pcln.go
+++ b/src/cmd/link/internal/ld/pcln.go
@@ -5,7 +5,7 @@
package ld
import (
- "cmd/internal/goobj2"
+ "cmd/internal/goobj"
"cmd/internal/obj"
"cmd/internal/objabi"
"cmd/internal/src"
@@ -157,7 +157,7 @@
// This funciton looks at a CU's file at index [i], and if it's a new filename,
// stores that filename in the global file table, and adds it to the map lookup
// for renumbering pcfile.
-func (state *oldPclnState) numberfile(cu *sym.CompilationUnit, i goobj2.CUFileIndex) int64 {
+func (state *oldPclnState) numberfile(cu *sym.CompilationUnit, i goobj.CUFileIndex) int64 {
file := cu.FileTable[i]
if val, ok := state.numberedFiles[file]; ok {
return val
diff --git a/src/cmd/link/internal/loader/loader.go b/src/cmd/link/internal/loader/loader.go
index 882799e..8fd10b0 100644
--- a/src/cmd/link/internal/loader/loader.go
+++ b/src/cmd/link/internal/loader/loader.go
@@ -7,7 +7,7 @@
import (
"bytes"
"cmd/internal/bio"
- "cmd/internal/goobj2"
+ "cmd/internal/goobj"
"cmd/internal/obj"
"cmd/internal/objabi"
"cmd/internal/sys"
@@ -30,7 +30,7 @@
// Relocs encapsulates the set of relocations on a given symbol; an
// instance of this type is returned by the Loader Relocs() method.
type Relocs struct {
- rs []goobj2.Reloc
+ rs []goobj.Reloc
li uint32 // local index of symbol whose relocs we're examining
r *oReader // object reader for containing package
@@ -48,21 +48,21 @@
// Reloc holds a "handle" to access a relocation record from an
// object file.
type Reloc struct {
- *goobj2.Reloc
+ *goobj.Reloc
r *oReader
l *Loader
// External reloc types may not fit into a uint8 which the Go object file uses.
- // Store it here, instead of in the byte of goobj2.Reloc.
+ // Store it here, instead of in the byte of goobj.Reloc.
// For Go symbols this will always be zero.
- // goobj2.Reloc.Type() + typ is always the right type, for both Go and external
+ // goobj.Reloc.Type() + typ is always the right type, for both Go and external
// symbols.
typ objabi.RelocType
}
func (rel Reloc) Type() objabi.RelocType { return objabi.RelocType(rel.Reloc.Type()) + rel.typ }
func (rel Reloc) Sym() Sym { return rel.l.resolve(rel.r, rel.Reloc.Sym()) }
-func (rel Reloc) SetSym(s Sym) { rel.Reloc.SetSym(goobj2.SymRef{PkgIdx: 0, SymIdx: uint32(s)}) }
+func (rel Reloc) SetSym(s Sym) { rel.Reloc.SetSym(goobj.SymRef{PkgIdx: 0, SymIdx: uint32(s)}) }
func (rel Reloc) SetType(t objabi.RelocType) {
if t != objabi.RelocType(uint8(t)) {
@@ -78,7 +78,7 @@
// Aux holds a "handle" to access an aux symbol record from an
// object file.
type Aux struct {
- *goobj2.Aux
+ *goobj.Aux
r *oReader
l *Loader
}
@@ -88,15 +88,15 @@
// oReader is a wrapper type of obj.Reader, along with some
// extra information.
type oReader struct {
- *goobj2.Reader
+ *goobj.Reader
unit *sym.CompilationUnit
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()
- nhashed64def int // cache goobj2.Reader.NHashed64Def()
- nhasheddef int // cache goobj2.Reader.NHashedDef()
+ ndef int // cache goobj.Reader.NSym()
+ nhashed64def int // cache goobj.Reader.NHashed64Def()
+ nhasheddef int // cache goobj.Reader.NHashedDef()
objidx uint32 // index of this reader in the objs slice
}
@@ -311,10 +311,10 @@
ver int
kind sym.SymKind
objidx uint32 // index of original object if sym made by cloneToExternal
- relocs []goobj2.Reloc
+ relocs []goobj.Reloc
reltypes []objabi.RelocType // relocation types
data []byte
- auxs []goobj2.Aux
+ auxs []goobj.Aux
}
const (
@@ -323,7 +323,7 @@
)
func NewLoader(flags uint32, elfsetstring elfsetstringFunc, reporter *ErrorReporter) *Loader {
- nbuiltin := goobj2.NBuiltin()
+ nbuiltin := goobj.NBuiltin()
extReader := &oReader{objidx: extObj}
ldr := &Loader{
start: make(map[*oReader]Sym),
@@ -383,7 +383,7 @@
// Add a symbol from an object file, return the global index.
// If the symbol already exist, it returns the index of that symbol.
-func (st *loadState) addSym(name string, ver int, r *oReader, li uint32, kind int, osym *goobj2.Sym) Sym {
+func (st *loadState) addSym(name string, ver int, r *oReader, li uint32, kind int, osym *goobj.Sym) Sym {
l := st.l
if l.extStart != 0 {
panic("addSym called after external symbol is created")
@@ -420,8 +420,8 @@
// check, as same hash indicates same content.
var checkHash func() (symAndSize, bool)
var addToHashMap func(symAndSize)
- var h64 uint64 // only used for hashed64Def
- var h *goobj2.HashType // only used for hashedDef
+ var h64 uint64 // only used for hashed64Def
+ var h *goobj.HashType // only used for hashedDef
if kind == hashed64Def {
checkHash = func() (symAndSize, bool) {
h64 = r.Hash64(li - uint32(r.ndef))
@@ -607,10 +607,10 @@
}
// Resolve a local symbol reference. Return global index.
-func (l *Loader) resolve(r *oReader, s goobj2.SymRef) Sym {
+func (l *Loader) resolve(r *oReader, s goobj.SymRef) Sym {
var rr *oReader
switch p := s.PkgIdx; p {
- case goobj2.PkgIdxInvalid:
+ case goobj.PkgIdxInvalid:
// {0, X} with non-zero X is never a valid sym reference from a Go object.
// We steal this space for symbol references from external objects.
// In this case, X is just the global index.
@@ -621,18 +621,18 @@
panic("bad sym ref")
}
return 0
- case goobj2.PkgIdxHashed64:
+ case goobj.PkgIdxHashed64:
i := int(s.SymIdx) + r.ndef
return r.syms[i]
- case goobj2.PkgIdxHashed:
+ case goobj.PkgIdxHashed:
i := int(s.SymIdx) + r.ndef + r.nhashed64def
return r.syms[i]
- case goobj2.PkgIdxNone:
+ case goobj.PkgIdxNone:
i := int(s.SymIdx) + r.ndef + r.nhashed64def + r.nhasheddef
return r.syms[i]
- case goobj2.PkgIdxBuiltin:
+ case goobj.PkgIdxBuiltin:
return l.builtinSyms[s.SymIdx]
- case goobj2.PkgIdxSelf:
+ case goobj.PkgIdxSelf:
rr = r
default:
pkg := r.Pkg(int(p))
@@ -1143,22 +1143,22 @@
// Returns whether the i-th symbol has ReflectMethod attribute set.
func (l *Loader) IsReflectMethod(i Sym) bool {
- return l.SymAttr(i)&goobj2.SymFlagReflectMethod != 0
+ return l.SymAttr(i)&goobj.SymFlagReflectMethod != 0
}
// Returns whether the i-th symbol is nosplit.
func (l *Loader) IsNoSplit(i Sym) bool {
- return l.SymAttr(i)&goobj2.SymFlagNoSplit != 0
+ return l.SymAttr(i)&goobj.SymFlagNoSplit != 0
}
// Returns whether this is a Go type symbol.
func (l *Loader) IsGoType(i Sym) bool {
- return l.SymAttr(i)&goobj2.SymFlagGoType != 0
+ return l.SymAttr(i)&goobj.SymFlagGoType != 0
}
// Returns whether this symbol should be included in typelink.
func (l *Loader) IsTypelink(i Sym) bool {
- return l.SymAttr(i)&goobj2.SymFlagTypelink != 0
+ return l.SymAttr(i)&goobj.SymFlagTypelink != 0
}
// Returns whether this symbol is an itab symbol.
@@ -1503,7 +1503,7 @@
// if it helps speed things up).
func (l *Loader) SymGoType(i Sym) Sym {
var r *oReader
- var auxs []goobj2.Aux
+ var auxs []goobj.Aux
if l.IsExternal(i) {
pp := l.getPayload(i)
r = l.objs[pp.objidx].r
@@ -1516,7 +1516,7 @@
for j := range auxs {
a := &auxs[j]
switch a.Type() {
- case goobj2.AuxGotype:
+ case goobj.AuxGotype:
return l.resolve(r, a.Sym())
}
}
@@ -1629,22 +1629,22 @@
for i := range auxs {
a := &auxs[i]
switch a.Type() {
- case goobj2.AuxDwarfInfo:
+ case goobj.AuxDwarfInfo:
auxDwarfInfo = l.resolve(r, a.Sym())
if l.SymType(auxDwarfInfo) != sym.SDWARFFCN {
panic("aux dwarf info sym with wrong type")
}
- case goobj2.AuxDwarfLoc:
+ case goobj.AuxDwarfLoc:
auxDwarfLoc = l.resolve(r, a.Sym())
if l.SymType(auxDwarfLoc) != sym.SDWARFLOC {
panic("aux dwarf loc sym with wrong type")
}
- case goobj2.AuxDwarfRanges:
+ case goobj.AuxDwarfRanges:
auxDwarfRanges = l.resolve(r, a.Sym())
if l.SymType(auxDwarfRanges) != sym.SDWARFRANGE {
panic("aux dwarf ranges sym with wrong type")
}
- case goobj2.AuxDwarfLines:
+ case goobj.AuxDwarfLines:
auxDwarfLines = l.resolve(r, a.Sym())
if l.SymType(auxDwarfLines) != sym.SDWARFLINES {
panic("aux dwarf lines sym with wrong type")
@@ -1840,7 +1840,7 @@
// Relocs returns a Relocs object given a local sym index and reader.
func (l *Loader) relocs(r *oReader, li uint32) Relocs {
- var rs []goobj2.Reloc
+ var rs []goobj.Reloc
if l.isExtReader(r) {
pp := l.payloads[li]
rs = pp.relocs
@@ -1855,55 +1855,55 @@
}
}
-// FuncInfo provides hooks to access goobj2.FuncInfo in the objects.
+// FuncInfo provides hooks to access goobj.FuncInfo in the objects.
type FuncInfo struct {
l *Loader
r *oReader
data []byte
- auxs []goobj2.Aux
- lengths goobj2.FuncInfoLengths
+ auxs []goobj.Aux
+ lengths goobj.FuncInfoLengths
}
func (fi *FuncInfo) Valid() bool { return fi.r != nil }
func (fi *FuncInfo) Args() int {
- return int((*goobj2.FuncInfo)(nil).ReadArgs(fi.data))
+ return int((*goobj.FuncInfo)(nil).ReadArgs(fi.data))
}
func (fi *FuncInfo) Locals() int {
- return int((*goobj2.FuncInfo)(nil).ReadLocals(fi.data))
+ return int((*goobj.FuncInfo)(nil).ReadLocals(fi.data))
}
func (fi *FuncInfo) FuncID() objabi.FuncID {
- return objabi.FuncID((*goobj2.FuncInfo)(nil).ReadFuncID(fi.data))
+ return objabi.FuncID((*goobj.FuncInfo)(nil).ReadFuncID(fi.data))
}
func (fi *FuncInfo) Pcsp() []byte {
- pcsp, end := (*goobj2.FuncInfo)(nil).ReadPcsp(fi.data)
+ pcsp, end := (*goobj.FuncInfo)(nil).ReadPcsp(fi.data)
return fi.r.BytesAt(fi.r.PcdataBase()+pcsp, int(end-pcsp))
}
func (fi *FuncInfo) Pcfile() []byte {
- pcf, end := (*goobj2.FuncInfo)(nil).ReadPcfile(fi.data)
+ pcf, end := (*goobj.FuncInfo)(nil).ReadPcfile(fi.data)
return fi.r.BytesAt(fi.r.PcdataBase()+pcf, int(end-pcf))
}
func (fi *FuncInfo) Pcline() []byte {
- pcln, end := (*goobj2.FuncInfo)(nil).ReadPcline(fi.data)
+ pcln, end := (*goobj.FuncInfo)(nil).ReadPcline(fi.data)
return fi.r.BytesAt(fi.r.PcdataBase()+pcln, int(end-pcln))
}
// Preload has to be called prior to invoking the various methods
// below related to pcdata, funcdataoff, files, and inltree nodes.
func (fi *FuncInfo) Preload() {
- fi.lengths = (*goobj2.FuncInfo)(nil).ReadFuncInfoLengths(fi.data)
+ fi.lengths = (*goobj.FuncInfo)(nil).ReadFuncInfoLengths(fi.data)
}
func (fi *FuncInfo) Pcinline() []byte {
if !fi.lengths.Initialized {
panic("need to call Preload first")
}
- pcinl, end := (*goobj2.FuncInfo)(nil).ReadPcinline(fi.data, fi.lengths.PcdataOff)
+ pcinl, end := (*goobj.FuncInfo)(nil).ReadPcinline(fi.data, fi.lengths.PcdataOff)
return fi.r.BytesAt(fi.r.PcdataBase()+pcinl, int(end-pcinl))
}
@@ -1918,7 +1918,7 @@
if !fi.lengths.Initialized {
panic("need to call Preload first")
}
- pcdat, end := (*goobj2.FuncInfo)(nil).ReadPcdata(fi.data, fi.lengths.PcdataOff, uint32(k))
+ pcdat, end := (*goobj.FuncInfo)(nil).ReadPcdata(fi.data, fi.lengths.PcdataOff, uint32(k))
return fi.r.BytesAt(fi.r.PcdataBase()+pcdat, int(end-pcdat))
}
@@ -1933,7 +1933,7 @@
if !fi.lengths.Initialized {
panic("need to call Preload first")
}
- return (*goobj2.FuncInfo)(nil).ReadFuncdataoff(fi.data, fi.lengths.FuncdataoffOff, uint32(k))
+ return (*goobj.FuncInfo)(nil).ReadFuncdataoff(fi.data, fi.lengths.FuncdataoffOff, uint32(k))
}
func (fi *FuncInfo) Funcdata(syms []Sym) []Sym {
@@ -1947,7 +1947,7 @@
}
for j := range fi.auxs {
a := &fi.auxs[j]
- if a.Type() == goobj2.AuxFuncdata {
+ if a.Type() == goobj.AuxFuncdata {
syms = append(syms, fi.l.resolve(fi.r, a.Sym()))
}
}
@@ -1961,16 +1961,16 @@
return fi.lengths.NumFile
}
-func (fi *FuncInfo) File(k int) goobj2.CUFileIndex {
+func (fi *FuncInfo) File(k int) goobj.CUFileIndex {
if !fi.lengths.Initialized {
panic("need to call Preload first")
}
- return (*goobj2.FuncInfo)(nil).ReadFile(fi.data, fi.lengths.FileOff, uint32(k))
+ return (*goobj.FuncInfo)(nil).ReadFile(fi.data, fi.lengths.FileOff, uint32(k))
}
type InlTreeNode struct {
Parent int32
- File goobj2.CUFileIndex
+ File goobj.CUFileIndex
Line int32
Func Sym
ParentPC int32
@@ -1987,7 +1987,7 @@
if !fi.lengths.Initialized {
panic("need to call Preload first")
}
- node := (*goobj2.FuncInfo)(nil).ReadInlTree(fi.data, fi.lengths.InlTreeOff, uint32(k))
+ node := (*goobj.FuncInfo)(nil).ReadInlTree(fi.data, fi.lengths.InlTreeOff, uint32(k))
return InlTreeNode{
Parent: node.Parent,
File: node.File,
@@ -1999,7 +1999,7 @@
func (l *Loader) FuncInfo(i Sym) FuncInfo {
var r *oReader
- var auxs []goobj2.Aux
+ var auxs []goobj.Aux
if l.IsExternal(i) {
pp := l.getPayload(i)
if pp.objidx == 0 {
@@ -2014,9 +2014,9 @@
}
for j := range auxs {
a := &auxs[j]
- if a.Type() == goobj2.AuxFuncInfo {
+ if a.Type() == goobj.AuxFuncInfo {
b := r.Data(a.Sym().SymIdx)
- return FuncInfo{l, r, b, auxs, goobj2.FuncInfoLengths{}}
+ return FuncInfo{l, r, b, auxs, goobj.FuncInfoLengths{}}
}
}
return FuncInfo{}
@@ -2026,12 +2026,12 @@
// Does not add non-package symbols yet, which will be done in LoadNonpkgSyms.
// Does not read symbol data.
// Returns the fingerprint of the object.
-func (l *Loader) Preload(localSymVersion int, f *bio.Reader, lib *sym.Library, unit *sym.CompilationUnit, length int64) goobj2.FingerprintType {
+func (l *Loader) Preload(localSymVersion int, f *bio.Reader, lib *sym.Library, unit *sym.CompilationUnit, length int64) goobj.FingerprintType {
roObject, readonly, err := f.Slice(uint64(length)) // TODO: no need to map blocks that are for tools only (e.g. RefName)
if err != nil {
log.Fatal("cannot read object file:", err)
}
- r := goobj2.NewReaderFromBytes(roObject, readonly)
+ r := goobj.NewReaderFromBytes(roObject, readonly)
if r == nil {
if len(roObject) >= 8 && bytes.Equal(roObject[:8], []byte("\x00go114ld")) {
log.Fatalf("found object file %s in old format", f.File().Name())
@@ -2078,8 +2078,8 @@
// Holds the loader along with temporary states for loading symbols.
type loadState struct {
l *Loader
- hashed64Syms map[uint64]symAndSize // short hashed (content-addressable) symbols, keyed by content hash
- hashedSyms map[goobj2.HashType]symAndSize // hashed (content-addressable) symbols, keyed by content hash
+ hashed64Syms map[uint64]symAndSize // short hashed (content-addressable) symbols, keyed by content hash
+ hashedSyms map[goobj.HashType]symAndSize // hashed (content-addressable) symbols, keyed by content hash
}
// Preload symbols of given kind from an object.
@@ -2139,7 +2139,7 @@
}
if strings.HasPrefix(name, "runtime.") ||
(loadingRuntimePkg && strings.HasPrefix(name, "type.")) {
- if bi := goobj2.BuiltinIdx(name, v); bi != -1 {
+ if bi := goobj.BuiltinIdx(name, v); bi != -1 {
// This is a definition of a builtin symbol. Record where it is.
l.builtinSyms[bi] = gi
}
@@ -2160,7 +2160,7 @@
st := loadState{
l: l,
hashed64Syms: make(map[uint64]symAndSize, 10000),
- hashedSyms: make(map[goobj2.HashType]symAndSize, 15000),
+ hashedSyms: make(map[goobj.HashType]symAndSize, 15000),
}
for _, o := range l.objs[goObjStart:] {
st.preloadSyms(o.r, hashed64Def)
@@ -2199,7 +2199,7 @@
for i, n := 0, r.NRefFlags(); i < n; i++ {
rf := r.RefFlags(i)
gi := l.resolve(r, rf.Sym())
- if rf.Flag2()&goobj2.SymFlagUsedInIface != 0 {
+ if rf.Flag2()&goobj.SymFlagUsedInIface != 0 {
l.SetAttrUsedInIface(gi, true)
}
}
@@ -2207,7 +2207,7 @@
func abiToVer(abi uint16, localSymVersion int) int {
var v int
- if abi == goobj2.SymABIstatic {
+ if abi == goobj.SymABIstatic {
// Static
v = localSymVersion
} else if abiver := sym.ABIToVersion(obj.ABI(abi)); abiver != -1 {
@@ -2297,13 +2297,13 @@
// Copy relocations
relocs := l.Relocs(symIdx)
- pp.relocs = make([]goobj2.Reloc, relocs.Count())
+ pp.relocs = make([]goobj.Reloc, relocs.Count())
pp.reltypes = make([]objabi.RelocType, relocs.Count())
for i := range pp.relocs {
// Copy the relocs slice.
// Convert local reference to global reference.
rel := relocs.At(i)
- pp.relocs[i].Set(rel.Off(), rel.Siz(), 0, rel.Add(), goobj2.SymRef{PkgIdx: 0, SymIdx: uint32(rel.Sym())})
+ pp.relocs[i].Set(rel.Off(), rel.Siz(), 0, rel.Add(), goobj.SymRef{PkgIdx: 0, SymIdx: uint32(rel.Sym())})
pp.reltypes[i] = rel.Type()
}
diff --git a/src/cmd/link/internal/loader/loader_test.go b/src/cmd/link/internal/loader/loader_test.go
index af66752..1371c2a 100644
--- a/src/cmd/link/internal/loader/loader_test.go
+++ b/src/cmd/link/internal/loader/loader_test.go
@@ -6,7 +6,7 @@
import (
"bytes"
- "cmd/internal/goobj2"
+ "cmd/internal/goobj"
"cmd/internal/objabi"
"cmd/internal/sys"
"cmd/link/internal/sym"
@@ -22,7 +22,7 @@
func addDummyObjSym(t *testing.T, ldr *Loader, or *oReader, name string) Sym {
idx := uint32(len(ldr.objSyms))
st := loadState{l: ldr}
- return st.addSym(name, 0, or, idx, nonPkgDef, &goobj2.Sym{})
+ return st.addSym(name, 0, or, idx, nonPkgDef, &goobj.Sym{})
}
func mkLoader() *Loader {
@@ -237,7 +237,7 @@
type addFunc func(l *Loader, s Sym, s2 Sym) Sym
func mkReloc(l *Loader, typ objabi.RelocType, off int32, siz uint8, add int64, sym Sym) Reloc {
- r := Reloc{&goobj2.Reloc{}, l.extReader, l, typ}
+ r := Reloc{&goobj.Reloc{}, l.extReader, l, typ}
r.SetOff(off)
r.SetSiz(siz)
r.SetAdd(add)
diff --git a/src/cmd/link/internal/loader/symbolbuilder.go b/src/cmd/link/internal/loader/symbolbuilder.go
index d8b800f3..e14d89a 100644
--- a/src/cmd/link/internal/loader/symbolbuilder.go
+++ b/src/cmd/link/internal/loader/symbolbuilder.go
@@ -5,7 +5,7 @@
package loader
import (
- "cmd/internal/goobj2"
+ "cmd/internal/goobj"
"cmd/internal/objabi"
"cmd/internal/sys"
"cmd/link/internal/sym"
@@ -132,7 +132,7 @@
// SetRelocSym sets the target sym of the 'i'-th relocation on this sym to 's'
func (sb *SymbolBuilder) SetRelocSym(i int, tgt Sym) {
- sb.relocs[i].SetSym(goobj2.SymRef{PkgIdx: 0, SymIdx: uint32(tgt)})
+ sb.relocs[i].SetSym(goobj.SymRef{PkgIdx: 0, SymIdx: uint32(tgt)})
}
// SetRelocAdd sets the addend of the 'i'-th relocation on this sym to 'a'
@@ -142,7 +142,7 @@
// Add n relocations, return a handle to the relocations.
func (sb *SymbolBuilder) AddRelocs(n int) Relocs {
- sb.relocs = append(sb.relocs, make([]goobj2.Reloc, n)...)
+ sb.relocs = append(sb.relocs, make([]goobj.Reloc, n)...)
sb.reltypes = append(sb.reltypes, make([]objabi.RelocType, n)...)
return sb.l.Relocs(sb.symIdx)
}
@@ -151,7 +151,7 @@
// (to set other fields).
func (sb *SymbolBuilder) AddRel(typ objabi.RelocType) (Reloc, int) {
j := len(sb.relocs)
- sb.relocs = append(sb.relocs, goobj2.Reloc{})
+ sb.relocs = append(sb.relocs, goobj.Reloc{})
sb.reltypes = append(sb.reltypes, typ)
relocs := sb.Relocs()
return relocs.At(j), j
diff --git a/src/cmd/link/internal/sym/library.go b/src/cmd/link/internal/sym/library.go
index 7f6e63c..876b5ff 100644
--- a/src/cmd/link/internal/sym/library.go
+++ b/src/cmd/link/internal/sym/library.go
@@ -4,7 +4,7 @@
package sym
-import "cmd/internal/goobj2"
+import "cmd/internal/goobj"
type Library struct {
Objref string
@@ -12,8 +12,8 @@
File string
Pkg string
Shlib string
- Fingerprint goobj2.FingerprintType
- Autolib []goobj2.ImportedPkg
+ Fingerprint goobj.FingerprintType
+ Autolib []goobj.ImportedPkg
Imports []*Library
Main bool
Units []*CompilationUnit