Please don't change GDBRemoteDynamicRegisterInfo::HardcodeARMRegisters(). The 
ABI registers looks similar but there are major difference and many registers 
are completely different. Also the copy you removed had all of the 
RegisterInfo.value_regs fields filled in correctly.

The hardcode ARM registers was only ever supposed to work for legacy iOS 
"debugserver" binaries and are very specific and describe the exact data layout 
of the registers from these legacy debugserver binaries.

The correct way to support a target that doesn't report its own registers is to 
create a target definition a python file. See examples in:

http://llvm.org/svn/llvm-project/lldb/trunk/examples/python/x86_64_linux_target_definition.py
http://llvm.org/svn/llvm-project/lldb/trunk/examples/python/x86_64_qemu_target_definition.py
http://llvm.org/svn/llvm-project/lldb/trunk/examples/python/x86_64_target_definition.py

Then you can set the target definition file using:

(lldb) settings set plugin.process.gdb-remote.target-definition-file 
/path/to/foo_target_definiton.py

The ABI will never know the exact layout of registers for any GDB server that 
might be used and is the wrong place to define registers. It can know about 
DWARF registers and it is currently only used to try and dump debug info that 
has DWARF or compiler register numbers in them.

The patch should not be committed.

Greg


> On Jul 25, 2014, at 10:25 AM, Deepak Panickal <[email protected]> wrote:
> 
> Abid,
> 
> You're right. That should be replaced to looping through registers one by one 
> and marking them valid.
> I'll modify it.
> 
> Thanks,
> Deepak Panickal
> 
> http://reviews.llvm.org/D4669
> 
> 
> 
> _______________________________________________
> lldb-commits mailing list
> [email protected]
> http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits

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

Reply via email to