Added support for afl-clang-fast.
This commit is contained in:
parent
2502ebb183
commit
f8fa2fcad0
|
@ -1,6 +1,6 @@
|
||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
set -eu -o pipefail
|
set -exu -o pipefail
|
||||||
|
|
||||||
for d in src/fuzzing/*/ ; do
|
for d in src/fuzzing/*/ ; do
|
||||||
fuzz_cases+="$(basename "$d"), "
|
fuzz_cases+="$(basename "$d"), "
|
||||||
|
|
|
@ -2,7 +2,6 @@
|
||||||
|
|
||||||
set -ex -o pipefail
|
set -ex -o pipefail
|
||||||
|
|
||||||
export ARGS=$@
|
|
||||||
|
|
||||||
instrument=(
|
instrument=(
|
||||||
"\/src$"
|
"\/src$"
|
||||||
|
@ -22,10 +21,22 @@ fi
|
||||||
|
|
||||||
case $0 in
|
case $0 in
|
||||||
*zcash-wrapper-g++)
|
*zcash-wrapper-g++)
|
||||||
COMPILER="g++"
|
OCOMPILER="g++"
|
||||||
|
ACOMPILER=$OCOMPILER
|
||||||
;;
|
;;
|
||||||
*zcash-wrapper-gcc)
|
*zcash-wrapper-gcc)
|
||||||
COMPILER="gcc"
|
OCOMPILER="gcc"
|
||||||
|
ACOMPILER=$OCOMPILER
|
||||||
|
;;
|
||||||
|
*zcash-wrapper-clang)
|
||||||
|
OCOMPILER="clang-6.0"
|
||||||
|
ACOMPILER="clang-fast"
|
||||||
|
CFLAGS="-fsanitize=address -static"
|
||||||
|
;;
|
||||||
|
*zcash-wrapper-clang++)
|
||||||
|
OCOMPILER="clang++-6.0"
|
||||||
|
ACOMPILER="clang-fast++"
|
||||||
|
CPPFLAGS="-fsanitize=address -static"
|
||||||
;;
|
;;
|
||||||
*zcash-wrapper)
|
*zcash-wrapper)
|
||||||
echo "Call this script instead of your regular compiler, and if the absolute path of the CWD the wrapper was called from matches a regex in the array 'instrument', it will call AFL to instrument the resulting binary. Otherwise it will call either g++ or gcc depending on how it was invoked. \$AFL_INSTALL_DIR must be set to the path where AFL is installed."
|
echo "Call this script instead of your regular compiler, and if the absolute path of the CWD the wrapper was called from matches a regex in the array 'instrument', it will call AFL to instrument the resulting binary. Otherwise it will call either g++ or gcc depending on how it was invoked. \$AFL_INSTALL_DIR must be set to the path where AFL is installed."
|
||||||
|
@ -40,9 +51,9 @@ do
|
||||||
if echo -- "`pwd`" | grep "$i"; then
|
if echo -- "`pwd`" | grep "$i"; then
|
||||||
# We found a match, let's instrument this one.
|
# We found a match, let's instrument this one.
|
||||||
echo "Matched directory `pwd` to instrument element $i. Instrumenting this call." >> "$AFL_LOG_DIR/zcash-build-wrapper.log"
|
echo "Matched directory `pwd` to instrument element $i. Instrumenting this call." >> "$AFL_LOG_DIR/zcash-build-wrapper.log"
|
||||||
exec -- "$AFL_INSTALL_DIR/afl-$COMPILER" "$@"
|
exec -- "$AFL_INSTALL_DIR/afl-$ACOMPILER" "$@"
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
# No match, just pass-through.
|
# No match, just pass-through.
|
||||||
exec -- "$COMPILER" "$@"
|
exec -- "$OCOMPILER" "$@"
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
zcash-wrapper
|
|
@ -0,0 +1 @@
|
||||||
|
zcash-wrapper
|
Loading…
Reference in New Issue