staticdata

package standard library
go1.17.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 9, 2021 License: BSD-3-Clause Imports: 20 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func FuncLinksym

func FuncLinksym(n *ir.Name) *obj.LSym

FuncLinksym returns n·f, the function value symbol for n.

func GlobalLinksym

func GlobalLinksym(n *ir.Name) *obj.LSym

func InitAddr

func InitAddr(n *ir.Name, noff int64, lsym *obj.LSym)

InitAddr is InitAddrOffset, with offset fixed to 0.

func InitAddrOffset

func InitAddrOffset(n *ir.Name, noff int64, lsym *obj.LSym, off int64)

InitAddrOffset writes the static name symbol lsym to n, it does not modify n. It's the caller responsibility to make sure lsym is from ONAME/PEXTERN node.

func InitConst

func InitConst(n *ir.Name, noff int64, c ir.Node, wid int)

InitConst writes the static literal c to n. Neither n nor c is modified.

func InitSlice

func InitSlice(n *ir.Name, noff int64, lsym *obj.LSym, lencap int64)

InitSlice writes a static slice symbol {lsym, lencap, lencap} to n+noff, it does not modify n. It's the caller responsibility to make sure lsym is from ONAME node.

func InitSliceBytes

func InitSliceBytes(nam *ir.Name, off int64, s string)

func NeedFuncSym

func NeedFuncSym(fn *ir.Func)

NeedFuncSym ensures that fn·f is exported, if needed. It is only used with -dynlink. When not compiling for dynamic linking, the funcsyms are created as needed by the packages that use them. Normally we emit the fn·f stubs as DUPOK syms, but DUPOK doesn't work across shared library boundaries. So instead, when dynamic linking, we only create the fn·f stubs in fn's package.

func StringSym

func StringSym(pos src.XPos, s string) (data *obj.LSym)

StringSym returns a symbol containing the string s. The symbol contains the string data, not a string header.

func WriteEmbed

func WriteEmbed(v *ir.Name)

WriteEmbed emits the init data for a //go:embed variable, which is either a string, a []byte, or an embed.FS.

func WriteFuncSyms

func WriteFuncSyms()

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL