Browse Source

Add --strict command-line arg to spike-dasm

pull/1881/head
Andrew Waterman 1 year ago
parent
commit
8ad998f0e7
  1. 4
      spike_dasm/spike-dasm.cc

4
spike_dasm/spike-dasm.cc

@ -19,6 +19,7 @@ int main(int UNUSED argc, char** argv)
{ {
string s; string s;
const char* isa = DEFAULT_ISA; const char* isa = DEFAULT_ISA;
bool strict = false;
std::function<extension_t*()> extension; std::function<extension_t*()> extension;
option_parser_t parser; option_parser_t parser;
@ -26,10 +27,11 @@ int main(int UNUSED argc, char** argv)
parser.option(0, "extension", 1, [&](const char* s){extension = find_extension(s);}); parser.option(0, "extension", 1, [&](const char* s){extension = find_extension(s);});
#endif #endif
parser.option(0, "isa", 1, [&](const char* s){isa = s;}); parser.option(0, "isa", 1, [&](const char* s){isa = s;});
parser.option(0, "strict", 0, [&](const char UNUSED *s){strict = true;});
parser.parse(argv); parser.parse(argv);
isa_parser_t isa_parser(isa, DEFAULT_PRIV); isa_parser_t isa_parser(isa, DEFAULT_PRIV);
disassembler_t* disassembler = new disassembler_t(&isa_parser); disassembler_t* disassembler = new disassembler_t(&isa_parser, strict);
if (extension) { if (extension) {
for (auto disasm_insn : extension()->get_disasms()) { for (auto disasm_insn : extension()->get_disasms()) {
disassembler->add_insn(disasm_insn); disassembler->add_insn(disasm_insn);

Loading…
Cancel
Save