package loadelf

import "cmd/link/internal/loadelf"

Package loadelf implements an ELF file reader.

Index

Constants

const (
	TagFile               = 1
	TagCPUName            = 4
	TagCPURawName         = 5
	TagCompatibility      = 32
	TagNoDefaults         = 64
	TagAlsoCompatibleWith = 65
	TagABIVFPArgs         = 28
)
const (
	SHT_ARM_ATTRIBUTES = 0x70000003
)

Functions

func Load

func Load(l *loader.Loader, arch *sys.Arch, localSymVersion int, f *bio.Reader, pkg string, length int64, pn string, initEhdrFlags uint32) (textp []loader.Sym, ehdrFlags uint32, err error)

Load loads the ELF file pn from f. Symbols are installed into the loader, and a slice of the text symbols is returned.

On ARM systems, Load will attempt to determine what ELF header flags to emit by scanning the attributes in the ELF file being loaded. The parameter initEhdrFlags contains the current header flags for the output object, and the returned ehdrFlags contains what this Load function computes. TODO: find a better place for this logic.

Types

type ElfObj

type ElfObj struct {
	// contains filtered or unexported fields
}

type ElfSect

type ElfSect struct {
	// contains filtered or unexported fields
}

type ElfSym

type ElfSym struct {
	// contains filtered or unexported fields
}

Source Files

ldelf.go

Version
v1.24.0 (latest)
Published
Feb 10, 2025
Platform
linux/amd64
Imports
12 packages
Last checked
34 minutes ago

Tools for package owners.