Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 10 additions & 8 deletions fuzzers/k_scheduler/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -19,16 +19,18 @@ export PATH="/usr/local/go/bin:$PATH"
export GOPATH="$FUZZER/repo/go"
export PATH="$GOPATH/bin:$PATH"

export CFLAGS="$CFLAGS -O2 -fsanitize-coverage=trace-pc-guard,no-prune -fno-omit-frame-pointer -gline-tables-only"
export CXXFLAGS="$CXXFLAGS -O2 -fsanitize-coverage=trace-pc-guard,no-prune -fno-omit-frame-pointer -gline-tables-only"

export LLVM_CC_NAME="clang"
export LLVM_CXX_NAME="clang++"
export CC="gclang"
export CXX="gclang++"

export CFLAGS="-fsanitize-coverage=trace-pc-guard,no-prune -O2 -fno-omit-frame-pointer -gline-tables-only"
export CXXFLAGS="-fsanitize-coverage=trace-pc-guard,no-prune -O2 -fno-omit-frame-pointer -gline-tables-only"

# Build AFL runtime library and AFL driver
$CC -O2 -c -w "$FUZZER/repo/kscheduler/afl_integration/afl-2.52b_kscheduler/llvm_mode/afl-llvm-rt.o.c" -o afl-llvm-rt.o
$CXX -std=c++11 -O2 -c "$FUZZER/repo/kscheduler/libfuzzer_integration/llvm_11.0.1/compiler-rt/lib/fuzzer/afl/afl_driver.cpp"
ar r "$OUT/afl_llvm_rt_driver.a" afl_driver.o afl-llvm-rt.o
rm afl_driver.o afl-llvm-rt.o
# Build AFL driver and runtime
$CXX -std=c++11 -c \
"$FUZZER/repo/kscheduler/libfuzzer_integration/llvm_11.0.1/compiler-rt/lib/fuzzer/afl/afl_driver.cpp" \
-o "$OUT/afl_driver.o"
$CC -c -w \
"$FUZZER/repo/kscheduler/afl_integration/afl-2.52b_kscheduler/llvm_mode/afl-llvm-rt.o.c" \
-o "$OUT/afl-llvm-rt.o"
6 changes: 5 additions & 1 deletion fuzzers/k_scheduler/fetch.sh
Original file line number Diff line number Diff line change
Expand Up @@ -14,4 +14,8 @@ go install github.com/SRI-CSL/gllvm/cmd/...@latest

git clone --no-checkout https://github.com/Dongdongshe/K-Scheduler "$FUZZER/repo/kscheduler"
git -C "$FUZZER/repo/kscheduler" checkout 36bc5aa658fa7c9716aee08a8ff22419f28e3fe9
cp "$FUZZER/src/afl_driver.cpp" "$FUZZER/repo/kscheduler/libfuzzer_integration/llvm_11.0.1/compiler-rt/lib/fuzzer/afl/"

sed -i '{s/^int main/__attribute__((weak)) &/}' \
"$FUZZER/repo/kscheduler/libfuzzer_integration/llvm_11.0.1/compiler-rt/lib/fuzzer/afl/afl_driver.cpp"
sed -i '{s/^int LLVMFuzzerTestOneInput/__attribute__((weak)) &/}' \
"$FUZZER/repo/kscheduler/libfuzzer_integration/llvm_11.0.1/compiler-rt/lib/fuzzer/afl/afl_driver.cpp"
9 changes: 5 additions & 4 deletions fuzzers/k_scheduler/instrument.sh
Original file line number Diff line number Diff line change
Expand Up @@ -14,15 +14,16 @@ export PATH="/usr/local/go/bin:$PATH"
export GOPATH="$FUZZER/repo/go"
export PATH="$GOPATH/bin:$PATH"

export CFLAGS="$CFLAGS -O2 -fsanitize-coverage=trace-pc-guard,no-prune -fno-omit-frame-pointer -gline-tables-only -fsanitize=fuzzer-no-link"
export CXXFLAGS="$CXXFLAGS -O2 -fsanitize-coverage=trace-pc-guard,no-prune -fno-omit-frame-pointer -gline-tables-only -fsanitize=fuzzer-no-link"
export LDFLAGS="$LDFLAGS -fsanitize=fuzzer-no-link"

export LLVM_CC_NAME="clang"
export LLVM_CXX_NAME="clang++"
export CC="gclang"
export CXX="gclang++"

export CFLAGS="$CFLAGS -fsanitize-coverage=trace-pc-guard,no-prune -O2 -fno-omit-frame-pointer -gline-tables-only"
export CXXFLAGS="$CXXFLAGS -fsanitize-coverage=trace-pc-guard,no-prune -O2 -fno-omit-frame-pointer -gline-tables-only"

export LIBS="$LIBS -l:afl_llvm_rt_driver.a -lstdc++"
export LIBS="$LIBS -l:afl_driver.o -l:afl-llvm-rt.o -lstdc++"

"$MAGMA/build.sh"
"$TARGET/build.sh"
Expand Down
2 changes: 2 additions & 0 deletions fuzzers/k_scheduler/run.sh
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@ sleep 5s

export AFL_SKIP_CPUFREQ=1
export AFL_NO_AFFINITY=1
export AFL_NO_UI=1
export AFL_DRIVER_DONT_DEFER=1

"$FUZZER/repo/kscheduler/afl_integration/afl-2.52b_kscheduler/afl-fuzz" \
-m 100M -i "$TARGET/corpus/$PROGRAM" -o "$SHARED/findings" \
Expand Down
205 changes: 0 additions & 205 deletions fuzzers/k_scheduler/src/afl_driver.cpp

This file was deleted.