Re: GCC plugins packaging (for AFL++)
"Richard W.M. Jones" <[email protected]> Tue, 21 Jul 2026 11:05:57 +0100
| Newsgroups | gmane.linux.redhat.fedora.devel |
|---|---|
| Message-ID | <[email protected]> |
On Tue, Jul 21, 2026 at 12:00:22PM +0200, Florian Weimer wrote: > * Richard W. M. Jones: > > > On Thu, Jun 25, 2026 at 06:21:01PM +0200, Florian Weimer wrote: > >> * Richard W. M. Jones: > >> > >> > Apparently GCC plugins depend on the exact GCC major.minor.release > >> > version (rather than, say, just the major version as with Clang). Or > >> > AFL *thinks* it needs to depend on the exact version, although you > >> > could set an environment variable to skip the check, see: > >> > > >> > https://github.com/AFLplusplus/AFLplusplus/blob/edaf3ad04d64185cae856c75ca4676cbb14a35b5/instrumentation/afl-gcc-pass.so.cc#L621 > >> > > >> > Do GCC plugins really depend on the exact major.minor.release of GCC? > >> > >> They do. We rebuild the annobin plugin each time we update GCC, and > >> reconfigure to use that annobin version if the separately built annobin > >> plugin was built by a different GCC version (and not the currently > >> installed one). > > > > Sorry for the late reply here. > > > > I don't have any good ideas here, except that I want to avoid having > > to rebuild AFL every time we rebuild GCC. That's not going to make > > anyone happy. > > > > Is there a stable subset of APIs or is there just no hope? > > Thinks like the GCC options array are unstable, so there's really no > good way to avoid recompilation. > > How often do you expect to update AFL? There's usually a new release every month or two. > We could build the plugin during the GCC build itself, perhaps. Unfortunately AFL uses a completely insane hand-rolled build system, so I'm not confident that I could cleanly separate out the plugin from the rest, or that the build system wouldn't change randomly in future breaking everything. I think it's probably best to leave it for now and see if any Fedora users complain. AFL has several other instrumentation methods so it doesn't depend on the plugin. Rich. -- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones Read my programming and virtualization blog: http://rwmj.wordpress.com virt-p2v converts physical machines to virtual machines. Boot with a live CD or over the network (PXE) and turn machines into KVM guests. http://libguestfs.org/virt-v2v -- _______________________________________________ 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://forge.fedoraproject.org/infra/tickets/issues/new