[llvm-dev] llvm-mc-[dis]assemble-fuzzer status?

Daniel Sanders via llvm-dev llvm-dev at lists.llvm.org
Fri Aug 25 08:51:17 PDT 2017


(removed my @imgtec.com address since it no longer exists)

Sorry for the slow reply, it's a busy time for me right now.

> On 23 Aug 2017, at 00:21, George Karpenkov via llvm-dev <llvm-dev at lists.llvm.org> wrote:
> 
> Hi,
> 
> As a part of a recent move of libFuzzer from LLVM to compiler-rt I am looking into updating the build code
> for the libraries which use libFuzzer.
> 
> I have tried to compile llvm-mc-assemble-fuzzer, and llvm-mc-disassemble-fuzzer, and I couldn’t build either of those.
> For the first one, the reason is that it refers to a nonexistent enum,

I don't seem to be able to build this with cmake+ninja yet (I'm having trouble recursing the compiler on macOS) but after manually building it... It seems this broke at the start of August when the CodeModel argument was removed from InitMCObjectFileInfo(). After removing that argument and adding an 'extern "C"' it at least compiles. I haven't had chance to try running it yet.

> and for the second one I believe the reason is that it does not enclose LLVMFuzzerTestOneInput in “extern ‘C’”.

I agree we need an "extern C" here. I'm not sure what changed to make it required though.

> Are those libraries maintained and/or used?

I haven't used it for quite a while now. My original motivator was the Mips assembler/disassembler being very buggy. I was using it to find crashes and generate interesting test cases for round-trip testing of the assembler/disassembler. Since then, the Mips MC layer has become much more stable and I've also changed jobs.

That said, I'd like to set up a bot to make use of these tools, it's mostly a matter of finding time for it. That's normally difficult but I should be able to do that in the next few weeks.

> If yes, the code should be compilable, and ideally there should be a buildbot.
> If no, maybe we should remove it, or move it to a separate repository.
> 
> Thanks,
> George
> 
> (sorry for starting multiple threads, I believe this way it is more convenient to keep track of tasks)
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev



More information about the llvm-dev mailing list