[llvm] 0fe7531 - [llvm-mc-assemble-fuzzer] Initialize MCTargetOptions.

Hsiangkai Wang via llvm-commits llvm-commits at lists.llvm.org
Wed Jul 21 23:38:16 PDT 2021


Author: Hsiangkai Wang
Date: 2021-07-22T14:36:37+08:00
New Revision: 0fe7531b75e54909a7cb7f7080634ab2053964ad

URL: https://github.com/llvm/llvm-project/commit/0fe7531b75e54909a7cb7f7080634ab2053964ad
DIFF: https://github.com/llvm/llvm-project/commit/0fe7531b75e54909a7cb7f7080634ab2053964ad.diff

LOG: [llvm-mc-assemble-fuzzer] Initialize MCTargetOptions.

When run the command in the llvm-mc-assemble-fuzzer document,

```
llvm-mc-fuzzer --triple=aarch64-linux-gnu --fuzzer-args -max_len=4
```

it triggers the following assertion:

```
llvm-mc-assemble-fuzzer:
llvm-project/llvm/lib/MC/MCTargetOptionsCommandFlags.cpp:38:
bool llvm::mc::getRelaxAll(): Assertion `RelaxAllView &&
"RegisterMCTargetOptionsFlags not created."' failed.
```

It is caused by no global RegisterMCTargetOptionsFlags object to initialize
the MC target options.

Differential Revision: https://reviews.llvm.org/D106417

Added: 
    

Modified: 
    llvm/tools/llvm-mc-assemble-fuzzer/llvm-mc-assemble-fuzzer.cpp

Removed: 
    


################################################################################
diff  --git a/llvm/tools/llvm-mc-assemble-fuzzer/llvm-mc-assemble-fuzzer.cpp b/llvm/tools/llvm-mc-assemble-fuzzer/llvm-mc-assemble-fuzzer.cpp
index 74051666a6ec0..e32eb11397160 100644
--- a/llvm/tools/llvm-mc-assemble-fuzzer/llvm-mc-assemble-fuzzer.cpp
+++ b/llvm/tools/llvm-mc-assemble-fuzzer/llvm-mc-assemble-fuzzer.cpp
@@ -37,6 +37,8 @@
 
 using namespace llvm;
 
+static mc::RegisterMCTargetOptionsFlags MOF;
+
 static cl::opt<std::string>
     TripleName("triple", cl::desc("Target triple to assemble for, "
                                   "see -version for available targets"));


        


More information about the llvm-commits mailing list