diff options
| author | Dmitry Vyukov <dvyukov@google.com> | 2019-11-14 18:36:26 +0100 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2019-11-16 09:58:54 +0100 |
| commit | ca13dd2ab5a486a0ab0bf5825bae9a087d854412 (patch) | |
| tree | bb2d71be13da30c9226fa21e85d0a117b9b5fe21 /pkg/csource/common.go | |
| parent | 2ac1d00f55d2dd477e6a004c2e03f6947e867d6b (diff) | |
pkg/csoruce: test that executor does not mis-spell any of the SYZ_* macros
Diffstat (limited to 'pkg/csource/common.go')
| -rw-r--r-- | pkg/csource/common.go | 31 |
1 files changed, 17 insertions, 14 deletions
diff --git a/pkg/csource/common.go b/pkg/csource/common.go index 67d31ad81..49c3096de 100644 --- a/pkg/csource/common.go +++ b/pkg/csource/common.go @@ -69,9 +69,25 @@ func createCommonHeader(p, mmapProg *prog.Prog, replacements map[string]string, } func defineList(p, mmapProg *prog.Prog, opts Options) (defines []string) { + for def, ok := range commonDefines(p, opts) { + if ok { + defines = append(defines, def) + } + } + for _, c := range p.Calls { + defines = append(defines, "__NR_"+c.Meta.CallName) + } + for _, c := range mmapProg.Calls { + defines = append(defines, "__NR_"+c.Meta.CallName) + } + sort.Strings(defines) + return +} + +func commonDefines(p *prog.Prog, opts Options) map[string]bool { sysTarget := targets.Get(p.Target.OS, p.Target.Arch) bitmasks, csums := prog.RequiredFeatures(p) - enabled := map[string]bool{ + return map[string]bool{ "GOOS_" + p.Target.OS: true, "GOARCH_" + p.Target.Arch: true, "HOSTGOOS_" + runtime.GOOS: true, @@ -103,19 +119,6 @@ func defineList(p, mmapProg *prog.Prog, opts Options) (defines []string) { "SYZ_EXECUTOR_USES_SHMEM": sysTarget.ExecutorUsesShmem, "SYZ_EXECUTOR_USES_FORK_SERVER": sysTarget.ExecutorUsesForkServer, } - for def, ok := range enabled { - if ok { - defines = append(defines, def) - } - } - for _, c := range p.Calls { - defines = append(defines, "__NR_"+c.Meta.CallName) - } - for _, c := range mmapProg.Calls { - defines = append(defines, "__NR_"+c.Meta.CallName) - } - sort.Strings(defines) - return } func removeSystemDefines(src []byte, defines []string) ([]byte, error) { |
