Skip to content

docs: add a libxml2 external example - #320

Merged
h1994st merged 1 commit into
mainfrom
docs/libxml2-example
Oct 10, 2026
Merged

h1994st merged 1 commit into
mainfrom
docs/libxml2-example

Conversation

@h1994st

@h1994st h1994st commented Oct 10, 2026

Copy link
Copy Markdown
Owner

Problem

The external examples have no libtool build and no fuzz harness, the setup AFLplusplus/fuzz-reachability#4 integrates rllvm into.

Fix

  • examples/external/libxml2: build libxml2 v2.15.4 and its own fuzz/xml harness through rllvm, extract the fuzzer, and group its unresolved indirect calls with resolution-candidates.
  • The README shows 2710 of the 3020 unresolved calls going through the xmlMalloc/xmlRealloc/xmlFree global hooks, whose candidates include the fuzzer's own allocator, and why the build leaves -fsanitize=fuzzer-no-link out.
  • reproduce.sh builds the pinned tag on a macOS host, asserts the groups and candidates, and prints the recorded counts.

Verification

  • reproduce.sh from a fresh clone on arm64 macOS: exit 0, 35 modules, 2147 functions, 3020 unresolved calls in 77 groups; shellcheck is clean.

@h1994st
h1994st enabled auto-merge (squash) October 10, 2026 07:30
@h1994st
h1994st merged commit daaab2d into main Oct 10, 2026
17 checks passed
@h1994st
h1994st deleted the docs/libxml2-example branch October 10, 2026 07:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant