From e6e35dba937599d098fc034eff2686e5ddc409e9 Mon Sep 17 00:00:00 2001 From: Dmitry Vyukov Date: Mon, 26 Oct 2020 10:51:06 +0100 Subject: sys/targets: add OS/Arch name consts We use strings to identify OS/Arch. These strings are duplicated throughout the code base massively. golangci-lint points to possiblity of typos and duplication. We already had to define these names in pkg/csource and disable checking for prog package. A future change triggers such warnings in another package. Add OS/Arch name consts to sys/targets so that they can be used to refer to OS/Arch. Use the consts everywhere. --- sys/linux/init.go | 4 ++-- sys/linux/init_test.go | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) (limited to 'sys/linux') diff --git a/sys/linux/init.go b/sys/linux/init.go index 928ba17e5..a18fa99c4 100644 --- a/sys/linux/init.go +++ b/sys/linux/init.go @@ -79,11 +79,11 @@ func InitTarget(target *prog.Target) { } switch target.Arch { - case "amd64": + case targets.AMD64: target.SpecialPointers = []uint64{ 0xffffffff81000000, // kernel text } - case "386", "arm64", "arm", "ppc64le", "mips64le", "s390x", "riscv64": + case targets.I386, targets.ARM64, targets.ARM, targets.PPC64LE, targets.MIPS64LE, targets.S390x, targets.RiscV64: default: panic("unknown arch") } diff --git a/sys/linux/init_test.go b/sys/linux/init_test.go index df0622ba3..201ce762b 100644 --- a/sys/linux/init_test.go +++ b/sys/linux/init_test.go @@ -8,10 +8,11 @@ import ( "github.com/google/syzkaller/prog" _ "github.com/google/syzkaller/sys/linux/gen" + "github.com/google/syzkaller/sys/targets" ) func TestNeutralize(t *testing.T) { - prog.TestDeserializeHelper(t, "linux", "amd64", nil, []prog.DeserializeTest{ + prog.TestDeserializeHelper(t, targets.Linux, targets.AMD64, nil, []prog.DeserializeTest{ { In: `syslog(0x10000000006, 0x0, 0x0)`, Out: `syslog(0x9, 0x0, 0x0)`, -- cgit mrf-deployment