Skip to content

Commit

Permalink
Set rust flags always in compile step. (#3859)
Browse files Browse the repository at this point in the history
This is needed for projects that mix both rust and c/c++.
  • Loading branch information
inferno-chromium authored May 21, 2020
1 parent 4da60cd commit ecf3d38
Showing 1 changed file with 17 additions and 19 deletions.
36 changes: 17 additions & 19 deletions infra/base-images/base-builder/compile
Original file line number Diff line number Diff line change
Expand Up @@ -63,30 +63,28 @@ if [ $FUZZING_ENGINE = "none" ]; then
export COVERAGE_FLAGS=
fi

if [[ $FUZZING_LANGUAGE == "rust" ]]; then
# Rust does not support sanitizers and coverage flags via CFLAGS/CXXFLAGS.
# Instead, use RUSTFLAGS.
# FIXME: Support code coverage once support is in.
# See https://github.com/rust-lang/rust/issues/34701.
export RUSTFLAGS="--cfg fuzzing -Zsanitizer=${SANITIZER} -Cdebuginfo=1 -Cforce-frame-pointers"

# Add Rust libfuzzer flags.
# See https://github.com/rust-fuzz/libfuzzer/blob/master/build.rs#L12.
export CUSTOM_LIBFUZZER_PATH="$LIB_FUZZING_ENGINE_DEPRECATED"
export CUSTOM_LIBFUZZER_STD_CXX=c++

# Set RUSTC_BOOTSTRAP to get nightly features like sanitizers.
export RUSTC_BOOTSTRAP=1
else
export CFLAGS="$CFLAGS $SANITIZER_FLAGS $COVERAGE_FLAGS"
export CXXFLAGS="$CFLAGS $CXXFLAGS_EXTRA"
fi
# Rust does not support sanitizers and coverage flags via CFLAGS/CXXFLAGS, so
# use RUSTFLAGS.
# FIXME: Support code coverage once support is in.
# See https://github.com/rust-lang/rust/issues/34701.
export RUSTFLAGS="--cfg fuzzing -Zsanitizer=${SANITIZER} -Cdebuginfo=1 -Cforce-frame-pointers"

# Add Rust libfuzzer flags.
# See https://github.com/rust-fuzz/libfuzzer/blob/master/build.rs#L12.
export CUSTOM_LIBFUZZER_PATH="$LIB_FUZZING_ENGINE_DEPRECATED"
export CUSTOM_LIBFUZZER_STD_CXX=c++

# Set RUSTC_BOOTSTRAP to get nightly features like sanitizers.
export RUSTC_BOOTSTRAP=1

export CFLAGS="$CFLAGS $SANITIZER_FLAGS $COVERAGE_FLAGS"
export CXXFLAGS="$CFLAGS $CXXFLAGS_EXTRA"

echo "---------------------------------------------------------------"
echo "CC=$CC"
echo "CXX=$CXX"
echo "CFLAGS=$CFLAGS"
echo "CXXFLAGS=$CXXFLAGS"

echo "---------------------------------------------------------------"

BUILD_CMD="bash -eux $SRC/build.sh"
Expand Down

0 comments on commit ecf3d38

Please sign in to comment.