Hi,
aflplusplus fails to build in a test rebuild on at least amd64 and arm64 with
gcc-16/g++-16, but builds properly with gcc-15/g++-15. The severity of this
report will be raised before the forky release.
The full build log can be found at:
https://people.debian.org/~ema/gcc-16-rebuilds/output-1/aflplusplus_arm64.build.xz
The last lines of the build log are at the end of this report.
To build with GCC 16, either set CC=gcc-16 CXX=g++-16 explicitly,
or install the gcc, g++, gfortran, ... packages from experimental.
apt-get -t=experimental install g++
Common build failures include unused (but set) variables, array subscripts
partly outside array bounds, and new/dropped symbols in Debian symbols files.
For other C/C++ related build failures see the porting guide at
http://gcc.gnu.org/gcc-16/porting_to.html
Please only close this issue after double-checking that the package can be
built correctly.
Please do not reassign this bug to another package. If a fix in another package
is required, then file a bug for the other package (or clone), and mark this
bug as blocked by the bug in the other package.
[...]
| ^
instrumentation/SanitizerCoveragePCGUARD.so.cc:404:29: warning: 'getUnqual' is deprecated: PointerType::getUnqual with pointee type is pending removal. Use Context overload. [-Wdeprecated-declarations]
404 | Int64PtrTy = PointerType::getUnqual(IRB.getInt64Ty());
| ^
/usr/lib/llvm-21/include/llvm/IR/DerivedTypes.h:718:5: note: 'getUnqual' has been explicitly marked deprecated here
718 | [[deprecated("PointerType::getUnqual with pointee type is pending removal. "
| ^
instrumentation/SanitizerCoveragePCGUARD.so.cc:405:29: warning: 'getUnqual' is deprecated: PointerType::getUnqual with pointee type is pending removal. Use Context overload. [-Wdeprecated-declarations]
405 | Int32PtrTy = PointerType::getUnqual(IRB.getInt32Ty());
| ^
/usr/lib/llvm-21/include/llvm/IR/DerivedTypes.h:718:5: note: 'getUnqual' has been explicitly marked deprecated here
718 | [[deprecated("PointerType::getUnqual with pointee type is pending removal. "
| ^
instrumentation/SanitizerCoveragePCGUARD.so.cc:406:28: warning: 'getUnqual' is deprecated: PointerType::getUnqual with pointee type is pending removal. Use Context overload. [-Wdeprecated-declarations]
406 | Int8PtrTy = PointerType::getUnqual(IRB.getInt8Ty());
| ^
/usr/lib/llvm-21/include/llvm/IR/DerivedTypes.h:718:5: note: 'getUnqual' has been explicitly marked deprecated here
718 | [[deprecated("PointerType::getUnqual with pointee type is pending removal. "
| ^
instrumentation/SanitizerCoveragePCGUARD.so.cc:407:28: warning: 'getUnqual' is deprecated: PointerType::getUnqual with pointee type is pending removal. Use Context overload. [-Wdeprecated-declarations]
407 | Int1PtrTy = PointerType::getUnqual(IRB.getInt1Ty());
| ^
/usr/lib/llvm-21/include/llvm/IR/DerivedTypes.h:718:5: note: 'getUnqual' has been explicitly marked deprecated here
718 | [[deprecated("PointerType::getUnqual with pointee type is pending removal. "
| ^
instrumentation/SanitizerCoveragePCGUARD.so.cc:417:42: warning: 'get' is deprecated: PointerType::get with pointee type is pending removal. Use Context overload. [-Wdeprecated-declarations]
417 | new GlobalVariable(M, PointerType::get(Int8Ty, 0), false,
| ^
/usr/lib/llvm-21/include/llvm/IR/DerivedTypes.h:709:5: note: 'get' has been explicitly marked deprecated here
709 | [[deprecated("PointerType::get with pointee type is pending removal. Use "
| ^
instrumentation/SanitizerCoveragePCGUARD.so.cc:1348:41: warning: 'get' is deprecated: PointerType::get with pointee type is pending removal. Use Context overload. [-Wdeprecated-declarations]
1348 | IRB.CreateLoad(PointerType::get(Int8Ty, 0), AFLMapPtr);
| ^
/usr/lib/llvm-21/include/llvm/IR/DerivedTypes.h:709:5: note: 'get' has been explicitly marked deprecated here
709 | [[deprecated("PointerType::get with pointee type is pending removal. Use "
| ^
instrumentation/SanitizerCoveragePCGUARD.so.cc:1619:52: warning: 'get' is deprecated: PointerType::get with pointee type is pending removal. Use Context overload. [-Wdeprecated-declarations]
1619 | LoadInst *MapPtr = IRB.CreateLoad(PointerType::get(Int8Ty, 0), AFLMapPtr);
| ^
/usr/lib/llvm-21/include/llvm/IR/DerivedTypes.h:709:5: note: 'get' has been explicitly marked deprecated here
709 | [[deprecated("PointerType::get with pointee type is pending removal. Use "
| ^
15 warnings generated.
10 warnings generated.
/usr/lib/llvm-21/bin/clang -Wall -g -Wno-cast-qual -Wno-variadic-macros -Wno-pointer-sign -I ./include/ -I ./instrumentation/ -DAFL_PATH=\"/usr/lib/afl\" -DBIN_PATH=\"/usr/bin\" -DLLVM_BINDIR=\"/usr/lib/llvm-21/bin\" -DVERSION=\"++4.33c\" -DLLVM_LIBDIR=\"/usr/lib/llvm-21/lib\" -DLLVM_VERSION=\"21.1.8\" -DAFL_CLANG_FLTO=\"-flto=full\" -DAFL_REAL_LD=\"/usr/lib/llvm-21/bin/ld.lld\" -DAFL_CLANG_LDPATH=\"1\" -DAFL_CLANG_FUSELD=\"1\" -DCLANG_BIN=\"/usr/lib/llvm-21/bin/clang\" -DCLANGPP_BIN=\"/usr/lib/llvm-21/bin/clang++\" -DUSE_BINDIR=1 -Wno-unused-function -Wno-deprecated -Wdate-time -D_FORTIFY_SOURCE=2 -Wno-unused-result -O0 -flto=full -fPIC -c instrumentation/afl-llvm-rt-lto.o.c -o ./afl-llvm-rt-lto.o
[*] 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 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/aflplusplus-4.33c=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -g -Wno-pointer-sign -Wno-variadic-macros -Wall -Wextra -Wno-pointer-arith -fPIC -I include/ -DAFL_PATH=\"/usr/lib/afl\" -DBIN_PATH=\"/usr/bin\" -DDOC_PATH=\"/usr/share/doc/afl\" -Wall -g -Wno-cast-qual -Wno-variadic-macros -Wno-pointer-sign -I ./include/ -I ./instrumentation/ -DAFL_PATH=\"/usr/lib/afl\" -DBIN_PATH=\"/usr/bin\" -DLLVM_BINDIR=\"/usr/lib/llvm-21/bin\" -DVERSION=\"++4.33c\" -DLLVM_LIBDIR=\"/usr/lib/llvm-21/lib\" -DLLVM_VERSION=\"21.1.8\" -DAFL_CLANG_FLTO=\"-flto=full\" -DAFL_REAL_LD=\"/usr/lib/llvm-21/bin/ld.lld\" -DAFL_CLANG_LDPATH=\"1\" -DAFL_CLANG_FUSELD=\"1\" -DCLANG_BIN=\"/usr/lib/llvm-21/bin/clang\" -DCLANGPP_BIN=\"/usr/lib/llvm-21/bin/clang++\" -DUSE_BINDIR=1 -Wno-unused-function -Wno-deprecated -Wdate-time -D_FORTIFY_SOURCE=2 ./test-instr.c -o test-instr -Wl,-z,relro -Wl,-z,now -ldl -lrt -lm -lz
ASAN_OPTIONS=detect_leaks=0 ./afl-showmap -m none -q -o .test-instr0 ./test-instr < /dev/null
[1;94m[*] [0mAcquired new map size for target: 128 bytes
[0m
echo 1 | ASAN_OPTIONS=detect_leaks=0 ./afl-showmap -m none -q -o .test-instr1 ./test-instr
[1;94m[*] [0mAcquired new map size for target: 128 bytes
[0m
[+] All right, the instrumentation seems to be working!
[+] All done! You can now use './afl-cc' to compile programs.
make[3]: Leaving directory '/build/reproducible-path/aflplusplus-4.33c'
/usr/bin/make -f GNUmakefile.gcc_plugin
make[3]: Entering directory '/build/reproducible-path/aflplusplus-4.33c'
[+] shmat seems to be working.
[*] Checking for working 'cc'...
[*] Checking for gcc plugin development header files...
[-] Oops, can't find gcc header files. Be sure to install 'gcc-X-plugin-dev'.
make[3]: *** [GNUmakefile.gcc_plugin:127: test_deps] Error 1
make[3]: Leaving directory '/build/reproducible-path/aflplusplus-4.33c'
make[2]: *** [GNUmakefile:356: gcc_plugin] Error 2
make[2]: Leaving directory '/build/reproducible-path/aflplusplus-4.33c'
make[1]: *** [debian/rules:28: override_dh_auto_build] Error 2
make[1]: Leaving directory '/build/reproducible-path/aflplusplus-4.33c'
make: *** [debian/rules:25: binary] Error 2
dpkg-buildpackage: error: debian/rules binary subprocess failed with exit status 2