From: Justin Bogner Date: Tue, 29 Aug 2017 17:08:44 +0000 (+0000) Subject: Fix build of llvm-mc-assemble/disassemble-fuzzer X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=ae0931ef31f33728ed62628e904d1c1f3e80d4d4;p=llvm Fix build of llvm-mc-assemble/disassemble-fuzzer 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 --- diff --git a/tools/llvm-mc-assemble-fuzzer/llvm-mc-assemble-fuzzer.cpp b/tools/llvm-mc-assemble-fuzzer/llvm-mc-assemble-fuzzer.cpp index 015f1edd93f..63264a78c03 100644 --- a/tools/llvm-mc-assemble-fuzzer/llvm-mc-assemble-fuzzer.cpp +++ b/tools/llvm-mc-assemble-fuzzer/llvm-mc-assemble-fuzzer.cpp @@ -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 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 diff --git a/tools/llvm-mc-disassemble-fuzzer/llvm-mc-disassemble-fuzzer.cpp b/tools/llvm-mc-disassemble-fuzzer/llvm-mc-disassemble-fuzzer.cpp index 482fc77db59..36d1f7ca994 100644 --- a/tools/llvm-mc-disassemble-fuzzer/llvm-mc-disassemble-fuzzer.cpp +++ b/tools/llvm-mc-disassemble-fuzzer/llvm-mc-disassemble-fuzzer.cpp @@ -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