================ @@ -1450,6 +1450,14 @@ class Process : public std::enable_shared_from_this<Process>, /// platforms where there is a difference (only Arm Thumb at this time). lldb::addr_t FixAnyAddress(lldb::addr_t pc); + /// Some targets might use bits in a code address to represent additional + /// information; for example WebAssembly targets have a different memory space + /// per module and have a different address space per memory and code. + virtual lldb::addr_t FixMemoryAddress(lldb::addr_t address, ---------------- paolosevMSFT wrote:
I thought to add a new function because `Process::FixCodeAddress`, `Process::FixDataAddress`, `Process::FixAnyAddress` by default forward the call to `ABI::FixCodeAddress`, `ABI::FixDataAddress`, `ABI::FixAnyAddress`, which are implemented by plugin-specific ABIs like `ABISysV_arm`, `ABIMacOSX_arm`. But here we are not really dealing with a different ABI, it is more a custom representation of Wasm memory addresses used between the debugger and the Wasm engine. If you prefer, we could reuse `Process::FixAnyAddress`, making it virtual and overriding it in `ProcessWasm`. https://github.com/llvm/llvm-project/pull/77949 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits