diff --git a/src/cmd/link/internal/amd64/asm.go b/src/cmd/link/internal/amd64/asm.go index 63fca9a14d..1761cdbb6e 100644 --- a/src/cmd/link/internal/amd64/asm.go +++ b/src/cmd/link/internal/amd64/asm.go @@ -45,7 +45,7 @@ func Addcall(ctxt *ld.Link, s *ld.Symbol, t *ld.Symbol) int64 { s.Attr |= ld.AttrReachable i := s.Size s.Size += 4 - ld.Symgrow(ctxt, s, s.Size) + ld.Symgrow(s, s.Size) r := ld.Addrel(s) r.Sym = t r.Off = int32(i) diff --git a/src/cmd/link/internal/arm/asm.go b/src/cmd/link/internal/arm/asm.go index 5e03827022..d98ca269da 100644 --- a/src/cmd/link/internal/arm/asm.go +++ b/src/cmd/link/internal/arm/asm.go @@ -503,7 +503,7 @@ func addpltreloc(ctxt *ld.Link, plt *ld.Symbol, got *ld.Symbol, sym *ld.Symbol, plt.Attr |= ld.AttrReachable plt.Size += 4 - ld.Symgrow(ctxt, plt, plt.Size) + ld.Symgrow(plt, plt.Size) return r } diff --git a/src/cmd/link/internal/ld/data.go b/src/cmd/link/internal/ld/data.go index 9d4966fe2f..454f7a5da2 100644 --- a/src/cmd/link/internal/ld/data.go +++ b/src/cmd/link/internal/ld/data.go @@ -44,7 +44,7 @@ import ( "sync" ) -func Symgrow(ctxt *Link, s *Symbol, siz int64) { +func Symgrow(s *Symbol, siz int64) { if int64(int(siz)) != siz { log.Fatalf("symgrow size %d too long", siz) } @@ -70,7 +70,7 @@ func setuintxx(ctxt *Link, s *Symbol, off int64, v uint64, wid int64) int64 { s.Attr |= AttrReachable if s.Size < off+wid { s.Size = off + wid - Symgrow(ctxt, s, s.Size) + Symgrow(s, s.Size) } switch wid { @@ -87,7 +87,7 @@ func setuintxx(ctxt *Link, s *Symbol, off int64, v uint64, wid int64) int64 { return off + wid } -func Addbytes(ctxt *Link, s *Symbol, bytes []byte) int64 { +func Addbytes(s *Symbol, bytes []byte) int64 { if s.Type == 0 { s.Type = obj.SDATA } @@ -147,7 +147,7 @@ func Addaddrplus(ctxt *Link, s *Symbol, t *Symbol, add int64) int64 { s.Attr |= AttrReachable i := s.Size s.Size += int64(ctxt.Arch.PtrSize) - Symgrow(ctxt, s, s.Size) + Symgrow(s, s.Size) r := Addrel(s) r.Sym = t r.Off = int32(i) @@ -164,7 +164,7 @@ func Addpcrelplus(ctxt *Link, s *Symbol, t *Symbol, add int64) int64 { s.Attr |= AttrReachable i := s.Size s.Size += 4 - Symgrow(ctxt, s, s.Size) + Symgrow(s, s.Size) r := Addrel(s) r.Sym = t r.Off = int32(i) @@ -188,7 +188,7 @@ func setaddrplus(ctxt *Link, s *Symbol, off int64, t *Symbol, add int64) int64 { s.Attr |= AttrReachable if off+int64(ctxt.Arch.PtrSize) > s.Size { s.Size = off + int64(ctxt.Arch.PtrSize) - Symgrow(ctxt, s, s.Size) + Symgrow(s, s.Size) } r := Addrel(s) @@ -211,7 +211,7 @@ func addsize(ctxt *Link, s *Symbol, t *Symbol) int64 { s.Attr |= AttrReachable i := s.Size s.Size += int64(ctxt.Arch.PtrSize) - Symgrow(ctxt, s, s.Size) + Symgrow(s, s.Size) r := Addrel(s) r.Sym = t r.Off = int32(i) @@ -227,7 +227,7 @@ func addaddrplus4(ctxt *Link, s *Symbol, t *Symbol, add int64) int64 { s.Attr |= AttrReachable i := s.Size s.Size += 4 - Symgrow(ctxt, s, s.Size) + Symgrow(s, s.Size) r := Addrel(s) r.Sym = t r.Off = int32(i) @@ -989,7 +989,7 @@ func addstrdata(ctxt *Link, name string, value string) { p := fmt.Sprintf("%s.str", name) sp := ctxt.Syms.Lookup(p, 0) - Addstring(ctxt, sp, value) + Addstring(sp, value) sp.Type = obj.SRODATA s := ctxt.Syms.Lookup(name, 0) @@ -1019,7 +1019,7 @@ func (ctxt *Link) checkstrdata() { } } -func Addstring(ctxt *Link, s *Symbol, str string) int64 { +func Addstring(s *Symbol, str string) int64 { if s.Type == 0 { s.Type = obj.SNOPTRDATA } diff --git a/src/cmd/link/internal/ld/dwarf.go b/src/cmd/link/internal/ld/dwarf.go index 866103012c..13d3827e7c 100644 --- a/src/cmd/link/internal/ld/dwarf.go +++ b/src/cmd/link/internal/ld/dwarf.go @@ -36,10 +36,10 @@ func (c dwctxt) AddInt(s dwarf.Sym, size int, i int64) { } func (c dwctxt) AddBytes(s dwarf.Sym, b []byte) { ls := s.(*Symbol) - Addbytes(c.linkctxt, ls, b) + Addbytes(ls, b) } func (c dwctxt) AddString(s dwarf.Sym, v string) { - Addstring(c.linkctxt, s.(*Symbol), v) + Addstring(s.(*Symbol), v) } func (c dwctxt) SymValue(s dwarf.Sym) int64 { return s.(*Symbol).Value @@ -85,7 +85,7 @@ func writeabbrev(ctxt *Link, syms []*Symbol) []*Symbol { s := ctxt.Syms.Lookup(".debug_abbrev", 0) s.Type = obj.SDWARFSECT abbrevsym = s - Addbytes(ctxt, s, dwarf.GetAbbrev()) + Addbytes(s, dwarf.GetAbbrev()) return append(syms, s) } @@ -977,7 +977,7 @@ func writelines(ctxt *Link, syms []*Symbol) ([]*Symbol, []*Symbol) { Adduint8(ctxt, ls, 0) // include_directories (empty) for _, f := range ctxt.Filesyms { - Addstring(ctxt, ls, f.Name) + Addstring(ls, f.Name) Adduint8(ctxt, ls, 0) Adduint8(ctxt, ls, 0) Adduint8(ctxt, ls, 0) @@ -1147,7 +1147,7 @@ func writeframes(ctxt *Link, syms []*Symbol) []*Symbol { Exitf("dwarf: cieReserve too small by %d bytes.", -pad) } - Addbytes(ctxt, fs, zeros[:pad]) + Addbytes(fs, zeros[:pad]) var deltaBuf []byte var pcsp Pciter @@ -1208,7 +1208,7 @@ func writeframes(ctxt *Link, syms []*Symbol) []*Symbol { } Addaddr(ctxt, fs, s) adduintxx(ctxt, fs, uint64(s.Size), SysArch.PtrSize) // address range - Addbytes(ctxt, fs, deltaBuf) + Addbytes(fs, deltaBuf) } return syms } @@ -1314,7 +1314,7 @@ func writepub(ctxt *Link, sname string, ispub func(*dwarf.DWDie) bool, syms []*S fmt.Println("Missing sym for ", name) } adddwarfref(ctxt, s, dtolsym(die.Sym), 4) - Addstring(ctxt, s, name) + Addstring(s, name) } Adduint32(ctxt, s, 0) @@ -1378,7 +1378,7 @@ func writegdbscript(ctxt *Link, syms []*Symbol) []*Symbol { s.Type = obj.SDWARFSECT syms = append(syms, s) Adduint8(ctxt, s, 1) // magic 1 byte? - Addstring(ctxt, s, gdbscript) + Addstring(s, gdbscript) } return syms @@ -1485,21 +1485,21 @@ func dwarfaddshstrings(ctxt *Link, shstrtab *Symbol) { return } - Addstring(ctxt, shstrtab, ".debug_abbrev") - Addstring(ctxt, shstrtab, ".debug_aranges") - Addstring(ctxt, shstrtab, ".debug_frame") - Addstring(ctxt, shstrtab, ".debug_info") - Addstring(ctxt, shstrtab, ".debug_line") - Addstring(ctxt, shstrtab, ".debug_pubnames") - Addstring(ctxt, shstrtab, ".debug_pubtypes") - Addstring(ctxt, shstrtab, ".debug_gdb_scripts") + Addstring(shstrtab, ".debug_abbrev") + Addstring(shstrtab, ".debug_aranges") + Addstring(shstrtab, ".debug_frame") + Addstring(shstrtab, ".debug_info") + Addstring(shstrtab, ".debug_line") + Addstring(shstrtab, ".debug_pubnames") + Addstring(shstrtab, ".debug_pubtypes") + Addstring(shstrtab, ".debug_gdb_scripts") if Linkmode == LinkExternal { - Addstring(ctxt, shstrtab, elfRelType+".debug_info") - Addstring(ctxt, shstrtab, elfRelType+".debug_aranges") - Addstring(ctxt, shstrtab, elfRelType+".debug_line") - Addstring(ctxt, shstrtab, elfRelType+".debug_frame") - Addstring(ctxt, shstrtab, elfRelType+".debug_pubnames") - Addstring(ctxt, shstrtab, elfRelType+".debug_pubtypes") + Addstring(shstrtab, elfRelType+".debug_info") + Addstring(shstrtab, elfRelType+".debug_aranges") + Addstring(shstrtab, elfRelType+".debug_line") + Addstring(shstrtab, elfRelType+".debug_frame") + Addstring(shstrtab, elfRelType+".debug_pubnames") + Addstring(shstrtab, elfRelType+".debug_pubtypes") } } diff --git a/src/cmd/link/internal/ld/elf.go b/src/cmd/link/internal/ld/elf.go index 35fc05f41f..c570f04d56 100644 --- a/src/cmd/link/internal/ld/elf.go +++ b/src/cmd/link/internal/ld/elf.go @@ -1517,9 +1517,9 @@ func elfdynhash(ctxt *Link) { for x = l.aux; x != nil; x = x.next { j++ } - Adduint16(ctxt, s, uint16(j)) // aux count - Adduint32(ctxt, s, uint32(Addstring(ctxt, dynstr, l.file))) // file string offset - Adduint32(ctxt, s, 16) // offset from header to first aux + Adduint16(ctxt, s, uint16(j)) // aux count + Adduint32(ctxt, s, uint32(Addstring(dynstr, l.file))) // file string offset + Adduint32(ctxt, s, 16) // offset from header to first aux if l.next != nil { Adduint32(ctxt, s, 16+uint32(j)*16) // offset from this header to next } else { @@ -1531,10 +1531,10 @@ func elfdynhash(ctxt *Link) { i++ // aux struct - Adduint32(ctxt, s, elfhash(x.vers)) // hash - Adduint16(ctxt, s, 0) // flags - Adduint16(ctxt, s, uint16(x.num)) // other - index we refer to this by - Adduint32(ctxt, s, uint32(Addstring(ctxt, dynstr, x.vers))) // version string offset + Adduint32(ctxt, s, elfhash(x.vers)) // hash + Adduint16(ctxt, s, 0) // flags + Adduint16(ctxt, s, uint16(x.num)) // other - index we refer to this by + Adduint32(ctxt, s, uint32(Addstring(dynstr, x.vers))) // version string offset if x.next != nil { Adduint32(ctxt, s, 16) // offset from this aux to next } else { @@ -1840,12 +1840,12 @@ func (ctxt *Link) doelf() { shstrtab.Type = obj.SELFROSECT shstrtab.Attr |= AttrReachable - Addstring(ctxt, shstrtab, "") - Addstring(ctxt, shstrtab, ".text") - Addstring(ctxt, shstrtab, ".noptrdata") - Addstring(ctxt, shstrtab, ".data") - Addstring(ctxt, shstrtab, ".bss") - Addstring(ctxt, shstrtab, ".noptrbss") + Addstring(shstrtab, "") + Addstring(shstrtab, ".text") + Addstring(shstrtab, ".noptrdata") + Addstring(shstrtab, ".data") + Addstring(shstrtab, ".bss") + Addstring(shstrtab, ".noptrbss") // generate .tbss section (except for OpenBSD where it's not supported) // for dynamic internal linker or external linking, so that various @@ -1853,56 +1853,56 @@ func (ctxt *Link) doelf() { // see https://golang.org/issue/5200. if Headtype != obj.Hopenbsd { if !*FlagD || Linkmode == LinkExternal { - Addstring(ctxt, shstrtab, ".tbss") + Addstring(shstrtab, ".tbss") } } if Headtype == obj.Hnetbsd { - Addstring(ctxt, shstrtab, ".note.netbsd.ident") + Addstring(shstrtab, ".note.netbsd.ident") } if Headtype == obj.Hopenbsd { - Addstring(ctxt, shstrtab, ".note.openbsd.ident") + Addstring(shstrtab, ".note.openbsd.ident") } if len(buildinfo) > 0 { - Addstring(ctxt, shstrtab, ".note.gnu.build-id") + Addstring(shstrtab, ".note.gnu.build-id") } if *flagBuildid != "" { - Addstring(ctxt, shstrtab, ".note.go.buildid") + Addstring(shstrtab, ".note.go.buildid") } - Addstring(ctxt, shstrtab, ".elfdata") - Addstring(ctxt, shstrtab, ".rodata") + Addstring(shstrtab, ".elfdata") + Addstring(shstrtab, ".rodata") // See the comment about data.rel.ro.FOO section names in data.go. relro_prefix := "" if UseRelro() { - Addstring(ctxt, shstrtab, ".data.rel.ro") + Addstring(shstrtab, ".data.rel.ro") relro_prefix = ".data.rel.ro" } - Addstring(ctxt, shstrtab, relro_prefix+".typelink") - Addstring(ctxt, shstrtab, relro_prefix+".itablink") - Addstring(ctxt, shstrtab, relro_prefix+".gosymtab") - Addstring(ctxt, shstrtab, relro_prefix+".gopclntab") + Addstring(shstrtab, relro_prefix+".typelink") + Addstring(shstrtab, relro_prefix+".itablink") + Addstring(shstrtab, relro_prefix+".gosymtab") + Addstring(shstrtab, relro_prefix+".gopclntab") if Linkmode == LinkExternal { *FlagD = true - Addstring(ctxt, shstrtab, elfRelType+".text") - Addstring(ctxt, shstrtab, elfRelType+".rodata") - Addstring(ctxt, shstrtab, elfRelType+relro_prefix+".typelink") - Addstring(ctxt, shstrtab, elfRelType+relro_prefix+".itablink") - Addstring(ctxt, shstrtab, elfRelType+relro_prefix+".gosymtab") - Addstring(ctxt, shstrtab, elfRelType+relro_prefix+".gopclntab") - Addstring(ctxt, shstrtab, elfRelType+".noptrdata") - Addstring(ctxt, shstrtab, elfRelType+".data") + Addstring(shstrtab, elfRelType+".text") + Addstring(shstrtab, elfRelType+".rodata") + Addstring(shstrtab, elfRelType+relro_prefix+".typelink") + Addstring(shstrtab, elfRelType+relro_prefix+".itablink") + Addstring(shstrtab, elfRelType+relro_prefix+".gosymtab") + Addstring(shstrtab, elfRelType+relro_prefix+".gopclntab") + Addstring(shstrtab, elfRelType+".noptrdata") + Addstring(shstrtab, elfRelType+".data") if UseRelro() { - Addstring(ctxt, shstrtab, elfRelType+".data.rel.ro") + Addstring(shstrtab, elfRelType+".data.rel.ro") } // add a .note.GNU-stack section to mark the stack as non-executable - Addstring(ctxt, shstrtab, ".note.GNU-stack") + Addstring(shstrtab, ".note.GNU-stack") if Buildmode == BuildmodeShared { - Addstring(ctxt, shstrtab, ".note.go.abihash") - Addstring(ctxt, shstrtab, ".note.go.pkg-list") - Addstring(ctxt, shstrtab, ".note.go.deps") + Addstring(shstrtab, ".note.go.abihash") + Addstring(shstrtab, ".note.go.pkg-list") + Addstring(shstrtab, ".note.go.deps") } } @@ -1915,35 +1915,35 @@ func (ctxt *Link) doelf() { } if hasinitarr { - Addstring(ctxt, shstrtab, ".init_array") - Addstring(ctxt, shstrtab, elfRelType+".init_array") + Addstring(shstrtab, ".init_array") + Addstring(shstrtab, elfRelType+".init_array") } if !*FlagS { - Addstring(ctxt, shstrtab, ".symtab") - Addstring(ctxt, shstrtab, ".strtab") + Addstring(shstrtab, ".symtab") + Addstring(shstrtab, ".strtab") dwarfaddshstrings(ctxt, shstrtab) } - Addstring(ctxt, shstrtab, ".shstrtab") + Addstring(shstrtab, ".shstrtab") if !*FlagD { /* -d suppresses dynamic loader format */ - Addstring(ctxt, shstrtab, ".interp") - Addstring(ctxt, shstrtab, ".hash") - Addstring(ctxt, shstrtab, ".got") + Addstring(shstrtab, ".interp") + Addstring(shstrtab, ".hash") + Addstring(shstrtab, ".got") if SysArch.Family == sys.PPC64 { - Addstring(ctxt, shstrtab, ".glink") + Addstring(shstrtab, ".glink") } - Addstring(ctxt, shstrtab, ".got.plt") - Addstring(ctxt, shstrtab, ".dynamic") - Addstring(ctxt, shstrtab, ".dynsym") - Addstring(ctxt, shstrtab, ".dynstr") - Addstring(ctxt, shstrtab, elfRelType) - Addstring(ctxt, shstrtab, elfRelType+".plt") + Addstring(shstrtab, ".got.plt") + Addstring(shstrtab, ".dynamic") + Addstring(shstrtab, ".dynsym") + Addstring(shstrtab, ".dynstr") + Addstring(shstrtab, elfRelType) + Addstring(shstrtab, elfRelType+".plt") - Addstring(ctxt, shstrtab, ".plt") - Addstring(ctxt, shstrtab, ".gnu.version") - Addstring(ctxt, shstrtab, ".gnu.version_r") + Addstring(shstrtab, ".plt") + Addstring(shstrtab, ".gnu.version") + Addstring(shstrtab, ".gnu.version_r") /* dynamic symbol table - first entry all zeros */ s := ctxt.Syms.Lookup(".dynsym", 0) @@ -1962,7 +1962,7 @@ func (ctxt *Link) doelf() { s.Type = obj.SELFROSECT s.Attr |= AttrReachable if s.Size == 0 { - Addstring(ctxt, s, "") + Addstring(s, "") } dynstr := s @@ -2049,7 +2049,7 @@ func (ctxt *Link) doelf() { } if rpath.val != "" { - Elfwritedynent(ctxt, s, DT_RUNPATH, uint64(Addstring(ctxt, dynstr, rpath.val))) + Elfwritedynent(ctxt, s, DT_RUNPATH, uint64(Addstring(dynstr, rpath.val))) } if SysArch.Family == sys.PPC64 { @@ -2642,7 +2642,7 @@ func Elfadddynsym(ctxt *Link, s *Symbol) { d := ctxt.Syms.Lookup(".dynsym", 0) name := s.Extname - Adduint32(ctxt, d, uint32(Addstring(ctxt, ctxt.Syms.Lookup(".dynstr", 0), name))) + Adduint32(ctxt, d, uint32(Addstring(ctxt.Syms.Lookup(".dynstr", 0), name))) /* type */ t := STB_GLOBAL << 4 @@ -2675,7 +2675,7 @@ func Elfadddynsym(ctxt *Link, s *Symbol) { Adduint64(ctxt, d, uint64(s.Size)) if SysArch.Family == sys.AMD64 && !s.Attr.CgoExportDynamic() && s.Dynimplib != "" && !seenlib[s.Dynimplib] { - Elfwritedynent(ctxt, ctxt.Syms.Lookup(".dynamic", 0), DT_NEEDED, uint64(Addstring(ctxt, ctxt.Syms.Lookup(".dynstr", 0), s.Dynimplib))) + Elfwritedynent(ctxt, ctxt.Syms.Lookup(".dynamic", 0), DT_NEEDED, uint64(Addstring(ctxt.Syms.Lookup(".dynstr", 0), s.Dynimplib))) } } else { s.Dynid = int32(Nelfsym) @@ -2686,7 +2686,7 @@ func Elfadddynsym(ctxt *Link, s *Symbol) { /* name */ name := s.Extname - Adduint32(ctxt, d, uint32(Addstring(ctxt, ctxt.Syms.Lookup(".dynstr", 0), name))) + Adduint32(ctxt, d, uint32(Addstring(ctxt.Syms.Lookup(".dynstr", 0), name))) /* value */ if s.Type == obj.SDYNIMPORT { diff --git a/src/cmd/link/internal/ld/go.go b/src/cmd/link/internal/ld/go.go index 663caf7639..5b84c3d718 100644 --- a/src/cmd/link/internal/ld/go.go +++ b/src/cmd/link/internal/ld/go.go @@ -307,9 +307,9 @@ func adddynlib(ctxt *Link, lib string) { if Iself { s := ctxt.Syms.Lookup(".dynstr", 0) if s.Size == 0 { - Addstring(ctxt, s, "") + Addstring(s, "") } - Elfwritedynent(ctxt, ctxt.Syms.Lookup(".dynamic", 0), DT_NEEDED, uint64(Addstring(ctxt, s, lib))) + Elfwritedynent(ctxt, ctxt.Syms.Lookup(".dynamic", 0), DT_NEEDED, uint64(Addstring(s, lib))) } else { Errorf(nil, "adddynlib: unsupported binary format") } diff --git a/src/cmd/link/internal/ld/macho.go b/src/cmd/link/internal/ld/macho.go index 8230f5d733..35fe3e47d4 100644 --- a/src/cmd/link/internal/ld/macho.go +++ b/src/cmd/link/internal/ld/macho.go @@ -698,7 +698,7 @@ func machosymtab(ctxt *Link) { } // replace "·" as ".", because DTrace cannot handle it. - Addstring(ctxt, symstr, strings.Replace(s.Extname, "·", ".", -1)) + Addstring(symstr, strings.Replace(s.Extname, "·", ".", -1)) if s.Type == obj.SDYNIMPORT || s.Type == obj.SHOSTOBJ { Adduint8(ctxt, symtab, 0x01) // type N_EXT, external symbol diff --git a/src/cmd/link/internal/ld/pcln.go b/src/cmd/link/internal/ld/pcln.go index 0709c0b984..b9cbbb2160 100644 --- a/src/cmd/link/internal/ld/pcln.go +++ b/src/cmd/link/internal/ld/pcln.go @@ -126,7 +126,7 @@ func addpctab(ctxt *Link, ftab *Symbol, off int32, d *Pcdata) int32 { var start int32 if len(d.P) > 0 { start = int32(len(ftab.P)) - Addbytes(ctxt, ftab, d.P) + Addbytes(ftab, d.P) } return int32(setuint32(ctxt, ftab, int64(off), uint32(start))) } @@ -134,7 +134,7 @@ func addpctab(ctxt *Link, ftab *Symbol, off int32, d *Pcdata) int32 { func ftabaddstring(ctxt *Link, ftab *Symbol, s string) int32 { n := int32(len(s)) + 1 start := int32(len(ftab.P)) - Symgrow(ctxt, ftab, int64(start)+int64(n)+1) + Symgrow(ftab, int64(start)+int64(n)+1) copy(ftab.P[start:], s) return start } @@ -234,7 +234,7 @@ func (ctxt *Link) pclntab() { } pclntabNfunc = nfunc - Symgrow(ctxt, ftab, 8+int64(SysArch.PtrSize)+int64(nfunc)*2*int64(SysArch.PtrSize)+int64(SysArch.PtrSize)+4) + Symgrow(ftab, 8+int64(SysArch.PtrSize)+int64(nfunc)*2*int64(SysArch.PtrSize)+int64(SysArch.PtrSize)+4) setuint32(ctxt, ftab, 0, 0xfffffffb) setuint8(ctxt, ftab, 6, uint8(SysArch.MinLC)) setuint8(ctxt, ftab, 7, uint8(SysArch.PtrSize)) @@ -270,7 +270,7 @@ func (ctxt *Link) pclntab() { if len(pcln.Funcdata) > 0 && (end&int32(SysArch.PtrSize-1) != 0) { end += 4 } - Symgrow(ctxt, ftab, int64(end)) + Symgrow(ftab, int64(end)) // entry uintptr off = int32(setaddr(ctxt, ftab, int64(off), s)) @@ -357,7 +357,7 @@ func (ctxt *Link) pclntab() { pclntabFiletabOffset = start setuint32(ctxt, ftab, 8+int64(SysArch.PtrSize)+int64(nfunc)*2*int64(SysArch.PtrSize)+int64(SysArch.PtrSize), uint32(start)) - Symgrow(ctxt, ftab, int64(start)+(int64(len(ctxt.Filesyms))+1)*4) + Symgrow(ftab, int64(start)+(int64(len(ctxt.Filesyms))+1)*4) setuint32(ctxt, ftab, int64(start), uint32(len(ctxt.Filesyms)+1)) for i := len(ctxt.Filesyms) - 1; i >= 0; i-- { s := ctxt.Filesyms[i] @@ -451,7 +451,7 @@ func (ctxt *Link) findfunctab() { // allocate table nbuckets := int32((max - min + BUCKETSIZE - 1) / BUCKETSIZE) - Symgrow(ctxt, t, 4*int64(nbuckets)+int64(n)) + Symgrow(t, 4*int64(nbuckets)+int64(n)) // fill in table for i := int32(0); i < nbuckets; i++ { diff --git a/src/cmd/link/internal/ld/pe.go b/src/cmd/link/internal/ld/pe.go index 2a8c77966d..517ed6cf2a 100644 --- a/src/cmd/link/internal/ld/pe.go +++ b/src/cmd/link/internal/ld/pe.go @@ -521,7 +521,7 @@ func initdynimport(ctxt *Link) *Dll { for d := dr; d != nil; d = d.next { for m = d.ms; m != nil; m = m.next { m.s.Type = obj.SDATA - Symgrow(ctxt, m.s, int64(SysArch.PtrSize)) + Symgrow(m.s, int64(SysArch.PtrSize)) dynName := m.s.Extname // only windows/386 requires stdcall decoration if SysArch.Family == sys.I386 && m.argsize >= 0 { diff --git a/src/cmd/link/internal/ld/symtab.go b/src/cmd/link/internal/ld/symtab.go index 10ac961e4a..d7eec06318 100644 --- a/src/cmd/link/internal/ld/symtab.go +++ b/src/cmd/link/internal/ld/symtab.go @@ -594,7 +594,7 @@ func (ctxt *Link) symtab() { // compiler-provided size, so read it from the type data. moduledatatype := ctxt.Syms.ROLookup("type.runtime.moduledata", 0) moduledata.Size = decodetypeSize(ctxt.Arch, moduledatatype) - Symgrow(ctxt, moduledata, moduledata.Size) + Symgrow(moduledata, moduledata.Size) lastmoduledatap := ctxt.Syms.Lookup("runtime.lastmoduledatap", 0) if lastmoduledatap.Type != obj.SDYNIMPORT { diff --git a/src/cmd/link/internal/x86/asm.go b/src/cmd/link/internal/x86/asm.go index ccae05ff63..5347ab04d7 100644 --- a/src/cmd/link/internal/x86/asm.go +++ b/src/cmd/link/internal/x86/asm.go @@ -41,7 +41,7 @@ func addcall(ctxt *ld.Link, s *ld.Symbol, t *ld.Symbol) { s.Attr |= ld.AttrReachable i := s.Size s.Size += 4 - ld.Symgrow(ctxt, s, s.Size) + ld.Symgrow(s, s.Size) r := ld.Addrel(s) r.Sym = t r.Off = int32(i) @@ -136,7 +136,7 @@ func gentext(ctxt *ld.Link) { o(0x8d, 0x99) i := initfunc.Size initfunc.Size += 4 - ld.Symgrow(ctxt, initfunc, initfunc.Size) + ld.Symgrow(initfunc, initfunc.Size) r := ld.Addrel(initfunc) r.Sym = ctxt.Syms.Lookup("_GLOBAL_OFFSET_TABLE_", 0) r.Off = int32(i)