[PATCH] D30156: llvm-mc-fuzzer: add support for assembly

Brian Cain via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Feb 20 12:56:33 PST 2017


bcain marked 11 inline comments as done.
bcain added a comment.

I think I've satisfied all of the review concerns, save the one about reinterpret_cast.  Daniel, please let me know if the comment was just informative or if you prefer a change there.



================
Comment at: tools/llvm-mc-fuzzer/llvm-mc-fuzzer.cpp:244
   if (Action == AC_Assemble)
-    errs() << "error: -assemble is not implemented\n";
+    return AssembleOneInput(Data, Size);
   else if (Action == AC_Disassemble)
----------------
dsanders wrote:
> kcc wrote:
> > I strongly suggest to make this a separate fuzz target instead of using flags. 
> > Otherwise it'll be harder to automate running this target. 
> I'm not sure what you mean here. What difficulties are you thinking of?
> 
> FWIW, this is in line with my original intent which was to mimic llvm-mc's interface.
> I strongly suggest to make this a separate fuzz target instead of using flags. 

I've preserved the original design for llvm-mc-fuzzer, apparently to imitate llvm-mc.

Pros/cons of the current design:
- pro: matches llvm-mc
- pro: changing focus to probe different paths only requires different command line args
- con: reproducing fuzzer configuration more difficult because it depends on those args
- con: libFuzzer might see the uncovered feature set as a goal for coverage (that we already know statically it cannot cover).

For that last one, it's speculation on my part.

Kostya, would you be satisfied with this as-is or should I decompose it into two fuzzers?  "Harder to automate" consists of "I must make sure that I can deliver the right command line args to the automation feature"?  Or "won't fit well in oss-fuzz" or something else?


Repository:
  rL LLVM

https://reviews.llvm.org/D30156





More information about the llvm-commits mailing list