Attached updated debdiff for tenacious (5.02c-0.5ubuntu5) rebased onto
5.02c-0.5ubuntu4.

5.02c-0.5ubuntu4 re-added gcc-16-plugin-dev to Build-Depends, which
pulls in libgcc-16-dev without libstdc++-16-dev while the default GCC is
15, causing clang++-21 to select GCC 16 and fail on `#include <list>`
(build 33873750).

This debdiff:
1. Reverts the 0.5ubuntu4 gcc-16-plugin-dev addition (restoring the 0.5ubuntu3 
Build-Depends) and updates Maintainer/XSBC-Original-Maintainer in 
debian/control.
2. Backports upstream commit a9e8587ee86c8ff20a14de6aea6ec07d7d3f699f so afl-cc 
records -fcf-protection in have_fcf instead of have_cfisan (Debian bug 
#1150752).

** Description changed:

+ afl++ 5.02c-0.5ubuntu3 and 5.02c-0.5ubuntu4 in tenacious-proposed build
+ "successfully" (because GNUmakefile ignores the GNUmakefile.llvm install
+ error) but ship without LLVM components (afl-compiler-rt.o, afl-c++,
+ afl-clang-fast, SanitizerCoveragePCGUARD.so), causing autopkgtests to
+ fail:
+ 
+   smoke-test-clang:      Unable to find 'afl-compiler-rt.o'
+   smoke-test-clang-fast: make: afl-clang-fast: No such file or directory
+   adequate-afl:          broken-symlink /usr/bin/afl-g++-fast -> afl-c++
+                          broken-symlink /usr/lib/afl/afl-gcc-rt.o -> 
afl-compiler-rt.o
+ 
+ Root cause:
+ 1. src/afl-cc.c records any -fcf-protection* argument as have_cfisan. In 
clang mode that injects -flto -fvisibility=hidden and skips the PCGUARD pass, 
so test_build fails with "Oops, the instrumentation does not seem to be 
behaving correctly!".
+ 2. 5.02c-0.5ubuntu4 re-added gcc-16-plugin-dev to Build-Depends, which pulls 
in libgcc-16-dev without libstdc++-16-dev while default GCC is 15, causing 
clang++-21 to fail on "fatal error: 'list' file not found".
+ 
+ Fix:
+ - Backport upstream commit a9e8587ee86c8ff20a14de6aea6ec07d7d3f699f 
(https://github.com/AFLplusplus/AFLplusplus/pull/2896) to track -fcf-protection 
in have_fcf instead of have_cfisan.
+ - Revert the 0.5ubuntu4 gcc-16-plugin-dev addition in debian/control.
+ - Forwarded to Debian BTS: https://bugs.debian.org/1150752
+ 
+ --- [ Original Report ]
  afl++ 5.02c-0.5ubuntu3 builds "successfully" but ships without its LLVM 
components (afl-compiler-rt.o, afl-c++, afl-clang-fast, 
SanitizerCoveragePCGUARD.so, ...), so the autopkgtests fail:
  https://autopkgtest.ubuntu.com/packages/a/aflplusplus/stonking/amd64
  
    smoke-test-clang:      Unable to find 'afl-compiler-rt.o'
    smoke-test-clang-fast: make: afl-clang-fast: No such file or directory
    adequate-afl:          broken-symlink /usr/bin/afl-g++-fast -> afl-c++
                           broken-symlink /usr/lib/afl/afl-gcc-rt.o -> 
afl-compiler-rt.o
  
  In the build log the LLVM self-test fails and the error is ignored by
  the upstream makefile:
  
    Oops, the instrumentation does not seem to be behaving correctly!
    make[2]: [GNUmakefile:913: install] Error 2 (ignored)
  
  Root cause: src/afl-cc.c records any -fcf-protection* argument as
  have_cfisan (as if AFL_USE_CFISAN was set). In clang mode that injects
  -flto -fvisibility=hidden; the PCGUARD pass does not run under -flto, so
  the binary gets no instrumentation. The Ubuntu build flags always
  contain -fcf-protection=..., so the test_build check fails and the LLVM
  parts are not installed. Reproduced in a stonking container: only -fcf-
  protection=<any value> triggers it.
  
  Fixed upstream (not yet released): 
https://github.com/AFLplusplus/AFLplusplus/pull/2896
  commit a9e8587ee86c8ff20a14de6aea6ec07d7d3f699f
  
  A backport of that one-line change fixes the build: the LLVM components
  are installed again, afl-clang/afl-clang-fast build the test program and
  adequate is clean.

** Tags removed: stonking
** Tags added: tenacious

** Patch added: "debdiff for tenacious (5.02c-0.5ubuntu4 -> 5.02c-0.5ubuntu5)"
   
https://bugs.launchpad.net/ubuntu/+source/aflplusplus/+bug/2170639/+attachment/6013162/+files/aflplusplus_5.02c-0.5ubuntu5_tenacious.debdiff

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2170639

Title:
  afl++ ships without LLVM components: afl-cc treats -fcf-protection as
  CFISAN request

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/aflplusplus/+bug/2170639/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to