]> git.siccegge.de Git - frida/frida.git/blobdiff - src/disassembler/llvm/LLVMDisassembler.cxx
Remove whitespace around printed instruction
[frida/frida.git] / src / disassembler / llvm / LLVMDisassembler.cxx
index 3023f9397d8f2339230c75c2d4e8169a91aa464d..b97f93f7df0618d5bf2ca460d6e071726f5ecfe9 100644 (file)
@@ -3,6 +3,7 @@
 #include "core/InformationManager.hxx"
 #include "core/Function.hxx"
 #include "core/BasicBlock.hxx"
+#include <boost/algorithm/string.hpp>
 
 #include <stack>
 #include <algorithm>
@@ -526,8 +527,8 @@ void LLVMDisassembler<ELFT>::readSections() {
 // }
 
 template <typename ELFT>
-std::list<Instruction> LLVMDisassembler<ELFT>::getInstructions(const BasicBlock *block) {
-       std::list<Instruction> result;
+std::vector<Instruction> LLVMDisassembler<ELFT>::getInstructions(const BasicBlock *block) {
+       std::vector<Instruction> result;
        SectionRef text_section = getTextSection();
        uint64_t base_address;
        text_section.getAddress(base_address);
@@ -563,7 +564,7 @@ std::list<Instruction> LLVMDisassembler<ELFT>::getInstructions(const BasicBlock
                                stream << std::hex << (base_address + jmptarget);
                                ref = stream.str();
                        }
-                       result.push_back(Instruction(current_address + base_address, s.str(),
+                       result.push_back(Instruction(current_address + base_address, boost::algorithm::trim_copy(s.str()),
                                                     std::vector<uint8_t>(bytes, bytes+inst_size), ref));
                } else {
                        LOG4CXX_WARN(logger, "Invalid byte at" << std::hex << current_address + base_address);