Go for it, Michael!

FYI, the x86_64 build of LLDB will have limited success with i386 inferiors, 
but it's a pretty good starting point (i.e. test/functionalities/registers 
passes).  In this case, ptrace calls populate the 64-bit register set, and the 
RegisterContext_x86_64 class uses offsetof to associate the i386 register set 
with the LS bytes of the associated 64-bit registers.  However, this isn't 
correct because "The DWARF and GCC register numbers need to use the i386 
register numbering schemes otherwise all info parsed from EH frame and DWARF 
will be incorrect when they don't match up. - Greg Clayton".

The i386 build of LLDB should use RegisterContext_i386.  Similarly, a future 
remote i386 target should use RegisterContext_i386.  However, this class is 
just stubbed in.

An eventual goal is to abstract a dynamic register set that can be used 
consistently for native local and remote debugging in a platform-independent 
manner.  Also, for core file support across platforms, we'll want a register 
set hierarchy that is distinct from platform dependencies like ProcessMonitor.  
This was implemented for MachO, and Greg provided a skeleton patch for this 
purpose on the lists.  Cheers,


-        Ashok

From: [email protected] [mailto:[email protected]] On 
Behalf Of Michael Sartain
Sent: Friday, August 23, 2013 12:49 AM
To: [email protected]
Subject: [lldb-dev] register read on 32-bit Linux

This is currently calling into the POSIX RegisterContext_x86_64 and returning 
all the 64-bit registers.

I'm guessing this is known already. Curious if someone is already working on 
this or has a plan for fixing it before I jump in?

Thanks!
_______________________________________________
lldb-dev mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev

Reply via email to