if zerosize > 0 {
zero := mappkg.Lookup("zero")
- ggloblsym(zero, int32(zerosize), obj.DUPOK|obj.RODATA)
+ ggloblsym(zero.Linksym(), int32(zerosize), obj.DUPOK|obj.RODATA)
}
addGCLocals()
for _, s := range funcsyms {
sf := s.Pkg.Lookup(funcsymname(s))
dsymptr(sf.Linksym(), 0, s.Linksym(), 0)
- ggloblsym(sf, int32(Widthptr), obj.DUPOK|obj.RODATA)
+ ggloblsym(sf.Linksym(), int32(Widthptr), obj.DUPOK|obj.RODATA)
}
// Do not reprocess funcsyms on next dumpglobls call.
if !symdata.SeenGlobl() {
// string data
off := dsname(symdata, 0, s)
- ggloblLSym(symdata, int32(off), obj.DUPOK|obj.RODATA|obj.LOCAL)
+ ggloblsym(symdata, int32(off), obj.DUPOK|obj.RODATA|obj.LOCAL)
}
return symdata
sym.Def = asTypesNode(newname(sym))
off := dsname(sym.Linksym(), 0, s)
- ggloblsym(sym, int32(off), obj.NOPTR|obj.LOCAL)
+ ggloblsym(sym.Linksym(), int32(off), obj.NOPTR|obj.LOCAL)
if nam.Op != ONAME {
Fatalf("slicebytes %v", nam)
s := Ctxt.Lookup("type..importpath." + p.Prefix + ".")
ot := dnameData(s, 0, str, "", nil, false)
- ggloblLSym(s, int32(ot), obj.DUPOK|obj.RODATA)
+ ggloblsym(s, int32(ot), obj.DUPOK|obj.RODATA)
p.Pathsym = s
}
return s
}
ot := dnameData(s, 0, name, tag, pkg, exported)
- ggloblLSym(s, int32(ot), obj.DUPOK|obj.RODATA)
+ ggloblsym(s, int32(ot), obj.DUPOK|obj.RODATA)
return s
}
}
ot = dextratypeData(s, ot, t)
- ggloblsym(s, int32(ot), int16(dupok|obj.RODATA))
+ ggloblsym(s.Linksym(), int32(ot), int16(dupok|obj.RODATA))
// The linker will leave a table of all the typelinks for
// types in the binary, so the runtime can find them.
o += len(imethods(i.itype)) * Widthptr // skip fun method pointers
// at runtime the itab will contain pointers to types, other itabs and
// method functions. None are allocated on heap, so we can use obj.NOPTR.
- ggloblsym(i.sym, int32(o), int16(obj.DUPOK|obj.NOPTR))
+ ggloblsym(i.sym.Linksym(), int32(o), int16(obj.DUPOK|obj.NOPTR))
ilink := itablinkpkg.Lookup(i.t.ShortString() + "," + i.itype.ShortString())
dsymptr(ilink.Linksym(), 0, i.sym.Linksym(), 0)
- ggloblsym(ilink, int32(Widthptr), int16(obj.DUPOK|obj.RODATA))
+ ggloblsym(ilink.Linksym(), int32(Widthptr), int16(obj.DUPOK|obj.RODATA))
}
// process ptabs
ot = dsymptrOff(s, ot, nsym, 0)
ot = dsymptrOff(s, ot, dtypesym(p.t).Linksym(), 0)
}
- ggloblLSym(s, int32(ot), int16(obj.RODATA))
+ ggloblsym(s, int32(ot), int16(obj.RODATA))
ot = 0
s = Ctxt.Lookup("go.plugin.exports")
for _, p := range ptabs {
ot = dsymptr(s, ot, p.s.Linksym(), 0)
}
- ggloblLSym(s, int32(ot), int16(obj.RODATA))
+ ggloblsym(s, int32(ot), int16(obj.RODATA))
}
// generate import strings for imported packages
ot := 0
ot = dsymptr(hashfunc.Linksym(), ot, memhashvarlen, 0)
ot = duintptr(hashfunc.Linksym(), ot, uint64(t.Width)) // size encoded in closure
- ggloblsym(hashfunc, int32(ot), obj.DUPOK|obj.RODATA)
+ ggloblsym(hashfunc.Linksym(), int32(ot), obj.DUPOK|obj.RODATA)
// make equality closure
p = fmt.Sprintf(".eqfunc%d", t.Width)
ot = 0
ot = dsymptr(eqfunc.Linksym(), ot, memequalvarlen, 0)
ot = duintptr(eqfunc.Linksym(), ot, uint64(t.Width))
- ggloblsym(eqfunc, int32(ot), obj.DUPOK|obj.RODATA)
+ ggloblsym(eqfunc.Linksym(), int32(ot), obj.DUPOK|obj.RODATA)
} else {
// generate an alg table specific to this type
s = typesymprefix(".alg", t)
// make Go funcs (closures) for calling hash and equal from Go
dsymptr(hashfunc.Linksym(), 0, hash.Linksym(), 0)
- ggloblsym(hashfunc, int32(Widthptr), obj.DUPOK|obj.RODATA)
+ ggloblsym(hashfunc.Linksym(), int32(Widthptr), obj.DUPOK|obj.RODATA)
dsymptr(eqfunc.Linksym(), 0, eq.Linksym(), 0)
- ggloblsym(eqfunc, int32(Widthptr), obj.DUPOK|obj.RODATA)
+ ggloblsym(eqfunc.Linksym(), int32(Widthptr), obj.DUPOK|obj.RODATA)
}
// ../../../../runtime/alg.go:/typeAlg
ot = dsymptr(s.Linksym(), ot, hashfunc.Linksym(), 0)
ot = dsymptr(s.Linksym(), ot, eqfunc.Linksym(), 0)
- ggloblsym(s, int32(ot), obj.DUPOK|obj.RODATA)
+ ggloblsym(s.Linksym(), int32(ot), obj.DUPOK|obj.RODATA)
return s
}
for i, x := range ptrmask {
duint8(sym.Linksym(), i, x)
}
- ggloblsym(sym, int32(len(ptrmask)), obj.DUPOK|obj.RODATA|obj.LOCAL)
+ ggloblsym(sym.Linksym(), int32(len(ptrmask)), obj.DUPOK|obj.RODATA|obj.LOCAL)
}
return sym
}
func (p *GCProg) end() {
p.w.End()
duint32(p.sym.Linksym(), 0, uint32(p.symoff-4))
- ggloblsym(p.sym, int32(p.symoff), obj.DUPOK|obj.RODATA|obj.LOCAL)
+ ggloblsym(p.sym.Linksym(), int32(p.symoff), obj.DUPOK|obj.RODATA|obj.LOCAL)
if Debug_gcprog > 0 {
fmt.Fprintf(os.Stderr, "compile: end GCProg for %v\n", p.sym)
}