american-fuzzy-lop is a popular fuzzer tool, which we package from the
upstream AFL++ project (https://github.com/AFLplusplus/AFLplusplus)

Previously we passed RPM %{optflags} to the build, but I had to drop
this:

https://src.fedoraproject.org/rpms/american-fuzzy-lop/c/0078834f20acaab132efa7bb3dc917d972e275c5?branch=rawhide

The specific reason is that AFL tests if clang instrumentation works.
When we pass %{optflags} this test newly fails with the error attached
at the end of this email.

This causes parts of the build to be skipped, and so not all the files
we're expecting get generated, including C++ support.

It worked with the previous version of AFL 4.33c, so something seems
to have changed upstream, but I couldn't see it.  Also AFL uses a
crazy home-brewed build system made up of a maze of nested Makefiles
all alike, so good luck with that.

Rich.


----------------------------------------------------------------------
[*] Testing the CC wrapper and instrumentation output...
unset AFL_USE_ASAN AFL_USE_MSAN AFL_INST_RATIO AFL_LLVM_ALLOWLIST 
AFL_LLVM_DENYLIST; ASAN_OPTIONS=detect_leaks=0 AFL_QUIET=1 AFL_PATH=. 
AFL_LLVM_LAF_ALL=1 ./afl-cc -O2  -fexceptions -g -grecord-gcc-switches -pipe 
-Wall -Wno-complain-wrong-lang -Werror=format-security 
-Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS 
-specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong 
-specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64 -march=x86-64 
-mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection 
-fcf-protection  -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -g 
-Wno-pointer-sign -Wno-variadic-macros -Wall -Wextra -Wno-pointer-arith -fPIC 
-I include/ -DAFL_PATH=\"/usr/lib64/afl\" -DBIN_PATH=\"/usr/bin\" 
-DDOC_PATH=\"/usr/share/doc/american-fuzzy-lop\" -Wall -g -Wno-cast-qual 
-Wno-variadic-macros -Wno-pointer-sign -I ./include/ -I ./instrumentation/ 
-DAFL_PATH=\"/usr/lib64/afl\" -DBIN_PATH=\"/usr/bin\" 
-DLLVM_BINDIR=\"/usr/lib64/llvm21/bin\" -DVERSION=\"++4.34c\" 
-DLLVM_LIBDIR=\"/usr/lib64/llvm21/lib64\" -DLLVM_VERSION=\"21.1.2\" 
-DAFL_CLANG_FLTO=\"-flto=full\" -DAFL_REAL_LD=\"/usr/bin/ld.lld\" 
-DAFL_CLANG_LDPATH=\"1\" -DAFL_CLANG_FUSELD=\"1\" 
-DCLANG_BIN=\"/usr/lib64/llvm21/bin/clang\" 
-DCLANGPP_BIN=\"/usr/lib64/llvm21/bin/clang++\" -DUSE_BINDIR=1 
-Wno-unused-function -Wno-deprecated  ./test-instr.c -o test-instr -Wl,-z,relro 
-Wl,--as-needed  -Wl,-z,pack-relative-relocs -Wl,-z,now 
-specs=/usr/lib/rpm/redhat/redhat-hardened-ld 
-specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -Wl,--build-id=sha1 
-specs=/usr/lib/rpm/redhat/redhat-package-notes  -ldl -lrt -lm -lz
warning: unknown warning option '-Wno-complain-wrong-lang'; did you mean 
'-Wno-c++11-long-long'? [-Wunknown-warning-option]
1 warning generated.
ASAN_OPTIONS=detect_leaks=0 ./afl-showmap -m none -q -o .test-instr0 
./test-instr < /dev/null
echo 1 | ASAN_OPTIONS=detect_leaks=0 ./afl-showmap -m none -q -o .test-instr1 
./test-instr

Oops, the instrumentation does not seem to be behaving correctly!

Please post to https://github.com/AFLplusplus/AFLplusplus/issues to 
troubleshoot the issue.


-- 
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
virt-builder quickly builds VMs from scratch
http://libguestfs.org/virt-builder.1.html

-- 
_______________________________________________
devel mailing list -- [email protected]
To unsubscribe send an email to [email protected]
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/[email protected]
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue

Reply via email to