From be47ebb0eb17e47c9f1f84156e17aa6970d47435 Mon Sep 17 00:00:00 2001 From: Dmitry Vyukov Date: Thu, 17 May 2018 17:18:24 +0200 Subject: 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 --- pkg/instance/instance.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'pkg/instance') 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 } -- cgit mrf-deployment