[lldb-dev] Advice on architectures with multiple address spaces

Zdenek Prikryl via lldb-dev lldb-dev at lists.llvm.org
Thu Apr 19 06:51:00 PDT 2018


Hi lldb developers,

I've been researching using lldb + gdbserver stub that is based on 
Harvard architecture with multiple address spaces (one program, multiple 
data). The commonly adopted approach is that everything is mapped to a 
single "virtual" address space. The stub reads/writes from/to the right 
memory based on the "virtual" addresses. But I'd like to use real 
addresses with address space id instead. So, I've started looking at 
what has to be changed.

I've enhanced read/write commands (e.g. memory read --as <id> ...) and 
RSP protocol (new packet) so that the stub can read/write properly. That 
wasn't that complicated.

Now I've hit an issue with expressions (LLVMUserExpression.cpp) and 
local variables (DWARFExpressions.cpp). There is a lot of memory 
read/write functions that take just an address argument. Is the only way 
to go to patch all these calls? Has anybody solved it differently?

Thanks for any advice.

--
Zdenek



More information about the lldb-dev mailing list