diff options
| author | Dmitry Vyukov <dvyukov@google.com> | 2020-10-28 21:32:41 +0100 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2020-10-29 18:02:20 +0100 |
| commit | a0c7169a00e97fc53358f90c9d9c6f8fffddf904 (patch) | |
| tree | a980a4ebb36d73565486e3fb9af7868153f5ac51 /tools | |
| parent | 36e8b020cd7e97bc2ca3a306f48d4c62ece8fc34 (diff) | |
pkg/kconfig: accept target when parsing Kconfig
Kconfig depends on the target arch.
Add target argument for Kconfig parsing.
Resolve $(SRCARCH) properly (previously we always assumed x86_64).
Diffstat (limited to 'tools')
| -rw-r--r-- | tools/syz-kconf/kconf.go | 8 | ||||
| -rw-r--r-- | tools/syz-minconfig/minconfig.go | 5 |
2 files changed, 7 insertions, 6 deletions
diff --git a/tools/syz-kconf/kconf.go b/tools/syz-kconf/kconf.go index 862e4ff45..e4a68998f 100644 --- a/tools/syz-kconf/kconf.go +++ b/tools/syz-kconf/kconf.go @@ -71,10 +71,6 @@ func main() { failf("failed to checkout %v/%v: %v", inst.Kernel.Repo, inst.Kernel.Tag, err) } } - kconf, err := kconfig.Parse(filepath.Join(*flagSourceDir, "Kconfig")) - if err != nil { - fail(err) - } releaseTag, err := repo.ReleaseTag("HEAD") if err != nil { fail(err) @@ -95,7 +91,6 @@ func main() { ConfigDir: filepath.Dir(*flagConfig), SourceDir: *flagSourceDir, ReleaseTag: releaseTag, - Kconf: kconf, } go func() { if err := ctx.generate(); err != nil { @@ -139,6 +134,9 @@ func (ctx *Context) generate() error { if err := ctx.setTarget(); err != nil { return err } + if ctx.Kconf, err = kconfig.Parse(ctx.Target, filepath.Join(ctx.SourceDir, "Kconfig")); err != nil { + return err + } if err := ctx.setReleaseFeatures(); err != nil { return err } diff --git a/tools/syz-minconfig/minconfig.go b/tools/syz-minconfig/minconfig.go index b68c183eb..91a26cdd1 100644 --- a/tools/syz-minconfig/minconfig.go +++ b/tools/syz-minconfig/minconfig.go @@ -13,9 +13,11 @@ import ( "fmt" "os" "path/filepath" + "runtime" "strings" "github.com/google/syzkaller/pkg/kconfig" + "github.com/google/syzkaller/sys/targets" ) func main() { @@ -24,9 +26,10 @@ func main() { flagBase = flag.String("base", "", "baseline config") flagFull = flag.String("full", "", "full config") flagConfigs = flag.String("configs", "", "comma-separated list of configs for the crash predicate") + flagArch = flag.String("arch", runtime.GOARCH, "kernel arch") ) flag.Parse() - kconf, err := kconfig.Parse(filepath.Join(*flagSourceDir, "Kconfig")) + kconf, err := kconfig.Parse(targets.Get("linux", *flagArch), filepath.Join(*flagSourceDir, "Kconfig")) if err != nil { failf("%v", err) } |
