You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Under Dyninst-9.3.2 it works perfectly, however under Dyninst-10.0.0 declaration of std::vector<Dyninst::InstructionAPI::Instruction::Ptr> insns creates std::vector<boost::shared_ptr<Dyninst::InstructionAPI::Instruction>> which is not compatible with implementations of BPatch_basicBlock::getInstructions(...):
dinst_instrument.cpp:391:34: error: no matching function for call to ‘BPatch_basicBlock::getInstructions(std::vector<boost::shared_ptr<Dyninst::InstructionAPI::Instruction> >&)’
block->getInstructions(insns);
^
dinst_instrument.cpp:391:34: note: candidates are:
In file included from /home/vys0053/Software/Dyninst-10.0.0/dyninstAPI/h/BPatch_flowGraph.h:40:0,
from dinst_instrument.cpp:17:
/home/vys0053/Software/Dyninst-10.0.0/dyninstAPI/h/BPatch_basicBlock.h:296:9: note: bool BPatch_basicBlock::getInstructions(std::vector<Dyninst::InstructionAPI::Instruction>&)
bool getInstructions(std::vector<Dyninst::InstructionAPI::Instruction>& insns);
^
/home/vys0053/Software/Dyninst-10.0.0/dyninstAPI/h/BPatch_basicBlock.h:296:9: note: no known conversion for argument 1 from ‘std::vector<boost::shared_ptr<Dyninst::InstructionAPI::Instruction> >’ to ‘std::vector<Dyninst::InstructionAPI::Instruction>&’
/home/vys0053/Software/Dyninst-10.0.0/dyninstAPI/h/BPatch_basicBlock.h:297:9: note: bool BPatch_basicBlock::getInstructions(std::vector<std::pair<Dyninst::InstructionAPI::Instruction, long unsigned int> >&)
bool getInstructions(std::vector<std::pair<Dyninst::InstructionAPI::Instruction, Dyninst::Address> >& insnInstances);
^
/home/vys0053/Software/Dyninst-10.0.0/dyninstAPI/h/BPatch_basicBlock.h:297:9: note: no known conversion for argument 1 from ‘std::vector<boost::shared_ptr<Dyninst::InstructionAPI::Instruction> >’ to ‘std::vector<std::pair<Dyninst::InstructionAPI::Instruction, long unsigned int> >&’
I am not very familiar with boost, so I don't know where the boost::shared_ptr comes from. Do you have an idea what is wrong?
The text was updated successfully, but these errors were encountered:
Example from dyninstAPI.pdf page 5 shows how to count number of instructions per basic block:
Under Dyninst-9.3.2 it works perfectly, however under Dyninst-10.0.0 declaration of
std::vector<Dyninst::InstructionAPI::Instruction::Ptr> insns
createsstd::vector<boost::shared_ptr<Dyninst::InstructionAPI::Instruction>>
which is not compatible with implementations ofBPatch_basicBlock::getInstructions(...)
:I am not very familiar with boost, so I don't know where the
boost::shared_ptr
comes from. Do you have an idea what is wrong?The text was updated successfully, but these errors were encountered: