mirror of
https://github.com/reactos/syzkaller.git
synced 2024-11-24 03:49:45 +00:00
7ab352e19d
Stack usage warning currently breaks our internal build (with 16K frame limit). Executor uses stacks of limited size, that's another reason to not allow frames of arbitrary size. Limit stack frame size to 8K. Reduce tun packet size. We don't need to read out whole packet.
82 lines
2.3 KiB
Makefile
82 lines
2.3 KiB
Makefile
# Copyright 2015 syzkaller project authors. All rights reserved.
|
|
# Use of this source code is governed by Apache 2 LICENSE that can be found in the LICENSE file.
|
|
|
|
NOSTATIC ?= 0
|
|
ifeq ($(NOSTATIC), 0)
|
|
STATIC_FLAG=-static
|
|
endif
|
|
|
|
.PHONY: all format clean manager fuzzer executor execprog mutate prog2c stress extract generate repro
|
|
|
|
all:
|
|
$(MAKE) generate
|
|
go install ./syz-manager ./syz-fuzzer
|
|
$(MAKE) manager
|
|
$(MAKE) fuzzer
|
|
$(MAKE) execprog
|
|
$(MAKE) executor
|
|
|
|
all-tools: execprog mutate prog2c stress repro upgrade
|
|
|
|
# executor uses stacks of limited size, so no jumbo frames.
|
|
executor:
|
|
$(CC) -o ./bin/syz-executor executor/executor.cc -pthread -Wall -Wframe-larger-than=8192 -Werror -O1 -g $(STATIC_FLAG) $(CFLAGS)
|
|
|
|
# Don't generate symbol table and DWARF debug info.
|
|
# Reduces build time and binary sizes considerably.
|
|
# That's only needed if you use gdb or nm.
|
|
# If you need that, build manually without these flags.
|
|
GOFLAGS="-ldflags=-s -w"
|
|
|
|
manager:
|
|
go build $(GOFLAGS) -o ./bin/syz-manager github.com/google/syzkaller/syz-manager
|
|
|
|
fuzzer:
|
|
go build $(GOFLAGS) -o ./bin/syz-fuzzer github.com/google/syzkaller/syz-fuzzer
|
|
|
|
execprog:
|
|
go build $(GOFLAGS) -o ./bin/syz-execprog github.com/google/syzkaller/tools/syz-execprog
|
|
|
|
repro:
|
|
go build $(GOFLAGS) -o ./bin/syz-repro github.com/google/syzkaller/tools/syz-repro
|
|
|
|
mutate:
|
|
go build $(GOFLAGS) -o ./bin/syz-mutate github.com/google/syzkaller/tools/syz-mutate
|
|
|
|
prog2c:
|
|
go build $(GOFLAGS) -o ./bin/syz-prog2c github.com/google/syzkaller/tools/syz-prog2c
|
|
|
|
stress:
|
|
go build $(GOFLAGS) -o ./bin/syz-stress github.com/google/syzkaller/tools/syz-stress
|
|
|
|
upgrade:
|
|
go build $(GOFLAGS) -o ./bin/syz-upgrade github.com/google/syzkaller/tools/syz-upgrade
|
|
|
|
extract: bin/syz-extract
|
|
LINUX=$(LINUX) LINUXBLD=$(LINUXBLD) ./extract.sh
|
|
bin/syz-extract: syz-extract/*.go sysparser/*.go
|
|
go build $(GOFLAGS) -o $@ ./syz-extract
|
|
|
|
generate: bin/syz-sysgen
|
|
bin/syz-sysgen
|
|
bin/syz-sysgen: sysgen/*.go sysparser/*.go
|
|
go build $(GOFLAGS) -o $@ ./sysgen
|
|
|
|
format:
|
|
go fmt ./...
|
|
clang-format --style=file -i executor/*.cc executor/*.h tools/kcovtrace/*.c
|
|
|
|
presubmit:
|
|
$(MAKE) generate
|
|
go generate ./...
|
|
$(MAKE) format
|
|
$(MAKE) executor
|
|
ARCH=amd64 go install ./...
|
|
ARCH=arm64 go install ./...
|
|
ARCH=ppc64le go install ./...
|
|
go test -short ./...
|
|
echo LGTM
|
|
|
|
clean:
|
|
rm -rf ./bin/
|