clayborg added inline comments.
================ Comment at: tools/intel-mpx/IntelMPXTablePlugin.cpp:151 + // + bd_entry--; + ---------------- There is indeed a bug in SBData::SetData(): ``` void SBData::SetData(lldb::SBError &error, const void *buf, size_t size, lldb::ByteOrder endian, uint8_t addr_size) { if (!m_opaque_sp.get()) m_opaque_sp.reset(new DataExtractor(buf, size, endian, addr_size)); else m_opaque_sp->SetData(buf, size, endian); ``` Note that if "m_opaque_sp" already exists, it doesn't set the address byte size. I will fix this and check it in, then things should work for you. ================ Comment at: tools/intel-mpx/IntelMPXTablePlugin.cpp:219 +} + +static std::vector<uint8_t> uIntToU8(uint64_t input, size_t size) { ---------------- I'll fix SBData and this should work ================ Comment at: tools/intel-mpx/IntelMPXTablePlugin.cpp:315 + return true; +} + ---------------- The GetValueAsUnsigned() should work. If you look at an x86_64 program: ``` (lldb) script >>> r = lldb.frame.FindRegister('rax') >>> print r (unsigned long) rax = 0x0000000100000f10 >>> print r.GetValueAsUnsigned(0) 4294971152 >>> hex(4294971152) '0x100000f10' ``` Maybe you defined "bndcfgu" the register in a way that makes this not work? This should work and you should step through the code to see why this fails for "bndcfgu". Let me know what you find. https://reviews.llvm.org/D29078 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits