diff options
| author | Andrei Vagin <avagin@google.com> | 2021-02-06 13:57:40 -0800 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2021-02-07 08:03:40 +0100 |
| commit | 2ce644fcea660c78bc6a3ce7e05079a730743671 (patch) | |
| tree | 9e1ba57985ea966c310abe6c74a214966999d6e2 | |
| parent | 0655e081f42239d4eca4345ef7293307085f78f5 (diff) | |
build/gvisor: run aquery with all build options
Build options can affect a path where runsc will be saved.
Signed-off-by: Andrei Vagin <avagin@google.com>
| -rw-r--r-- | pkg/build/gvisor.go | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/pkg/build/gvisor.go b/pkg/build/gvisor.go index 67a92c2e0..ff6219c67 100644 --- a/pkg/build/gvisor.go +++ b/pkg/build/gvisor.go @@ -10,6 +10,7 @@ import ( "strings" "time" + "github.com/google/syzkaller/pkg/log" "github.com/google/syzkaller/pkg/osutil" "github.com/google/syzkaller/sys/targets" ) @@ -27,7 +28,8 @@ func (gvisor gvisor) build(params *Params) error { defer osutil.RunCmd(10*time.Minute, params.KernelDir, params.Compiler, "shutdown") config := strings.Fields(string(params.Config)) - args := []string{"build", "--verbose_failures"} + args := []string{} + target := "//runsc:runsc" race := raceEnabled(config) if race { @@ -57,17 +59,22 @@ func (gvisor gvisor) build(params *Params) error { "--collect_code_coverage", "--instrumentation_filter=" + coverageFiles}...) } - args = append(args, target) + buildArgs := []string{"build", "--verbose_failures"} + buildArgs = append(buildArgs, args...) + buildArgs = append(buildArgs, target) + log.Logf(0, "bazel: %v", buildArgs) // The 1 hour timeout is quite high. But we've seen false positives with 20 mins // on the first build after bazel/deps update. Also other gvisor instances running // on the same machine contribute to longer build times. - if _, err := osutil.RunCmd(60*time.Minute, params.KernelDir, params.Compiler, args...); err != nil { + if _, err := osutil.RunCmd(60*time.Minute, params.KernelDir, params.Compiler, buildArgs...); err != nil { return err } // Find out a path to the runsc binary. - out, err := osutil.RunCmd(time.Minute, params.KernelDir, params.Compiler, - "aquery", fmt.Sprintf("mnemonic(\"GoLink\", %s)", target)) + aqueryArgs := append([]string{"aquery"}, args...) + aqueryArgs = append(aqueryArgs, fmt.Sprintf("mnemonic(\"GoLink\", %s)", target)) + log.Logf(0, "bazel: %v", aqueryArgs) + out, err := osutil.RunCmd(time.Minute, params.KernelDir, params.Compiler, aqueryArgs...) if err != nil { return err } |
