program

package
v1.10.0 Latest Latest
Warning

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

Go to latest
Published: Nov 19, 2024 License: MIT, MIT Imports: 9 Imported by: 0

Documentation

Index

Constants

View Source
const (
	HEAP_START    = arch.HeapStart
	HEAP_END      = arch.HeapEnd
	PROGRAM_BREAK = arch.ProgramBreak
)
View Source
const WordSizeBytes = arch.WordSizeBytes

Variables

This section is empty.

Functions

func LoadELF

func LoadELF[T mipsevm.FPVMState](f *elf.File, initState CreateInitialFPVMState[T]) (T, error)

func PatchGoGC added in v1.9.3

func PatchGoGC(f *elf.File, st mipsevm.FPVMState) error

PatchGoGC patches out garbage-collection-related symbols to disable garbage collection and improves performance by patching out floating-point-related symbols

func PatchStack

func PatchStack(st mipsevm.FPVMState) error

PatchStack sets up the program's initial stack frame and stack pointer

Types

type CreateInitialFPVMState

type CreateInitialFPVMState[T mipsevm.FPVMState] func(pc, heapStart Word) T

type Metadata

type Metadata struct {
	Symbols []Symbol `json:"symbols"`
}

func MakeMetadata

func MakeMetadata(elfProgram *elf.File) (*Metadata, error)

func (*Metadata) CreateSymbolMatcher

func (m *Metadata) CreateSymbolMatcher(name string) mipsevm.SymbolMatcher

func (*Metadata) LookupSymbol

func (m *Metadata) LookupSymbol(addr Word) string

type Symbol

type Symbol struct {
	Name  string `json:"name"`
	Start Word   `json:"start"`
	Size  Word   `json:"size"`
}

type Word added in v1.9.4

type Word = arch.Word

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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