Versions in this module Expand all Collapse all v1 v1.23.0 Aug 14, 2024 Changes in this version + func AlignmentPadding(pc int32, p *Prog, ctxt *Link, cursym *LSym) int + func AlignmentPaddingLength(pc int32, p *Prog, ctxt *Link) int type As + const APCALIGNMAX type Attribute + const AttrLinkname + func (a *Attribute) IsLinkname() bool type FuncInfo + WasmExport *WasmExport type Link + SEHSyms []*LSym + Std bool + type WasmExport struct + AuxSym *LSym + WrappedSym *LSym + func (we *WasmExport) CreateAuxSym() + type WasmFuncType struct + Params []WasmField + Results []WasmField + func (ft *WasmFuncType) Read(b []byte) + func (ft *WasmFuncType) Write(w *bytes.Buffer) type WasmImport + AuxSym *LSym + func (wi *WasmImport) CreateAuxSym() + func (wi *WasmImport) Read(b []byte) + func (wi *WasmImport) Write(w *bytes.Buffer) v1.22.0 Feb 26, 2024 Changes in this version + type Func interface + Pos func() src.XPos type Link + func (ctxt *Link) Int128Sym(hi, lo int64) *LSym + func (ctxt *Link) Int32Sym(i int64) *LSym v1.21.10 Feb 7, 2024 v1.21.9 Dec 31, 2023 v1.21.8 Dec 24, 2023 v1.21.7 Dec 24, 2023 v1.21.6 Dec 9, 2023 v1.21.5 Nov 6, 2023 v1.21.4 Nov 2, 2023 v1.21.3 Oct 14, 2023 Changes in this version + const ABIWRAPPER + const ABase386 + const ABaseAMD64 + const ABaseARM + const ABaseARM64 + const ABaseLoong64 + 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 PKGINIT + const RBase386 + const RBaseAMD64 + const RBaseARM + const RBaseARM64 + const RBaseLOONG64 + 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 UnlinkablePkg + 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 RegisterSpecialOperands(lo, hi int64, rlconv func(int64) string) + func SPCconv(spc 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_SPECIAL + 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 AttrPkgInit + 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) IsPkgInit() 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 abi.FuncFlag + FuncID abi.FuncID + FuncInfoSym *LSym + GCArgs *LSym + GCLocals *LSym + InlMarks []InlMark + JumpTables []JumpTable + Locals int32 + OpenCodedDeferInfo *LSym + Pcln Pcln + StackObjects *LSym + StartLine int32 + Text *Prog + WasmImport *WasmImport + WasmImportSym *LSym + 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, name string) int + func (tree *InlTree) AllParents(inlIndex int, do func(InlinedCall)) + 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 + Name string + Parent int + ParentPC int32 + Pos src.XPos + type JumpTable struct + Sym *LSym + Targets []*Prog + 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) NewTypeInfo() *TypeInfo + func (s *LSym) NewVarInfo() *VarInfo + func (s *LSym) String() string + func (s *LSym) TextAttrString() string + func (s *LSym) VarInfo() *VarInfo + 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, src.XPos) + 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_noRefName bool + 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, do func(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) 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) GloblPos(s *LSym, size int64, flag int, pos src.XPos) + func (ctxt *Link) InitTextSym(s *LSym, flag int, start src.XPos) + 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) + SEH func(*Link, *LSym) *LSym + 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) AddRestDest(a Addr) + func (p *Prog) AddRestSource(a Addr) + func (p *Prog) AddRestSourceArgs(args []Addr) + func (p *Prog) AddRestSourceConst(off int64) + func (p *Prog) AddRestSourceReg(reg int16) + 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) 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 + type TypeInfo struct + Type interface{} + type VarInfo struct + type WasmField struct + Offset int64 + Type WasmFieldType + type WasmFieldType byte + const WasmF32 + const WasmF64 + const WasmI32 + const WasmI64 + const WasmPtr + type WasmImport struct + Module string + Name string + Params []WasmField + Results []WasmField + func (wi *WasmImport) CreateSym(ctxt *Link) *LSym