
* posix dict2file llvm pass * new PM * working * clean up * fmt * fix * silence clippy * bring the println back * early return * rename * weak symbols * linux onky * fuzzbench change * only linux * linux only * cfg * cfg * fix * fix * fix * why * fix * bug fix * rename * rename * macros & rename * add_from_autotokens * fix fuzzbench * std -> core * builder pattern? * clippy * wrong cfg * cfgstd * fuzzbench fmt * no unsafe * update fuzzbench_text * use TokenSectiopn Co-authored-by: Andrea Fioraldi <andreafioraldi@gmail.com>
51 lines
1.3 KiB
Makefile
51 lines
1.3 KiB
Makefile
FUZZER_NAME="fuzzer_libpng"
|
|
PROJECT_DIR=$(shell dirname $(realpath $(firstword $(MAKEFILE_LIST))))
|
|
UNAME := $(shell uname)
|
|
|
|
PHONY: all
|
|
|
|
all: fuzzer
|
|
|
|
libpng-1.6.37:
|
|
wget https://deac-fra.dl.sourceforge.net/project/libpng/libpng16/1.6.37/libpng-1.6.37.tar.xz
|
|
tar -xvf libpng-1.6.37.tar.xz
|
|
|
|
target/release/libafl_cxx: src/* src/bin/*
|
|
# Build the libpng libfuzzer library
|
|
cargo build --release
|
|
|
|
libafl_cxx: target/release/libafl_cxx
|
|
|
|
libafl_cc: target/release/libafl_cxx
|
|
|
|
libpng-1.6.37/.libs/libpng16.a: libpng-1.6.37 libafl_cc
|
|
cd libpng-1.6.37 && ./configure --enable-shared=no --with-pic=yes --enable-hardware-optimizations=yes
|
|
$(MAKE) -C libpng-1.6.37 CC="$(PROJECT_DIR)/target/release/libafl_cc" CXX="$(PROJECT_DIR)/target/release/libafl_cxx"
|
|
|
|
|
|
fuzzer: libpng-1.6.37/.libs/libpng16.a libafl_cxx
|
|
# Build the libpng libfuzzer library
|
|
cargo build --release
|
|
|
|
# Build the libpng harness
|
|
target/release/libafl_cxx \
|
|
$(PROJECT_DIR)/harness.cc \
|
|
$(PROJECT_DIR)/libpng-1.6.37/.libs/libpng16.a \
|
|
-I$(PROJECT_DIR)/libpng-1.6.37/ \
|
|
-o $(FUZZER_NAME) \
|
|
-lm -lz
|
|
|
|
clean:
|
|
rm ./$(FUZZER_NAME)
|
|
$(MAKE) -C libpng-1.6.37 clean
|
|
|
|
run: all
|
|
./$(FUZZER_NAME) --cores 0 --input ./corpus &
|
|
|
|
short_test: all
|
|
rm -rf libafl_unix_shmem_server || true
|
|
timeout 10s ./$(FUZZER_NAME) --cores 0 --input ./corpus &
|
|
|
|
test: all
|
|
timeout 60s ./$(FUZZER_NAME) --cores 0 --input ./corpus &
|