]> granicus.if.org Git - llvm/commitdiff
Fix build of llvm-mc-assemble/disassemble-fuzzer
authorJustin Bogner <mail@justinbogner.com>
Tue, 29 Aug 2017 17:08:44 +0000 (17:08 +0000)
committerJustin Bogner <mail@justinbogner.com>
Tue, 29 Aug 2017 17:08:44 +0000 (17:08 +0000)
Since these aren't built by default unless building with coverage (and
even then they aren't built for the check target) they've managed to
bit rot a little.

This just fixes the build. See llvm.org/pr34314 for the plan on making
sure these don't bit rot again.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@312011 91177308-0d34-0410-b5e6-96231b3b80d8

tools/llvm-mc-assemble-fuzzer/llvm-mc-assemble-fuzzer.cpp
tools/llvm-mc-disassemble-fuzzer/llvm-mc-disassemble-fuzzer.cpp

index 015f1edd93fd074385833bdd8c504aa66242aa0c..63264a78c032a2d094a21ba42547b087857bfcdc 100644 (file)
@@ -171,8 +171,7 @@ int AssembleOneInput(const uint8_t *Data, size_t Size) {
   MCContext Ctx(MAI.get(), MRI.get(), &MOFI, &SrcMgr);
 
   static const bool UsePIC = false;
-  static const CodeModel::Model CMModel = CodeModel::Default;
-  MOFI.InitMCObjectFileInfo(TheTriple, UsePIC, CMModel, Ctx);
+  MOFI.InitMCObjectFileInfo(TheTriple, UsePIC, Ctx);
 
   const unsigned OutputAsmVariant = 0;
   std::unique_ptr<MCInstrInfo> MCII(TheTarget->createMCInstrInfo());
@@ -243,11 +242,12 @@ int AssembleOneInput(const uint8_t *Data, size_t Size) {
   return 0;
 }
 
-int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size) {
+extern "C" int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size) {
   return AssembleOneInput(Data, Size);
 }
 
-int LLVMFuzzerInitialize(int *argc, char ***argv) {
+extern "C" LLVM_ATTRIBUTE_USED int LLVMFuzzerInitialize(int *argc,
+                                                        char ***argv) {
   // The command line is unusual compared to other fuzzers due to the need to
   // specify the target. Options like -triple, -mcpu, and -mattr work like
   // their counterparts in llvm-mc, while -fuzzer-args collects options for the
index 482fc77db59a7d9d2fc767d3d71eda953ddc48a0..36d1f7ca994879165a41839133ffa461eb9f84a2 100644 (file)
@@ -73,11 +73,12 @@ int DisassembleOneInput(const uint8_t *Data, size_t Size) {
   return 0;
 }
 
-int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size) {
+extern "C" int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size) {
   return DisassembleOneInput(Data, Size);
 }
 
-int LLVMFuzzerInitialize(int *argc, char ***argv) {
+extern "C" LLVM_ATTRIBUTE_USED int LLVMFuzzerInitialize(int *argc,
+                                                        char ***argv) {
   // The command line is unusual compared to other fuzzers due to the need to
   // specify the target. Options like -triple, -mcpu, and -mattr work like
   // their counterparts in llvm-mc, while -fuzzer-args collects options for the