diff options
| author | Dmitry Vyukov <dvyukov@google.com> | 2019-11-05 13:29:36 +0100 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2019-11-06 11:41:05 +0100 |
| commit | c487cd4633a98235359d6084383d8c7ea49600bc (patch) | |
| tree | d99fa8483df82ca5cc3e4c48269d090fadfb45a3 /pkg/build/netbsd.go | |
| parent | bc2c6e45b9f01fa6046cb3efa9d3aae9f05238a8 (diff) | |
pkg/build: refactor Image function arguments
Image takes too many arguments, so we need to do lots of forwarding,
adding new argumnets is painful and most OSes are not interested
in lots of arguments.
Combine all arguments into a params struct.
Diffstat (limited to 'pkg/build/netbsd.go')
| -rw-r--r-- | pkg/build/netbsd.go | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/pkg/build/netbsd.go b/pkg/build/netbsd.go index 8f603cc5b..c34bd4481 100644 --- a/pkg/build/netbsd.go +++ b/pkg/build/netbsd.go @@ -20,38 +20,38 @@ import ( type netbsd struct{} -func (ctx netbsd) build(targetArch, vmType, kernelDir, outputDir, compiler, userspaceDir, - cmdlineFile, sysctlFile string, config []byte) error { +func (ctx netbsd) build(params *Params) error { const kernelName = "GENERIC_SYZKALLER" - confDir := fmt.Sprintf("%v/sys/arch/%v/conf", kernelDir, targetArch) - compileDir := fmt.Sprintf("%v/sys/arch/%v/compile/obj/%v", kernelDir, targetArch, kernelName) + confDir := fmt.Sprintf("%v/sys/arch/%v/conf", params.KernelDir, params.TargetArch) + compileDir := fmt.Sprintf("%v/sys/arch/%v/compile/obj/%v", params.KernelDir, params.TargetArch, kernelName) - if err := osutil.WriteFile(filepath.Join(confDir, kernelName), config); err != nil { + if err := osutil.WriteFile(filepath.Join(confDir, kernelName), params.Config); err != nil { return err } // Build tools before building kernel - if _, err := osutil.RunCmd(10*time.Minute, kernelDir, "./build.sh", "-m", targetArch, + if _, err := osutil.RunCmd(10*time.Minute, params.KernelDir, "./build.sh", "-m", params.TargetArch, "-U", "-u", "-j"+strconv.Itoa(runtime.NumCPU()), "-V", "MKCTF=no", "tools"); err != nil { return err } // Build kernel - if _, err := osutil.RunCmd(10*time.Minute, kernelDir, "./build.sh", "-m", targetArch, + if _, err := osutil.RunCmd(10*time.Minute, params.KernelDir, "./build.sh", "-m", params.TargetArch, "-U", "-u", "-j"+strconv.Itoa(runtime.NumCPU()), "-V", "MKCTF=no", "kernel="+kernelName); err != nil { return err } for _, s := range []struct{ dir, src, dst string }{ {compileDir, "netbsd.gdb", "obj/netbsd.gdb"}, - {userspaceDir, "image", "image"}, - {userspaceDir, "key", "key"}, + {params.UserspaceDir, "image", "image"}, + {params.UserspaceDir, "key", "key"}, } { fullSrc := filepath.Join(s.dir, s.src) - fullDst := filepath.Join(outputDir, s.dst) + fullDst := filepath.Join(params.OutputDir, s.dst) if err := osutil.CopyFile(fullSrc, fullDst); err != nil { return fmt.Errorf("failed to copy %v -> %v: %v", fullSrc, fullDst, err) } } - return ctx.copyKernelToDisk(targetArch, vmType, outputDir, filepath.Join(compileDir, "netbsd")) + return ctx.copyKernelToDisk(params.TargetArch, params.VMType, params.OutputDir, + filepath.Join(compileDir, "netbsd")) } func (ctx netbsd) clean(kernelDir, targetArch string) error { |
