Versions in this module Expand all Collapse all go1 go1.18.10 Jan 10, 2023 Changes in this version + const ABIWRAPPER + const ABase386 + const ABaseAMD64 + const ABaseARM + const ABaseARM64 + const ABaseMIPS + const ABasePPC64 + const ABaseRISCV + const ABaseS390X + const ABaseWasm + const AMask + const AllowedOpCodes + const C_FBIT + const C_PBIT + const C_SBIT + const C_SCOND + const C_SCOND_XOR + const C_UBIT + const C_WBIT + const DUPOK + const LINE_BASE + const LINE_RANGE + const LOCAL + const LOG + const NEEDCTXT + const NOFRAME + const NOPROF + const NOPTR + const NOSPLIT + const OPCODE_BASE + const PC_RANGE + const RBase386 + const RBaseAMD64 + const RBaseARM + const RBaseARM64 + const RBaseMIPS + const RBasePPC64 + const RBaseRISCV + const RBaseS390X + const RBaseWasm + const REFLECTMETHOD + const REG_NONE + const RODATA + const RegListARM64Hi + const RegListARM64Lo + const RegListARMHi + const RegListARMLo + const RegListX86Hi + const RegListX86Lo + const StaticNamePref + const TLSBSS + const TOPFRAME + const WRAPPER + var Anames = []string + func Bool2int(b bool) int + func CConv(s uint8) string + func CConvARM(s uint8) string + func Dconv(p *Prog, a *Addr) string + func DconvWithABIDetail(p *Prog, a *Addr) string + func Flushplist(ctxt *Link, plist *Plist, newprog ProgAlloc, myimportpath string) + func MarkUnsafePoints(ctxt *Link, p0 *Prog, newprog ProgAlloc, ...) + func Nopout(p *Prog) + func RLconv(list int64) string + func Rconv(reg int) string + func RegisterOpSuffix(arch string, cconv func(uint8) string) + func RegisterOpcode(lo As, Anames []string) + func RegisterRegister(lo, hi int, Rconv func(int) string) + func RegisterRegisterList(lo, hi int64, rlconv func(int64) string) + func WriteDconv(w io.Writer, p *Prog, a *Addr) + func WriteObjFile(ctxt *Link, b *bio.Writer) + type ABI uint8 + const ABI0 + const ABICount + const ABIInternal + func ParseABI(abistr string) (ABI, bool) + func (i ABI) String() string + type ABISet uint8 + const ABISetCallable + func ABISetOf(abi ABI) ABISet + func (a *ABISet) Get(abi ABI) bool + func (a *ABISet) Set(abi ABI, value bool) + func (a ABISet) String() string + type Addr struct + Class int8 + Index int16 + Name AddrName + Offset int64 + Reg int16 + Scale int16 + Sym *LSym + Type AddrType + Val interface{} + func (a *Addr) SetConst(v int64) + func (a *Addr) SetTarget(t *Prog) + func (a *Addr) Target() *Prog + func (a *Addr) WriteNameTo(w io.Writer) + type AddrName int8 + const NAME_AUTO + const NAME_EXTERN + const NAME_GOTREF + const NAME_NONE + const NAME_PARAM + const NAME_STATIC + const NAME_TOCREF + type AddrPos struct + Pos OperandPos + type AddrType uint8 + const TYPE_ADDR + const TYPE_BRANCH + const TYPE_CONST + const TYPE_FCONST + const TYPE_INDIR + const TYPE_MEM + const TYPE_NONE + const TYPE_REG + const TYPE_REGLIST + const TYPE_REGREG + const TYPE_REGREG2 + const TYPE_SCONST + const TYPE_SHIFT + const TYPE_TEXTSIZE + func (i AddrType) String() string + type As int16 + const ACALL + const ADUFFCOPY + const ADUFFZERO + const AEND + const AFUNCDATA + const AGETCALLERPC + const AJMP + const ANOP + const APCALIGN + const APCDATA + const ARET + const ATEXT + const AUNDEF + const AXXX + const A_ARCHSPECIFIC + func (a As) String() string + type Attribute uint32 + const AttrABIWrapper + const AttrCFunc + const AttrContentAddressable + const AttrDuplicateOK + const AttrIndexed + const AttrLeaf + const AttrLocal + const AttrMakeTypelink + const AttrNeedCtxt + const AttrNoFrame + const AttrNoSplit + const AttrOnList + const AttrPcdata + const AttrReflectMethod + const AttrStatic + const AttrUsedInIface + const AttrWasInlined + const AttrWrapper + func (a *Attribute) ABI() ABI + func (a *Attribute) ABIWrapper() bool + func (a *Attribute) CFunc() bool + func (a *Attribute) ContentAddressable() bool + func (a *Attribute) DuplicateOK() bool + func (a *Attribute) Indexed() bool + func (a *Attribute) IsPcdata() bool + func (a *Attribute) Leaf() bool + func (a *Attribute) Local() bool + func (a *Attribute) MakeTypelink() bool + func (a *Attribute) NeedCtxt() bool + func (a *Attribute) NoFrame() bool + func (a *Attribute) NoSplit() bool + func (a *Attribute) OnList() bool + func (a *Attribute) ReflectMethod() bool + func (a *Attribute) Set(flag Attribute, value bool) + func (a *Attribute) SetABI(abi ABI) + func (a *Attribute) Static() bool + func (a *Attribute) UsedInIface() bool + func (a *Attribute) WasInlined() bool + func (a *Attribute) Wrapper() bool + func (a Attribute) String() string + type Auto struct + Aoffset int32 + Asym *LSym + Gotype *LSym + Name AddrName + type BySymName []*LSym + func (s BySymName) Len() int + func (s BySymName) Less(i, j int) bool + func (s BySymName) Swap(i, j int) + type DwarfFixupTable struct + func NewDwarfFixupTable(ctxt *Link) *DwarfFixupTable + func (ft *DwarfFixupTable) AbsFuncDwarfSym(fnsym *LSym) *LSym + func (ft *DwarfFixupTable) Finalize(myimportpath string, trace bool) + func (ft *DwarfFixupTable) GetPrecursorFunc(s *LSym) interface{} + func (ft *DwarfFixupTable) ReferenceChildDIE(s *LSym, ridx int, tgt *LSym, dclidx int, inlIndex int) + func (ft *DwarfFixupTable) RegisterChildDIEOffsets(s *LSym, vars []*dwarf.Var, coffsets []int32) + func (ft *DwarfFixupTable) SetPrecursorFunc(s *LSym, fn interface{}) + type FileInfo struct + Name string + Size int64 + type FuncInfo struct + Align int32 + ArgInfo *LSym + ArgLiveInfo *LSym + Args int32 + Autot map[*LSym]struct{} + FuncFlag objabi.FuncFlag + FuncID objabi.FuncID + FuncInfoSym *LSym + GCArgs *LSym + GCLocals *LSym + InlMarks []InlMark + Locals int32 + OpenCodedDeferInfo *LSym + Pcln Pcln + StackObjects *LSym + Text *Prog + WrapInfo *LSym + func (fi *FuncInfo) AddInlMark(p *Prog, id int32) + func (fi *FuncInfo) AddSpill(s RegSpill) + func (fi *FuncInfo) RecordAutoType(gotype *LSym) + func (fi *FuncInfo) SpillRegisterArgs(last *Prog, pa ProgAlloc) *Prog + func (fi *FuncInfo) UnspillRegisterArgs(last *Prog, pa ProgAlloc) *Prog + type InlMark struct + type InlTree struct + func (tree *InlTree) Add(parent int, pos src.XPos, func_ *LSym) int + func (tree *InlTree) CallPos(inlIndex int) src.XPos + func (tree *InlTree) InlinedFunction(inlIndex int) *LSym + func (tree *InlTree) Parent(inlIndex int) int + type InlinedCall struct + Func *LSym + Parent int + ParentPC int32 + Pos src.XPos + type LSym struct + Extra *interface{} + Gotype *LSym + Name string + P []byte + Pkg string + PkgIdx int32 + R []Reloc + Size int64 + SymIdx int32 + Type objabi.SymKind + func (*LSym) CanBeAnSSAAux() + func (*LSym) CanBeAnSSASym() + func (s *LSym) File() *FileInfo + func (s *LSym) Func() *FuncInfo + func (s *LSym) Grow(lsiz int64) + func (s *LSym) GrowCap(c int64) + func (s *LSym) Length(dwarfContext interface{}) int64 + func (s *LSym) NewFileInfo() *FileInfo + func (s *LSym) NewFuncInfo() *FuncInfo + func (s *LSym) String() string + func (s *LSym) TextAttrString() string + func (s *LSym) WriteAddr(ctxt *Link, off int64, siz int, rsym *LSym, roff int64) + func (s *LSym) WriteBytes(ctxt *Link, off int64, b []byte) int64 + func (s *LSym) WriteCURelativeAddr(ctxt *Link, off int64, rsym *LSym, roff int64) + func (s *LSym) WriteFloat32(ctxt *Link, off int64, f float32) + func (s *LSym) WriteFloat64(ctxt *Link, off int64, f float64) + func (s *LSym) WriteInt(ctxt *Link, off int64, siz int, i int64) + func (s *LSym) WriteOff(ctxt *Link, off int64, rsym *LSym, roff int64) + func (s *LSym) WriteString(ctxt *Link, off int64, siz int, str string) + func (s *LSym) WriteWeakAddr(ctxt *Link, off int64, siz int, rsym *LSym, roff int64) + func (s *LSym) WriteWeakOff(ctxt *Link, off int64, rsym *LSym, roff int64) + type Link struct + Arch *LinkArch + Bso *bufio.Writer + Data []*LSym + DebugInfo func(fn *LSym, info *LSym, curfn interface{}) ([]dwarf.Scope, dwarf.InlCalls) + Debugasm int + Debugpcln string + Debugvlog bool + DiagFlush func() + DiagFunc func(string, ...interface{}) + DwFixups *DwarfFixupTable + Errors int + Fingerprint goobj.FingerprintType + Flag_dynlink bool + Flag_linkshared bool + Flag_locationlists bool + Flag_maymorestack string + Flag_optimize bool + Flag_shared bool + GenAbstractFunc func(fn *LSym) + Headtype objabi.HeadType + Imports []goobj.ImportedPkg + InParallel bool + InlTree InlTree + IsAsm bool + Pathname string + Pkgpath string + PosTable src.PosTable + Retpoline bool + Text []*LSym + UseBASEntries bool + func Linknew(arch *LinkArch) *Link + func (ctxt *Link) AddImport(pkg string, fingerprint goobj.FingerprintType) + func (ctxt *Link) AllPos(xpos src.XPos, result []src.Pos) []src.Pos + func (ctxt *Link) CanReuseProgs() bool + func (ctxt *Link) Diag(format string, args ...interface{}) + func (ctxt *Link) DwarfAbstractFunc(curfn interface{}, s *LSym, myimportpath string) + func (ctxt *Link) DwarfGlobal(myimportpath, typename string, varSym *LSym) + func (ctxt *Link) DwarfIntConst(myimportpath, name, typename string, val int64) + func (ctxt *Link) EmitEntryLiveness(s *LSym, p *Prog, newprog ProgAlloc) *Prog + func (ctxt *Link) EmitEntryStackMap(s *LSym, p *Prog, newprog ProgAlloc) *Prog + func (ctxt *Link) EmitEntryUnsafePoint(s *LSym, p *Prog, newprog ProgAlloc) *Prog + func (ctxt *Link) EndUnsafePoint(p *Prog, newprog ProgAlloc, oldval int64) *Prog + func (ctxt *Link) FixedFrameSize() int64 + func (ctxt *Link) Float32Sym(f float32) *LSym + func (ctxt *Link) Float64Sym(f float64) *LSym + func (ctxt *Link) GCLocalsSym(data []byte) *LSym + func (ctxt *Link) Globl(s *LSym, size int64, flag int) + func (ctxt *Link) InitTextSym(s *LSym, flag int) + func (ctxt *Link) InnermostPos(xpos src.XPos) src.Pos + func (ctxt *Link) Int64Sym(i int64) *LSym + func (ctxt *Link) Logf(format string, args ...interface{}) + func (ctxt *Link) Lookup(name string) *LSym + func (ctxt *Link) LookupABI(name string, abi ABI) *LSym + func (ctxt *Link) LookupABIInit(name string, abi ABI, init func(s *LSym)) *LSym + func (ctxt *Link) LookupDerived(s *LSym, name string) *LSym + func (ctxt *Link) LookupInit(name string, init func(s *LSym)) *LSym + func (ctxt *Link) LookupStatic(name string) *LSym + func (ctxt *Link) NewProg() *Prog + func (ctxt *Link) NumberSyms() + func (ctxt *Link) OutermostPos(xpos src.XPos) src.Pos + func (ctxt *Link) StartUnsafePoint(p *Prog, newprog ProgAlloc) *Prog + type LinkArch struct + Assemble func(*Link, *LSym, ProgAlloc) + DWARFRegisters map[int16]int16 + ErrorCheck func(*Link, *LSym) + Init func(*Link) + Preprocess func(*Link, *LSym, ProgAlloc) + Progedit func(*Link, *Prog, ProgAlloc) + UnaryDst map[As]bool + type OperandPos int8 + const Destination + const Source + type PCIter struct + Done bool + NextPC uint32 + PC uint32 + PCScale uint32 + Value int32 + func NewPCIter(pcScale uint32) *PCIter + func (it *PCIter) Init(p []byte) + func (it *PCIter) Next() + type Pcln struct + Funcdata []*LSym + InlTree InlTree + Pcdata []*LSym + Pcfile *LSym + Pcinline *LSym + Pcline *LSym + Pcsp *LSym + UsedFiles map[goobj.CUFileIndex]struct{} + type Plist struct + Curfn interface{} + Firstpc *Prog + type Prog struct + As As + Back uint8 + Ctxt *Link + Forwd *Prog + From Addr + Ft uint8 + Isize uint8 + Link *Prog + Mark uint16 + Optab uint16 + Pc int64 + Pool *Prog + Pos src.XPos + Reg int16 + RegTo2 int16 + Rel *Prog + RestArgs []AddrPos + Scond uint8 + Spadj int32 + To Addr + Tt uint8 + func Appendp(q *Prog, newprog ProgAlloc) *Prog + func (p *Prog) AllPos(result []src.Pos) []src.Pos + func (p *Prog) From3Type() AddrType + func (p *Prog) GetFrom3() *Addr + func (p *Prog) GetTo2() *Addr + func (p *Prog) InnermostFilename() string + func (p *Prog) InnermostLine(w io.Writer) + func (p *Prog) InnermostLineNumber() string + func (p *Prog) InnermostLineNumberHTML() string + func (p *Prog) InnermostString(w io.Writer) + func (p *Prog) InstructionString() string + func (p *Prog) Line() string + func (p *Prog) SetFrom3(a Addr) + func (p *Prog) SetFrom3Const(off int64) + func (p *Prog) SetFrom3Reg(reg int16) + func (p *Prog) SetRestArgs(args []Addr) + func (p *Prog) SetTo2(a Addr) + func (p *Prog) String() string + func (p *Prog) WriteInstructionString(w io.Writer) + type ProgAlloc func() *Prog + type RegSpill struct + Addr Addr + Reg int16 + Spill As + Unspill As + type Reloc struct + Add int64 + Off int32 + Siz uint8 + Sym *LSym + Type objabi.RelocType + func Addrel(s *LSym) *Reloc