Ok thanks, that makes sense (well, kinda).
Malea, Daniel wrote:
We use the host arch to determine which register context to create because
that's the way ptrace behaves -- if ptrace is called from a 64-bit application
(LLDB) it fills a 64-bit register structure regardless of the architecture of
the inferior. LLDB internally then converts this to 32-bit regs as needed based
on the target arch. At least that's my understanding...
That's not to say there might not be a better way to do this; I believe there
was a thread about this topic not too long ago.
Cheers,
Dan
On 2013-07-26, at 9:12 PM, "Richard Mitton"<[email protected]> wrote:
I'm puzzled by a few uses of amd64 vs. 386 register contexts.
In POSIXThread::GetRegisterName (and a few other places in that file) it reads
the host architecture in order to decide what kind of context to create. Is
this right? Surely it should be using the target's architecture instead?
And in RegisterContext_x86_64::ConvertRegisterKindToRegisterNumber, it switches
based on the target's architecture. But surely the target's architecture _has_
to be eCore_x86_64_x86_64, otherwise we wouldn't have created a 64-bit register
context?
Please let me know if I'm just misunderstanding how it should work :-)
--
Richard Mitton
[email protected]
_______________________________________________
lldb-dev mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev
_______________________________________________
lldb-dev mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev