summaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorBen Smith <binji@chromium.org>2020-08-03 11:31:46 -0700
committerGitHub <noreply@github.com>2020-08-03 11:31:46 -0700
commit05c1aa18e53258fefee9a8aac656280475ccf614 (patch)
treeeab9e64dd30dfc35f318a43da8faa74fa4cd95aa /Makefile
parentef0d3789f229e1176910e45fc47600336ae3aed9 (diff)
downloadwabt-05c1aa18e53258fefee9a8aac656280475ccf614.tar.gz
wabt-05c1aa18e53258fefee9a8aac656280475ccf614.tar.bz2
wabt-05c1aa18e53258fefee9a8aac656280475ccf614.zip
Add tools to use LLVM's libFuzzer (#1507)
This is useful for reproducing bugs found by oss-fuzz (see https://bugs.chromium.org/p/oss-fuzz/issues/list?q=wabt)
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile14
1 files changed, 5 insertions, 9 deletions
diff --git a/Makefile b/Makefile
index d7e5bb9f..87f2c9a7 100644
--- a/Makefile
+++ b/Makefile
@@ -20,23 +20,19 @@ MAKEFILE_NAME := $(lastword $(MAKEFILE_LIST))
ROOT_DIR := $(dir $(abspath $(MAKEFILE_NAME)))
USE_NINJA ?= 0
-FUZZ_BIN_DIR ?= ${ROOT_DIR}/afl-fuzz
-GCC_FUZZ_CC := ${FUZZ_BIN_DIR}/afl-gcc
-GCC_FUZZ_CXX := ${FUZZ_BIN_DIR}/afl-g++
EMSCRIPTEN_DIR ?= $(dir $(shell which emcc))
CMAKE_CMD ?= cmake
DEFAULT_SUFFIX = clang-debug
-COMPILERS := GCC GCC_I686 GCC_FUZZ CLANG CLANG_I686 EMCC
+COMPILERS := GCC GCC_I686 CLANG CLANG_I686 EMCC
BUILD_TYPES := DEBUG RELEASE
-SANITIZERS := ASAN MSAN LSAN UBSAN
+SANITIZERS := ASAN MSAN LSAN UBSAN FUZZ
CONFIGS := NORMAL $(SANITIZERS) COV NO_TESTS
# directory names
GCC_DIR := gcc/
GCC_I686_DIR := gcc-i686/
-GCC_FUZZ_DIR := gcc-fuzz/
CLANG_DIR := clang/
CLANG_I686_DIR := clang-i686/
EMCC_DIR := emscripten/
@@ -47,6 +43,7 @@ ASAN_DIR := asan/
MSAN_DIR := msan/
LSAN_DIR := lsan/
UBSAN_DIR := ubsan/
+FUZZ_DIR := fuzz/
COV_DIR := cov/
NO_TESTS_DIR := no-tests/
@@ -54,10 +51,8 @@ NO_TESTS_DIR := no-tests/
GCC_FLAG := -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++
GCC_I686_FLAG := -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ \
-DCMAKE_C_FLAGS=-m32 -DCMAKE_CXX_FLAGS=-m32
-GCC_FUZZ_FLAG := -DCMAKE_C_COMPILER=${GCC_FUZZ_CC} -DCMAKE_CXX_COMPILER=${GCC_FUZZ_CXX} -DWITH_EXCEPTIONS=ON
CLANG_FLAG := -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++
CLANG_I686_FLAG := -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ \
- -DCMAKE_C_FLAGS=-m32 -DCMAKE_CXX_FLAGS=-m32
EMCC_FLAG := -DCMAKE_TOOLCHAIN_FILE=${EMSCRIPTEN_DIR}/cmake/Modules/Platform/Emscripten.cmake
DEBUG_FLAG := -DCMAKE_BUILD_TYPE=Debug
RELEASE_FLAG := -DCMAKE_BUILD_TYPE=Release
@@ -66,13 +61,13 @@ ASAN_FLAG := -DUSE_ASAN=ON
MSAN_FLAG := -DUSE_MSAN=ON
LSAN_FLAG := -DUSE_LSAN=ON
UBSAN_FLAG := -DUSE_UBSAN=ON
+FUZZ_FLAG := -DBUILD_FUZZ_TOOLS=ON
COV_FLAG := -DCODE_COVERAGE=ON
NO_TESTS_FLAG := -DBUILD_TESTS=OFF
# make target prefixes
GCC_PREFIX := gcc
GCC_I686_PREFIX := gcc-i686
-GCC_FUZZ_PREFIX := gcc-fuzz
CLANG_PREFIX := clang
CLANG_I686_PREFIX := clang-i686
EMCC_PREFIX := emscripten
@@ -83,6 +78,7 @@ ASAN_PREFIX := -asan
MSAN_PREFIX := -msan
LSAN_PREFIX := -lsan
UBSAN_PREFIX := -ubsan
+FUZZ_PREFIX := -fuzz
COV_PREFIX := -cov
NO_TESTS_PREFIX := -no-tests