
* a * add real symlink * tmate * corpus * detmate --------- Co-authored-by: Skynet 2 <name@domain.example>
66 lines
1.6 KiB
Makefile
66 lines
1.6 KiB
Makefile
import "../../../just/libafl-qemu-libpng.just"
|
|
|
|
FUZZER_NAME := "qemu_coverage"
|
|
HARNESS := TARGET_DIR / ("libpng-harness-" + PROFILE)
|
|
|
|
[unix]
|
|
build:
|
|
cargo build \
|
|
--profile {{ PROFILE }} \
|
|
--features {{ ARCH }} \
|
|
--target-dir {{ TARGET_DIR }}
|
|
|
|
[unix]
|
|
harness: libpng
|
|
#!/bin/bash
|
|
|
|
source {{ DOTENV }}
|
|
|
|
$CROSS_CXX \
|
|
./harness.cc \
|
|
$CROSS_CFLAGS \
|
|
"{{TARGET_DIR}}/build-png/.libs/libpng16.a" \
|
|
"{{TARGET_DIR}}/build-zlib/libz.a" \
|
|
-I"{{TARGET_DIR}}/build-png" \
|
|
-I"{{TARGET_DIR}}/build-zlib/zlib/lib" \
|
|
-L"{{TARGET_DIR}}/build-zlib/zlib/lib" \
|
|
-o"{{ HARNESS }}" \
|
|
-lm -static
|
|
|
|
[unix]
|
|
run: harness build
|
|
{{ FUZZER }} \
|
|
--coverage-path {{ TARGET_DIR }}/cov.drcov \
|
|
--input-dir ./corpus \
|
|
--verbose \
|
|
-- {{ HARNESS }}
|
|
|
|
[unix]
|
|
test_inner: run
|
|
#!/bin/bash
|
|
|
|
cargo run --manifest-path ../../../utils/drcov_utils/Cargo.toml --bin drcov_merge -- \
|
|
-i {{ TARGET_DIR }}/cov-000.drcov {{ TARGET_DIR }}/cov-001.drcov {{TARGET_DIR }}/cov-002.drcov {{ TARGET_DIR }}/cov-003.drcov \
|
|
--output {{ TARGET_DIR }}/cov-merged.drcov || exit 1
|
|
|
|
NB_BLOCKS=$(cargo run --manifest-path ../../../utils/drcov_utils/Cargo.toml --bin drcov_dump_addrs -- \
|
|
-i {{ TARGET_DIR }}/cov-merged.drcov -a | wc -l || exit 1)
|
|
|
|
echo "Nb blocks found: $NB_BLOCKS"
|
|
|
|
if [ $NB_BLOCKS -ge 1700 ]; then
|
|
echo "Test succeeded"
|
|
else
|
|
echo "Did not find more than 1700 blocks."
|
|
exit 1
|
|
fi
|
|
|
|
[unix]
|
|
test:
|
|
ARCH=x86_64 just test_inner
|
|
ARCH=arm just test_inner
|
|
|
|
[unix]
|
|
clean:
|
|
cargo clean
|