Expanded entrypoints.rst with details about definitions, registration rules, and the lifecycle of an entrypoint. Updated multiple documents to remove redundant technical details and link to the centralized entrypoints reference: - libc/docs/dev/cmake_build_rules.rst - libc/docs/dev/implementation_standard.rst - libc/docs/porting.rst - libc/docs/dev/source_tree_layout.rst
21 lines
885 B
ReStructuredText
21 lines
885 B
ReStructuredText
.. _fuzzing:
|
|
|
|
Fuzzing for LLVM-libc functions
|
|
===============================
|
|
|
|
Fuzz tests are used to ensure quality and security of LLVM-libc implementations.
|
|
All fuzz tests live under the directory named ``fuzzing``. Within this
|
|
directory, the fuzz test for a libc function lives in the same nested directory
|
|
as its implementation in the toplevel ``src`` directory. The build target
|
|
``libc-fuzzer`` builds all of the enabled fuzz tests (but does not run them).
|
|
|
|
Types of fuzz tests
|
|
===================
|
|
|
|
As of this writing, there are two different kinds of fuzz tests. One kind are
|
|
the traditional fuzz tests which test one function at a time and only that
|
|
particular function. The other kind of tests are what we call as the
|
|
differential fuzz tests. These tests compare the behavior of LLVM libc
|
|
implementations with the behavior of the corresponding functions from the system
|
|
libc.
|