aboutsummaryrefslogtreecommitdiffstats
path: root/pkg/instance/instance.go
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2018-05-17 17:18:24 +0200
committerDmitry Vyukov <dvyukov@google.com>2018-05-17 17:18:24 +0200
commitbe47ebb0eb17e47c9f1f84156e17aa6970d47435 (patch)
treec7351c27390bb6eefef00d526dd1c448648c627d /pkg/instance/instance.go
parent28cbff8c7d91cd42ee29ebf80c6e9fc4dfbf50e9 (diff)
pkg/kernel: allow to split full make output
Currently kernel build failures are insanely verbose (contain full kernel build output) and there is no way to separate short descriptions from full output. Make it possible. Also try to extract failure root cause froom build log. Use this in pkg/bisect to not pollute log on build failures. Update #501
Diffstat (limited to 'pkg/instance/instance.go')
-rw-r--r--pkg/instance/instance.go4
1 files changed, 2 insertions, 2 deletions
diff --git a/pkg/instance/instance.go b/pkg/instance/instance.go
index ae94c265f..84e3c518d 100644
--- a/pkg/instance/instance.go
+++ b/pkg/instance/instance.go
@@ -81,14 +81,14 @@ func (env *Env) BuildSyzkaller(repo, commit string) error {
func (env *Env) BuildKernel(compilerBin, userspaceDir, cmdlineFile, sysctlFile string, kernelConfig []byte) error {
cfg := env.cfg
if err := kernel.Build(cfg.KernelSrc, compilerBin, kernelConfig); err != nil {
- return fmt.Errorf("kernel build failed: %v", err)
+ return osutil.PrependContext("kernel build failed", err)
}
cfg.Vmlinux = filepath.Join(cfg.KernelSrc, "vmlinux")
cfg.Image = filepath.Join(cfg.Workdir, "syz-image")
cfg.SSHKey = filepath.Join(cfg.Workdir, "syz-key")
if err := kernel.CreateImage(cfg.TargetOS, cfg.TargetVMArch, cfg.Type,
cfg.KernelSrc, userspaceDir, cmdlineFile, sysctlFile, cfg.Image, cfg.SSHKey); err != nil {
- return fmt.Errorf("image build failed: %v", err)
+ return osutil.PrependContext("image build failed", err)
}
return nil
}