# Functions
AbsFile returns the absolute filename for file in the given directory, as rewritten by the rewrites argument.
No description provided by the author
ApplyRewrites returns the filename for file in the given directory, as rewritten by the rewrites argument.
DecodeArg decodes an argument.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
Get the function ID for the named function in the named file.
HeaderString returns the toolchain configuration string written in Go object headers.
LookupPkgSpecial returns special build properties for the given package path.
NewDebugFlag constructs a DebugFlag for the fields of debug, which must be a pointer to a struct.
PathToPrefix converts raw string to the prefix that will be used in the symbol table.
PrefixToPath is the inverse of PathToPrefix, replacing escape sequences with the original character.
No description provided by the author
WorkingDir returns the current working directory (or "/???" if the directory cannot be identified), with "/" as separator.
# Constants
Auto.name.
Auto.name.
Auto.name.
No description provided by the author
prefix for names of global dictionaries.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
reserve enough space for ELF relocations.
go:generate stringer -type=RelocType.
R_ADDRARM64 relocates an adrp, add pair to compute the address of the referenced symbol.
R_ADDRCUOFF resolves to a pointer-sized offset from the start of the symbol's DWARF compile unit.
R_ADDRLOONG64 resolves to the low 12 bits of an external address, by encoding it into the instruction.
R_ADDRLOONG64TLS resolves to the low 12 bits of a TLS address (offset from thread pointer), by encoding it into the instruction.
R_ADDRLOONG64TLSU resolves to the high 20 bits of a TLS address (offset from thread pointer), by encoding it into the instruction.
R_ADDRLOONG64U resolves to the sign-adjusted "upper" 20 bits (bit 5-24) of an external address, by encoding it into the instruction.
R_ADDRMIPS (only used on mips/mips64) resolves to the low 16 bits of an external address, by encoding it into the instruction.
R_ADDRMIPSTLS (only used on mips64) resolves to the low 16 bits of a TLS address (offset from thread pointer), by encoding it into the instruction.
R_ADDRMIPSU (only used on mips/mips64) resolves to the sign-adjusted "upper" 16 bits (bit 16-31) of an external address, by encoding it into the instruction.
R_ADDROFF resolves to a 32-bit offset from the beginning of the section holding the data being relocated to the referenced symbol.
R_ADDRPOWER relocates a pair of "D-form" instructions (instructions with 16-bit immediates in the low half of the instruction word), usually addis followed by another add or a load, inserting the "high adjusted" 16 bits of the address of the referenced symbol into the immediate field of the first instruction and the low 16 bits into that of the second instruction.
R_ADDRPOWER_D34 relocates a single prefixed D-form load/store operation.
R_ADDRPOWER_DS is similar to R_ADDRPOWER above, but assumes the second instruction is a "DS-form" instruction, which has an immediate field occupying bits [15:2] of the instruction word.
R_ADDRPOWER_GOT relocates a D-form + DS-form instruction sequence by inserting a relative displacement of referenced symbol's GOT entry to the TOC pointer.
R_ADDRPOWER_GOT_PCREL34 is identical to R_ADDRPOWER_GOT, but uses a PC relative sequence to generate a GOT symbol addresses.
R_ADDRPOWER_PCREL relocates two D-form instructions like R_ADDRPOWER, but inserts the displacement from the place being relocated to the address of the relocated symbol instead of just its address.
R_ADDRPOWER_PCREL34 relates a single prefixed D-form load/store/add operation.
R_ADDRPOWER_TOCREL relocates two D-form instructions like R_ADDRPOWER, but inserts the offset from the TOC to the address of the relocated symbol rather than the symbol's address.
R_ADDRPOWER_TOCREL_DS relocates a D-form, DS-form instruction sequence like R_ADDRPOWER_DS but inserts the offset from the TOC to the address of the relocated symbol rather than the symbol's address.
R_ARM64_GOT resolves a GOT-relative instruction sequence, usually an adrp followed by another ld instruction.
R_ARM64_GOTPCREL relocates an adrp, ld64 pair to compute the address of the GOT slot of the referenced symbol.
R_ARM64_LDST128 sets a LD/ST immediate value to bits [11:4] of a local address.
R_ARM64_LDST16 sets a LD/ST immediate value to bits [11:1] of a local address.
R_ARM64_LDST32 sets a LD/ST immediate value to bits [11:2] of a local address.
R_ARM64_LDST64 sets a LD/ST immediate value to bits [11:3] of a local address.
R_ARM64_LDST8 sets a LD/ST immediate value to bits [11:0] of a local address.
R_ARM64_PCREL resolves a PC-relative addresses instruction sequence, usually an adrp followed by another add instruction.
R_ARM64_PCREL_LDST16 resolves a PC-relative addresses instruction sequence, usually an adrp followed by a LD16 or ST16 instruction.
R_ARM64_PCREL_LDST32 resolves a PC-relative addresses instruction sequence, usually an adrp followed by a LD32 or ST32 instruction.
R_ARM64_PCREL_LDST64 resolves a PC-relative addresses instruction sequence, usually an adrp followed by a LD64 or ST64 instruction.
R_ARM64_PCREL_LDST8 resolves a PC-relative addresses instruction sequence, usually an adrp followed by a LD8 or ST8 instruction.
Relocates an ADRP; LD64 instruction sequence to load the offset between the thread local base and the thread local variable defined by the referenced (thread local) symbol from the GOT.
Set a MOV[NZ] immediate field to bits [15:0] of the offset from the thread local base to the thread local variable defined by the referenced (thread local) symbol.
go:generate stringer -type=RelocType.
go:generate stringer -type=RelocType.
go:generate stringer -type=RelocType.
go:generate stringer -type=RelocType.
R_CALLLOONG64 resolves to non-PC-relative target address of a CALL (BL/JIRL) instruction, by encoding the address into the instruction.
R_CALLMIPS (only used on mips64) resolves to non-PC-relative target address of a CALL (JAL) instruction, by encoding the address into the instruction.
go:generate stringer -type=RelocType.
go:generate stringer -type=RelocType.
R_DWARFFILEREF resolves to an index into the DWARF .debug_line file table for the specified file symbol.
R_DWARFSECREF resolves to the offset of the symbol from its section.
go:generate stringer -type=RelocType.
go:generate stringer -type=RelocType.
R_INITORDER specifies an ordering edge between two inittask records.
R_JMPLOONG64 resolves to non-PC-relative target address of a JMP instruction, by encoding the address into the instruction.
R_JMPMIPS (only used on mips64) resolves to non-PC-relative target address of a JMP instruction, by encoding the address into the instruction.
R_KEEP tells the linker to keep the referred-to symbol in the final binary if the symbol containing the R_KEEP relocation is in the final binary.
R_LOONG64_GOT_HI and R_LOONG64_GOT_LO resolves a GOT-relative instruction sequence, usually an pcalau12i followed by another ld or addi instruction.
go:generate stringer -type=RelocType.
go:generate stringer -type=RelocType.
R_LOONG64_TLS_IE_PCREL_HI and R_LOONG64_TLS_IE_LO relocates a pcalau12i, ld.d pair to compute the address of the GOT slot of the tls symbol.
R_METHODOFF resolves to a 32-bit offset from the beginning of the section holding the data being relocated to the referenced symbol.
go:generate stringer -type=RelocType.
R_PCRELDBL relocates s390x 2-byte aligned PC-relative addresses.
R_PEIMAGEOFF resolves to a 32-bit offset from the start address of where the executable file is mapped in memory.
go:generate stringer -type=RelocType.
go:generate stringer -type=RelocType.
go:generate stringer -type=RelocType.
R_POWER_TLS marks an X-form instruction such as "ADD R3,R13,R4" as completing a sequence of GOT-relative relocations to compute a TLS address.
R_POWER_TLS_IE is used to implement the "initial exec" model for tls access.
R_POWER_TLS_IE_PCREL34 is similar to R_POWER_TLS_IE, but marks a single MOVD which has been assembled as a single prefixed load doubleword without using the TOC.
R_POWER_TLS_LE is used to implement the "local exec" model for tls access.
R_POWER_TLS_LE_TPREL34 is similar to R_POWER_TLS_LE, but computes an offset from the thread pointer in one prefixed instruction.
go:generate stringer -type=RelocType.
R_RISCV_BRANCH resolves a 12-bit PC-relative branch offset.
R_RISCV_CALL resolves a 32 bit PC-relative address for an AUIPC + JALR instruction pair.
R_RISCV_GOT_HI20 resolves the high 20 bits of a 32-bit PC-relative GOT address.
R_RISCV_JAL resolves a 20 bit offset for a J-type instruction.
R_RISCV_JAL_TRAMP is the same as R_RISCV_JAL but denotes the use of a trampoline, which we may be able to avoid during relocation.
R_RISCV_PCREL_HI20 resolves the high 20 bits of a 32-bit PC-relative address.
R_RISCV_PCREL_ITYPE resolves a 32 bit PC-relative address for an AUIPC + I-type instruction pair.
R_RISCV_PCREL_LO12_I resolves the low 12 bits of a 32-bit PC-relative address using an I-type instruction.
R_RISCV_PCREL_LO12_S resolves the low 12 bits of a 32-bit PC-relative address using an S-type instruction.
R_RISCV_PCREL_STYPE resolves a 32 bit PC-relative address for an AUIPC + S-type instruction pair.
R_RISCV_RVC_BRANCH resolves an 8-bit PC-relative offset for a CB-type instruction.
R_RISCV_RVC_JUMP resolves an 11-bit PC-relative offset for a CJ-type instruction.
R_RISCV_TLS_IE resolves a 32 bit TLS initial-exec address for an AUIPC + I-type instruction pair.
R_RISCV_TLS_LE resolves a 32 bit TLS local-exec address for a LUI + I-type instruction sequence.
go:generate stringer -type=RelocType.
R_TLS_IE, used 386, amd64, and ARM resolves to the PC-relative offset to a GOT slot containing the offset from the thread-local symbol from the thread local base and is used to implemented the "initial exec" model for tls access (r.Sym is not set on intel platforms but is set to a TLS symbol -- runtime.tlsg -- in the linker when externally linking).
R_TLS_LE, used on 386, amd64, and ARM, resolves to the offset of the thread-local symbol from the thread local base and is used to implement the "local exec" model for tls access (r.Sym is not set on intel platforms but is set to a TLS symbol -- runtime.tlsg -- in the linker when externally linking).
go:generate stringer -type=RelocType.
R_USEIFACE marks a type is converted to an interface in the function this relocation is applied to.
R_USEIFACEMETHOD marks an interface method that is used in the function this relocation is applied to.
R_USENAMEDMETHOD marks that methods with a specific name must not be eliminated.
R_USETYPE resolves to an *rtype, but no relocation is created.
R_WASMIMPORT resolves to the index of the WebAssembly function import.
R_WEAK marks the relocation as a weak reference.
go:generate stringer -type=RelocType.
go:generate stringer -type=RelocType.
R_XCOFFREF (only used on aix/ppc64) prevents garbage collection by ld of a symbol.
Statically data that is initially all 0s.
Defined SymKind values.
Coverage instrumentation counter, aux variable for cmd/cover.
Static data.
Defined SymKind values.
Defined SymKind values.
Debugging data.
Defined SymKind values.
Defined SymKind values.
Defined SymKind values.
Defined SymKind values.
Defined SymKind values.
Defined SymKind values.
Coverage instrumentation counter for libfuzzer.
Statically data that is initially all 0s and does not contain pointers.
Static data that does not contain any pointers.
Read only static data.
Defined SymKind values.
Executable instructions.
Thread-local data that is initially all 0s.
An otherwise invalid zero value for the type.
# Structs
No description provided by the author
PkgSpecial indicates special build properties of a given runtime-related package.