blob: 95d9383c5ca9e7c27601c4c5c2ea5d1c0fc8d38f [file] [log] [blame] [edit]
#!/bin/bash
set -euo pipefail
$SRC/perfetto/tools/install-build-deps
mkdir -p $WORK/build
# sanitize=vptr needs RTTI, which we do not compile with.
CXXFLAGS="$CXXFLAGS -fno-sanitize=vptr"
GN_ARGS="is_clang=true is_debug=false is_fuzzer=true use_libfuzzer=false \
link_fuzzer=\"-lFuzzingEngine\" is_hermetic_clang=false \
use_custom_libcxx=false is_cross_compiling=true \
extra_target_cflags=\"$CFLAGS -Wno-implicit-int-float-conversion\" \
extra_target_cxxflags=\"$CXXFLAGS\" extra_target_ldflags=\"$CXXFLAGS\" \
is_system_compiler=true cc=\"$CC\" cxx=\"$CXX\" linker=\"gold\""
if [ "$SANITIZER" = "address" ]; then
GN_ARGS="$GN_ARGS is_asan=true";
fi;
OUTDIR=$WORK/build
$SRC/perfetto/tools/gn gen "$OUTDIR" --args="${GN_ARGS}" --check
$SRC/perfetto/tools/ninja -C $WORK/build fuzzers -v
cp $WORK/build/*fuzzer $OUT
mkdir -p $OUT/src/traced/probes/ftrace/test/data
cp -a $SRC/perfetto/src/traced/probes/ftrace/test/data/synthetic \
$OUT/src/traced/probes/ftrace/test/data
if [ "$SANITIZER" = "undefined" ]; then
rm $OUT/trace_processor_fuzzer
fi;