summaryrefslogtreecommitdiff
path: root/docs/FuzzingLLVM.rst
diff options
context:
space:
mode:
authorJustin Bogner <mail@justinbogner.com>2017-10-12 01:57:49 +0000
committerJustin Bogner <mail@justinbogner.com>2017-10-12 01:57:49 +0000
commit58e4a843472a0cddde204a47d087ada7f56ccf29 (patch)
tree9df7e4cd50aca3eed0dcd2cad0243072d0b61385 /docs/FuzzingLLVM.rst
parent89b77ce2ca335f4cd6fd5ad6d343c3c4a9d348b3 (diff)
llvm-isel-fuzzer: Handle a subset of backend flags in the executable name
Here we add a secondary option parser to llvm-isel-fuzzer (and provide it for use with other fuzzers). With this, you can copy the fuzzer to a name like llvm-isel-fuzzer:aarch64-gisel for a fuzzer that fuzzer AArch64 with GlobalISel enabled, or fuzzer:x86_64 to fuzz x86, with no flags required. This should be useful for running these in OSS-Fuzz. Note that this handrolls a subset of cl::opts to recognize, rather than embedding a complete command parser for argv[0]. If we find we really need the flexibility of handling arbitrary options at some point we can rethink this. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@315545 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'docs/FuzzingLLVM.rst')
-rw-r--r--docs/FuzzingLLVM.rst7
1 files changed, 7 insertions, 0 deletions
diff --git a/docs/FuzzingLLVM.rst b/docs/FuzzingLLVM.rst
index 6aa0be7d19f..279ea668e76 100644
--- a/docs/FuzzingLLVM.rst
+++ b/docs/FuzzingLLVM.rst
@@ -76,6 +76,13 @@ the following command would fuzz AArch64 with :doc:`GlobalISel`:
% bin/llvm-isel-fuzzer <corpus-dir> -ignore_remaining_args=1 -mtriple aarch64 -global-isel -O0
+Some flags can also be specified in the binary name itself in order to support
+OSS Fuzz, which has trouble with required arguments. To do this, you can copy
+or move ``llvm-isel-fuzzer`` to ``llvm-isel-fuzzer:x-y-z``, where x, y, and z
+are architecture names (``aarch64``, ``x86_64``), optimization levels (``O0``,
+``O2``), or specific keywords like ``gisel`` for enabling global instruction
+selection.
+
llvm-mc-assemble-fuzzer
-----------------------