summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Sanders <daniel.sanders@imgtec.com>2015-09-26 17:09:01 +0000
committerDaniel Sanders <daniel.sanders@imgtec.com>2015-09-26 17:09:01 +0000
commit4fe1c8b24ed888ac2824dcac86978673bce44850 (patch)
treecde3e10e319741ede91737c1681ee3a6d4052f05
parentcaac2b6930c6440e1917b73b3cb89c1461f9e260 (diff)
downloadbcm5719-llvm-4fe1c8b24ed888ac2824dcac86978673bce44850.tar.gz
bcm5719-llvm-4fe1c8b24ed888ac2824dcac86978673bce44850.zip
[llvm-mc-fuzzer] Fix -jobs option.
The fuzzer argument parser will ignore all options starting with '--' so operation mode options should begin with '--' and fuzzer options should begin with '-'. Fuzzer arguments must still follow --fuzzer-args so that they escape the parsing performed by the CommandLine library. llvm-svn: 248671
-rw-r--r--llvm/docs/LibFuzzer.rst9
-rw-r--r--llvm/tools/llvm-mc-fuzzer/llvm-mc-fuzzer.cpp5
2 files changed, 6 insertions, 8 deletions
diff --git a/llvm/docs/LibFuzzer.rst b/llvm/docs/LibFuzzer.rst
index 8d4972296ed..a5114bbf083 100644
--- a/llvm/docs/LibFuzzer.rst
+++ b/llvm/docs/LibFuzzer.rst
@@ -361,11 +361,12 @@ When run in dissassembly mode, the inputs are opcodes to be disassembled. The
fuzzer will consume as many instructions as possible and will stop when it
finds an invalid instruction or runs out of data.
-Please note that the command line interface differs from that of other fuzzers.
-The fuzzer arguments are specified with ``-fuzzer-args`` while other arguments
-control the operation mode and target in a similar manner to ``llvm-mc``.
+Please note that the command line interface differs slightly from that of other
+fuzzers. The fuzzer arguments should follow ``--fuzzer-args`` and should have
+a single dash, while other arguments control the operation mode and target in a
+similar manner to ``llvm-mc`` and should have two dashes. For example::
-Unfortunately, this fuzzer is currently unable to use the -jobs option.
+ llvm-mc-fuzzer --triple=aarch64-linux-gnu --disassemble --fuzzer-args -max_len=4 -jobs=10
Buildbot
--------
diff --git a/llvm/tools/llvm-mc-fuzzer/llvm-mc-fuzzer.cpp b/llvm/tools/llvm-mc-fuzzer/llvm-mc-fuzzer.cpp
index f2bbe4f1af3..7710f80985d 100644
--- a/llvm/tools/llvm-mc-fuzzer/llvm-mc-fuzzer.cpp
+++ b/llvm/tools/llvm-mc-fuzzer/llvm-mc-fuzzer.cpp
@@ -127,13 +127,10 @@ int main(int argc, char **argv) {
FeaturesStr = Features.getString();
}
- // Insert the program name into the FuzzerArgv.
- FuzzerArgv.insert(FuzzerArgv.begin(), argv[0]);
-
if (Action == AC_Assemble)
errs() << "error: -assemble is not implemented\n";
else if (Action == AC_Disassemble)
- return fuzzer::FuzzerDriver(FuzzerArgv, DisassembleOneInput);
+ return fuzzer::FuzzerDriver(argc, argv, DisassembleOneInput);
llvm_unreachable("Unknown action");
return 1;
OpenPOWER on IntegriCloud