From: Andrew Waterman Date: Mon, 5 Jan 2015 01:31:11 +0000 (-0800) Subject: Rename riscv-dis to spike-dasm X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=17fd25f26773c7c313c8379bf2413f74e55d7511;p=riscv-isa-sim.git Rename riscv-dis to spike-dasm This is a better name, since it looks for the string DASM(xxx), and it fixes tab completion for the cross compiler. --- diff --git a/spike_main/riscv-dis.cc b/spike_main/riscv-dis.cc deleted file mode 100644 index d0af451..0000000 --- a/spike_main/riscv-dis.cc +++ /dev/null @@ -1,45 +0,0 @@ -// See LICENSE for license details. - -// This little program finds occurrences of strings like -// DASM(ffabc013) -// in its input, then replaces them with the disassembly -// enclosed hexadecimal number, interpreted as a RISC-V -// instruction. - -#include "disasm.h" -#include "extension.h" -#include -#include -#include -#include -using namespace std; - -int main(int argc, char** argv) -{ - string s; - disassembler_t d; - - std::function extension; - option_parser_t parser; - parser.option(0, "extension", 1, [&](const char* s){extension = find_extension(s);}); - - while (getline(cin, s)) - { - for (size_t start = 0; (start = s.find("DASM(", start)) != string::npos; ) - { - size_t end = s.find(')', start); - if (end == string::npos) - break; - - size_t numstart = start + strlen("DASM("); - insn_bits_t bits = strtoull(&s[numstart], NULL, 16); - string dis = d.disassemble(bits); - s = s.substr(0, start) + dis + s.substr(end+1); - start += dis.length(); - } - - cout << s << '\n'; - } - - return 0; -} diff --git a/spike_main/spike-dasm.cc b/spike_main/spike-dasm.cc new file mode 100644 index 0000000..d0af451 --- /dev/null +++ b/spike_main/spike-dasm.cc @@ -0,0 +1,45 @@ +// See LICENSE for license details. + +// This little program finds occurrences of strings like +// DASM(ffabc013) +// in its input, then replaces them with the disassembly +// enclosed hexadecimal number, interpreted as a RISC-V +// instruction. + +#include "disasm.h" +#include "extension.h" +#include +#include +#include +#include +using namespace std; + +int main(int argc, char** argv) +{ + string s; + disassembler_t d; + + std::function extension; + option_parser_t parser; + parser.option(0, "extension", 1, [&](const char* s){extension = find_extension(s);}); + + while (getline(cin, s)) + { + for (size_t start = 0; (start = s.find("DASM(", start)) != string::npos; ) + { + size_t end = s.find(')', start); + if (end == string::npos) + break; + + size_t numstart = start + strlen("DASM("); + insn_bits_t bits = strtoull(&s[numstart], NULL, 16); + string dis = d.disassemble(bits); + s = s.substr(0, start) + dis + s.substr(end+1); + start += dis.length(); + } + + cout << s << '\n'; + } + + return 0; +} diff --git a/spike_main/spike_main.mk.in b/spike_main/spike_main.mk.in index 0ac70ef..dd67998 100644 --- a/spike_main/spike_main.mk.in +++ b/spike_main/spike_main.mk.in @@ -4,7 +4,7 @@ spike_main_subproject_deps = \ spike_main_install_prog_srcs = \ spike.cc \ - riscv-dis.cc \ + spike-dasm.cc \ xspike.cc \ termios-xspike.cc \