jimingham wrote:
This introduces one non-obvious difference between Process Plugins that say
they use the memory cache and ones that don't. If you don't use the memory
cache, we call DoReadMemory directly. But if you say you do we actually call
ReadMemoryFromInferior. Most of that is chunking up for the memory cache, but
it also does:
if (ABISP abi_sp = GetABI())
addr = abi_sp->FixAnyAddress(addr);
before using the address. If you don't use the memory cache you get handed the
unfixed address That's not at all obvious.
It looks like all the other ReadMemory overloads call Process::FixAnyAddress
before using the address (that's identical to the code inlined in
ReadMemoryFromInferior above). So maybe we should define DoReadMemory to pass
the fixed address? Or if we don't want to do that, we should pass the
DoReadMemory calls in ReadMemoryFromInferior that unfixed value so everyone
gets unfixed values.
https://github.com/llvm/llvm-project/pull/217148
_______________________________________________
lldb-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits