Instead of what has been claimed on the afl-users mailing list [1] it appears
the
new release 2.53b [2] doesn't build with LLVM-8 nor LLVM-7, and the same
segfault remains:
<cut>
[*] Testing the CC wrapper and instrumentation output...
unset AFL_USE_ASAN AFL_USE_MSAN AFL_INST_RATIO; AFL_QUIET=1 AFL_PATH=.
AFL_CC=clang-8 ../afl-clang-fast -Wall -D_FORTIFY_SOURCE=2 -g
-Wno-pointer-sign -DAFL_PATH=\"/usr/lib/afl\" -DBIN_PATH=\"/usr/bin\"
-DVERSION=\"2.53b\" ../test-instr.c -o test-instr -Wl,-z,relro -Wl,-z,now
Stack dump:
0. Program arguments: /usr/lib/llvm-8/bin/clang -cc1 -triple
x86_64-pc-linux-gnu -emit-obj -disable-free -disable-llvm-verifier
-discard-value-names -main-file-name test-instr.c -mrelocation-model static
-mthread-model posix -fmath-errno -masm-verbose -mconstructor-aliases
-munwind-tables -fuse-init-array -target-cpu x86-64 -dwarf-column-info
-debug-info-kind=limited -dwarf-version=4 -debugger-tuning=gdb
-momit-leaf-frame-pointer -resource-dir /usr/lib/llvm-8/lib/clang/8.0.1 -D
_FORTIFY_SOURCE=2 -D AFL_PATH="/usr/lib/afl" -D BIN_PATH="/usr/bin" -D
VERSION="2.53b" -D __AFL_HAVE_MANUAL_CONTROL=1 -D __AFL_COMPILER=1 -D
FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION=1 -D __AFL_LOOP(_A)=({ static volatile
char *_B __attribute__((used)); _B = (char*)"##SIG_AFL_PERSISTENT##";
__attribute__((visibility("default"))) int _L(unsigned int)
__asm__("__afl_persistent_loop"); _L(_A); }) -D __AFL_INIT()=do { static
volatile char *_A __attribute__((used)); _A =
(char*)"##SIG_AFL_DEFER_FORKSRV##"; __attribute__((visibility("default"))) void
_I(void) __asm__("__afl_manual_init"); _I(); } while (0) -internal-isystem
/usr/local/include -internal-isystem /usr/lib/llvm-8/lib/clang/8.0.1/include
-internal-externc-isystem /usr/include/x86_64-linux-gnu
-internal-externc-isystem /include -internal-externc-isystem /usr/include -O3
-Wall -Wno-pointer-sign -fdebug-compilation-dir /<<PKGBUILDDIR>>/llvm_mode
-ferror-limit 19 -fmessage-length 0 -funroll-loops -fobjc-runtime=gcc
-fdiagnostics-show-option -vectorize-loops -vectorize-slp -load
../afl-llvm-pass.so -o /tmp/test-instr-02c5f7.o -x c ../test-instr.c -faddrsig
clang: error: unable to execute command: Segmentation fault
clang: error: clang frontend command failed due to signal (use -v to see
invocation)
clang version 8.0.1-3 (tags/RELEASE_801/final)
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/bin
clang: note: diagnostic msg: PLEASE submit a bug report to
https://bugs.llvm.org/ and include the crash backtrace, preprocessed source,
and associated run script.
clang: error: unable to execute command: Segmentation fault
clang: note: diagnostic msg: Error generating preprocessed source(s).
make[2]: *** [Makefile:98: test_build] Error 254
</cut>
Further development seems to be happening mainly on the AFL++ project these
days, maybe AFL could be dropped.
Cheers,
D.S.
[1] https://groups.google.com/forum/#!topic/afl-users/zHeyTX_Cyn0
[2] https://github.com/google/AFL/releases
--
4096R/DF5182C8
https://danielstender.com