AFLGo Link-Time Instrumentation
include/Fuzzing/AFLGoLinker/ and lib/Fuzzing/AFLGoLinker/ implement the
link-time instrumentation passes for AFLGo-style directed fuzzing.
Location: include/Fuzzing/AFLGoLinker/, lib/Fuzzing/AFLGoLinker/
Main passes:
AFLGoDistanceInstrumentationPassinstruments distance feedback.FunctionDistancePassinjects function-level distance data.DAFLInstrumentationPassadds DAFL-specific instrumentation.DuplicateTargetRemovalPassandAFLGoTargetInjectionFixupPassclean up target metadata before final code generation.
Role in the pipeline:
consume the analyses from Directed Fuzzing Analyses
insert profile-guiding feedback at LTO time
finalize target handling for directed greybox fuzzers
Operational notes
Use the linker passes with the distance and target facts generated for the same program revision. The cleanup passes run before final code generation so instrumentation observes a consistent set of target annotations. Validate the resulting bitcode or executable with a small corpus before interpreting distance feedback as a fuzzing-quality signal.
See also Fuzzing Support.