diff --git a/infra/base-images/base-builder/compile b/infra/base-images/base-builder/compile index 064060c65..705b2ada5 100755 --- a/infra/base-images/base-builder/compile +++ b/infra/base-images/base-builder/compile @@ -22,7 +22,13 @@ if [ -z "${SANITIZER_FLAGS-}" ]; then export SANITIZER_FLAGS=${!FLAGS_VAR-} fi -if [[ $SANITIZER_FLAGS = *sanitize=memory* ]]; then +if [[ $FUZZING_ENGINE != "none" ]]; then + # compile script might override environment, use . to call it. + . compile_${FUZZING_ENGINE} +fi + +if [[ $SANITIZER_FLAGS = *sanitize=memory* ]] +then # Take all libraries from lib/msan and MSAN_LIBS_PATH # export CXXFLAGS_EXTRA="-L/usr/msan/lib $CXXFLAGS_EXTRA" cp -R /usr/msan/lib/* /usr/lib/ @@ -34,21 +40,12 @@ if [[ $SANITIZER_FLAGS = *sanitize=memory* ]]; then # break non MSan compiled programs. (cd "$MSAN_LIBS_PATH" && find . -name '*.a' -exec cp --parents '{}' / ';') fi - - export FUZZING_ENGINE_SANITIZER_FLAGS="$SANITIZER_FLAGS" -else - # Do not need to compile fuzzing engine with sanitizers, unless MSan is used. - export FUZZING_ENGINE_SANITIZER_FLAGS="" -fi - -if [[ $FUZZING_ENGINE != "none" ]]; then - # compile script might override environment, use . to call it. - . compile_${FUZZING_ENGINE} fi # Coverage flag overrides. COVERAGE_FLAGS_VAR="COVERAGE_FLAGS_${SANITIZER}" -if [[ -n ${!COVERAGE_FLAGS_VAR+x} ]]; then +if [[ -n ${!COVERAGE_FLAGS_VAR+x} ]] +then export COVERAGE_FLAGS="${!COVERAGE_FLAGS_VAR}" fi diff --git a/infra/base-images/base-builder/compile_libfuzzer b/infra/base-images/base-builder/compile_libfuzzer index 7f154feea..9605c7f18 100755 --- a/infra/base-images/base-builder/compile_libfuzzer +++ b/infra/base-images/base-builder/compile_libfuzzer @@ -18,8 +18,8 @@ echo -n "Compiling libFuzzer to $LIB_FUZZING_ENGINE... " mkdir -p $WORK/libfuzzer pushd $WORK/libfuzzer > /dev/null -$CXX $CXXFLAGS -std=c++11 -O2 $FUZZING_ENGINE_SANITIZER_FLAGS \ - -fno-sanitize=vptr -c $SRC/libfuzzer/*.cpp -I$SRC/libfuzzer +$CXX $CXXFLAGS -std=c++11 -O2 $SANITIZER_FLAGS -fno-sanitize=vptr \ + -c $SRC/libfuzzer/*.cpp -I$SRC/libfuzzer ar r $LIB_FUZZING_ENGINE $WORK/libfuzzer/*.o popd > /dev/null rm -rf $WORK/libfuzzer