diff options
author | Justin Bogner <mail@justinbogner.com> | 2017-10-12 01:57:49 +0000 |
---|---|---|
committer | Justin Bogner <mail@justinbogner.com> | 2017-10-12 01:57:49 +0000 |
commit | 58e4a843472a0cddde204a47d087ada7f56ccf29 (patch) | |
tree | 9df7e4cd50aca3eed0dcd2cad0243072d0b61385 /docs/FuzzingLLVM.rst | |
parent | 89b77ce2ca335f4cd6fd5ad6d343c3c4a9d348b3 (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.rst | 7 |
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 ----------------------- |