I am porting lldb for our DSP architecture, starting with Process (our target does not support the GDB remote protocol) and ABI plugins.
The issue I am facing is that lldb expects the pc to be a byte address, whereas our architecture encodes it as a dword address.
I do the translation from dword to byte pointer in our implementations of RegisterContext::ReadRegister and ABI::FixCodeAddress.
With those modifications, I get the pc in bytes for frame #0. But frame #1 gets a dword pc from the UnwindPlan created by our ABI::CreateDefaultUnwindPlan implementation, and I do not see ABI::FixCodeAddress called for that address.
Are there other places I should modify to ensure that all pc addresses are translated?