From 4b69c3cbaccd51b7ea719e7bd756d680e825988d Mon Sep 17 00:00:00 2001 From: Dmitry Vyukov Date: Thu, 7 Mar 2019 20:36:03 +0100 Subject: pkg/runtest: make tests pass on freebsd The problem is stupid: should be included as on freebsd. Pass actual host OS to executor build as HOSTGOOS and use it to figure out how we should include this header. --- pkg/csource/build.go | 2 ++ pkg/csource/common.go | 2 ++ pkg/csource/generated.go | 2 +- 3 files changed, 5 insertions(+), 1 deletion(-) (limited to 'pkg/csource') diff --git a/pkg/csource/build.go b/pkg/csource/build.go index 83b69b537..35ac28e83 100644 --- a/pkg/csource/build.go +++ b/pkg/csource/build.go @@ -9,6 +9,7 @@ import ( "io/ioutil" "os" "os/exec" + "runtime" "github.com/google/syzkaller/pkg/osutil" "github.com/google/syzkaller/prog" @@ -42,6 +43,7 @@ func build(target *prog.Target, src []byte, file string) (string, error) { "-o", bin, "-DGOOS_" + target.OS + "=1", "-DGOARCH_" + target.Arch + "=1", + "-DHOSTGOOS_" + runtime.GOOS + "=1", } if file == "" { flags = append(flags, "-x", "c", "-") diff --git a/pkg/csource/common.go b/pkg/csource/common.go index 56d6a6de7..07f7c40de 100644 --- a/pkg/csource/common.go +++ b/pkg/csource/common.go @@ -8,6 +8,7 @@ package csource import ( "bytes" "fmt" + "runtime" "sort" "strings" @@ -70,6 +71,7 @@ func defineList(p, mmapProg *prog.Prog, opts Options) (defines []string) { enabled := map[string]bool{ "GOOS_" + p.Target.OS: true, "GOARCH_" + p.Target.Arch: true, + "HOSTGOOS_" + runtime.GOOS: true, "SYZ_USE_BITMASKS": bitmasks, "SYZ_USE_CHECKSUMS": csums, "SYZ_SANDBOX_NONE": opts.Sandbox == sandboxNone, diff --git a/pkg/csource/generated.go b/pkg/csource/generated.go index fbbd671bf..207a3a793 100644 --- a/pkg/csource/generated.go +++ b/pkg/csource/generated.go @@ -9,7 +9,7 @@ var commonHeader = ` #define _GNU_SOURCE #endif -#if GOOS_freebsd +#if GOOS_freebsd || GOOS_test && HOSTGOOS_freebsd #include #else #include -- cgit mrf-deployment