syzkaller: github.com/google/syzkaller/pkg/compiler Index | Files

package compiler

import "github.com/google/syzkaller/pkg/compiler"

Package compiler generates sys descriptions of syscalls, types and resources from textual descriptions.

Package compiler generates sys descriptions of syscalls, types and resources from textual descriptions.

Index

Package Files

attrs.go check.go compiler.go consts.go fuzz.go gen.go types.go

func CollectUnused Uses

func CollectUnused(desc *ast.Description, target *targets.Target, eh ast.ErrorHandler) ([]ast.Node, error)

func DeserializeConsts Uses

func DeserializeConsts(data []byte, file string, eh ast.ErrorHandler) map[string]uint64

func DeserializeConstsGlob Uses

func DeserializeConstsGlob(glob string, eh ast.ErrorHandler) map[string]uint64

func ExtractConsts Uses

func ExtractConsts(desc *ast.Description, target *targets.Target, eh ast.ErrorHandler) map[string]*ConstInfo

func FabricateSyscallConsts Uses

func FabricateSyscallConsts(target *targets.Target, constInfo map[string]*ConstInfo, consts map[string]uint64)

FabricateSyscallConsts adds syscall number constants to consts map. Used for test OS to not bother specifying consts for all syscalls.

func Fuzz Uses

func Fuzz(data []byte) int

func SerializeConsts Uses

func SerializeConsts(consts map[string]uint64, undeclared map[string]bool) []byte

type ConstInfo Uses

type ConstInfo struct {
    File     string
    Consts   []string
    Includes []string
    Incdirs  []string
    Defines  map[string]string
}

type Prog Uses

type Prog struct {
    Resources []*prog.ResourceDesc
    Syscalls  []*prog.Syscall
    Types     []prog.Type
    // Set of unsupported syscalls/flags.
    Unsupported map[string]bool
    // contains filtered or unexported fields
}

Prog is description compilation result.

func Compile Uses

func Compile(desc *ast.Description, consts map[string]uint64, target *targets.Target, eh ast.ErrorHandler) *Prog

Compile compiles sys description.

Package compiler imports 14 packages (graph) and is imported by 7 packages. Updated 2020-08-05. Refresh now. Tools for package owners.