From c40f278e4d854c3b6341ec272dd3eb9b84fcff54 Mon Sep 17 00:00:00 2001 From: Florent Revest Date: Wed, 5 Jul 2023 14:26:23 +0200 Subject: sys/syz-sysgen: save flags's possible values This extends Target to contain a map of possible values for each int flag. --- prog/target.go | 7 +++++++ prog/types.go | 5 +++++ 2 files changed, 12 insertions(+) (limited to 'prog') diff --git a/prog/target.go b/prog/target.go index 2889b8bf0..be2db51c5 100644 --- a/prog/target.go +++ b/prog/target.go @@ -26,6 +26,7 @@ type Target struct { Syscalls []*Syscall Resources []*ResourceDesc Consts []ConstValue + Flags []FlagDesc // MakeDataMmap creates calls that mmaps target data memory range. MakeDataMmap func() []*Call @@ -63,6 +64,7 @@ type Target struct { // Filled by prog package: SyscallMap map[string]*Syscall ConstMap map[string]uint64 + FlagsMap map[string][]string init sync.Once initArch func(target *Target) @@ -167,6 +169,11 @@ func (target *Target) initTarget() { target.SyscallMap[c.Name] = c } + target.FlagsMap = make(map[string][]string) + for _, c := range target.Flags { + target.FlagsMap[c.Name] = c.Values + } + target.populateResourceCtors() target.resourceCtors = make(map[string][]ResourceCtor) for _, res := range target.Resources { diff --git a/prog/types.go b/prog/types.go index 51f5e0cbe..ce02d2d21 100644 --- a/prog/types.go +++ b/prog/types.go @@ -241,6 +241,11 @@ func (t *TypeCommon) Alignment() uint64 { return t.TypeAlign } +type FlagDesc struct { + Name string + Values []string +} + type ResourceDesc struct { Name string Kind []string -- cgit mrf-deployment