mirror of https://github.com/google/oss-fuzz.git
llvm: fix build correctly (#7179)
This commit is contained in:
parent
1a513c7fc3
commit
e0787861af
|
@ -73,80 +73,6 @@ for fuzzer in "${FUZZERS[@]}"; do
|
|||
ninja $fuzzer
|
||||
cp bin/$fuzzer $OUT
|
||||
done
|
||||
ninja llvm-as
|
||||
|
||||
# In CI we only check a single architecture to avoid CI exhaustion
|
||||
if [ -n "${OSS_FUZZ_CI-}" ]; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# isel-fuzzer encodes its default flags in the name.
|
||||
cp $OUT/llvm-isel-fuzzer $OUT/llvm-isel-fuzzer--aarch64-O2
|
||||
cp $OUT/llvm-isel-fuzzer $OUT/llvm-isel-fuzzer--x86_64-O2
|
||||
cp $OUT/llvm-isel-fuzzer $OUT/llvm-isel-fuzzer--wasm32-O2
|
||||
mv $OUT/llvm-isel-fuzzer $OUT/llvm-isel-fuzzer--aarch64-gisel
|
||||
|
||||
# Same for llvm-opt-fuzzer
|
||||
cp $OUT/llvm-opt-fuzzer $OUT/llvm-opt-fuzzer--x86_64-earlycse
|
||||
cp $OUT/llvm-opt-fuzzer $OUT/llvm-opt-fuzzer--x86_64-simplifycfg
|
||||
cp $OUT/llvm-opt-fuzzer $OUT/llvm-opt-fuzzer--x86_64-gvn
|
||||
cp $OUT/llvm-opt-fuzzer $OUT/llvm-opt-fuzzer--x86_64-sccp
|
||||
|
||||
cp $OUT/llvm-opt-fuzzer $OUT/llvm-opt-fuzzer--x86_64-loop_predication
|
||||
cp $OUT/llvm-opt-fuzzer $OUT/llvm-opt-fuzzer--x86_64-guard_widening
|
||||
cp $OUT/llvm-opt-fuzzer $OUT/llvm-opt-fuzzer--x86_64-loop_vectorize
|
||||
|
||||
cp $OUT/llvm-opt-fuzzer $OUT/llvm-opt-fuzzer--x86_64-loop_unswitch
|
||||
cp $OUT/llvm-opt-fuzzer $OUT/llvm-opt-fuzzer--x86_64-licm
|
||||
cp $OUT/llvm-opt-fuzzer $OUT/llvm-opt-fuzzer--x86_64-indvars
|
||||
cp $OUT/llvm-opt-fuzzer $OUT/llvm-opt-fuzzer--x86_64-strength_reduce
|
||||
|
||||
cp $OUT/llvm-opt-fuzzer $OUT/llvm-opt-fuzzer--x86_64-irce
|
||||
|
||||
mv $OUT/llvm-opt-fuzzer $OUT/llvm-opt-fuzzer--x86_64-instcombine
|
||||
|
||||
# Build corpus for the llvm-opt-fuzzer
|
||||
function build_corpus {
|
||||
local lit_path="${1}"
|
||||
local fuzzer_name="${2}"
|
||||
|
||||
[[ -e "${WORK}/corpus-tmp" ]] && rm -r "${WORK}/corpus-tmp"
|
||||
mkdir "${WORK}/corpus-tmp"
|
||||
|
||||
cd "${SRC}"
|
||||
|
||||
# Compile all lit tests into bitcode. Ignore possible llvm-as failures.
|
||||
find "${lit_path}" -name "*.ll" -print0 |
|
||||
xargs -t -i -0 -n1 sh -c "build/bin/llvm-as "{}" || true"
|
||||
|
||||
# Move freshly created bitcode into temp directory.
|
||||
find "${lit_path}" -name "*.bc" -print0 |
|
||||
xargs -t -i -0 -n1 mv "{}" "${WORK}/corpus-tmp"
|
||||
|
||||
# Archive the corpus.
|
||||
zip -j "${OUT}/${fuzzer_name}_seed_corpus.zip" "${WORK}"/corpus-tmp/*
|
||||
|
||||
rm -r "${WORK}/corpus-tmp"
|
||||
|
||||
echo -e "[libfuzzer]\nmax_len = 0" > "${OUT}"/"${fuzzer_name}".options
|
||||
}
|
||||
|
||||
build_corpus "$LLVM/test/Transforms/InstCombine/" "llvm-opt-fuzzer--x86_64-instcombine"
|
||||
build_corpus "$LLVM/test/Transforms/EarlyCSE/" "llvm-opt-fuzzer--x86_64-earlycse"
|
||||
build_corpus "$LLVM/test/Transforms/SimplifyCFG/" "llvm-opt-fuzzer--x86_64-simplifycfg"
|
||||
build_corpus "$LLVM/test/Transforms/GVN/" "llvm-opt-fuzzer--x86_64-gvn"
|
||||
build_corpus "$LLVM/test/Transforms/SCCP/" "llvm-opt-fuzzer--x86_64-sccp"
|
||||
|
||||
build_corpus "$LLVM/test/Transforms/LoopPredication/" "llvm-opt-fuzzer--x86_64-loop_predication"
|
||||
build_corpus "$LLVM/test/Transforms/GuardWidening/" "llvm-opt-fuzzer--x86_64-guard_widening"
|
||||
build_corpus "$LLVM/test/Transforms/LoopVectorize/" "llvm-opt-fuzzer--x86_64-loop_vectorize"
|
||||
|
||||
build_corpus "$LLVM/test/Transforms/LoopUnswitch/" "llvm-opt-fuzzer--x86_64-llvm-opt-fuzzer--x86_64-loop_unswitch"
|
||||
build_corpus "$LLVM/test/Transforms/LICM/" "llvm-opt-fuzzer--x86_64-llvm-opt-fuzzer--x86_64-licm"
|
||||
build_corpus "$LLVM/test/Transforms/IndVarSimplify/" "llvm-opt-fuzzer--x86_64-llvm-opt-fuzzer--x86_64-indvars"
|
||||
build_corpus "$LLVM/test/Transforms/LoopStrengthReduce/" "llvm-opt-fuzzer--x86_64-llvm-opt-fuzzer--x86_64-strength_reduce"
|
||||
|
||||
build_corpus "$LLVM/test/Transforms/IRCE/" "llvm-opt-fuzzer--x86_64-llvm-opt-fuzzer--x86_64-irce"
|
||||
|
||||
zip -j "${OUT}/clang-objc-fuzzer_seed_corpus.zip" $SRC/$LLVM/../clang/tools/clang-fuzzer/corpus_examples/objc/*
|
||||
zip -j "${OUT}/clangd-fuzzer_seed_corpus.zip" $SRC/$LLVM/../clang-tools-extra/clangd/test/*
|
||||
|
|
Loading…
Reference in New Issue