Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func FindClangObjdump ¶
FindClangObjdump resolves clang disassembler to use.
func FindGoObjdump ¶
FindGoObjdump resolves go toolchain to use.
Types ¶
type Arch ¶
type Arch struct { Name string // Architecture name Attribute *regexp.Regexp // Parses assembly attributes Function *regexp.Regexp // Parses assembly function names SourceLabel *regexp.Regexp // Parses assembly labels Code *regexp.Regexp // Parses assembly code Symbol *regexp.Regexp // Parses assembly symbols Data *regexp.Regexp // Parses assembly data Comment *regexp.Regexp // Parses assembly comments Const *regexp.Regexp // Parses assembly constants Label *regexp.Regexp // Finds label inside an instruction DataLoad *regexp.Regexp // Finds instructions with data loads JumpInstr *regexp.Regexp // Parses assembly jump instructions Registers []string // Registers to use FloatRegisters []string // Floating point registers RetRegister string // Register for return values BuildTags string // Golang build tags CommentCh string // Assembly comment character MovInstr map[int8]string // Instruction to use to load/store for various sizes MovFPInstr map[int8]string // Instruction to use to load/store floating point values LoadInstr map[int8]string // Instruction for loading registers (optional) Disassembler []string // Disassembler to use and flags ClangFlags []string // Flags for clang }
Arch represents a context for a specific architecture
func Apple ¶
func Apple() *Arch
Apple returns a configuration for ARM64 architecture. On my M1 mac, supported features are: AESARM, ASIMD, ASIMDDP, ASIMDHP, ASIMDRDM, ATOMICS, CRC32, DCPOP, FCMA, FP, FPHP, GPA, JSCVT, LRCPC, PMULL, SHA1, SHA2, SHA3, SHA512
func Avx512 ¶
func Avx512() *Arch
Avx512 returns a configuration for AMD64 architecture with AVX512 support
Click to show internal directories.
Click to hide internal directories.