diff options
author | Jason Molenda <jmolenda@apple.com> | 2015-09-15 23:20:34 +0000 |
---|---|---|
committer | Jason Molenda <jmolenda@apple.com> | 2015-09-15 23:20:34 +0000 |
commit | 63bd0db071e92662719934065fbf656587c6d35e (patch) | |
tree | 7f8ae8f85d5cd545a395fd2093ed38c7e71edb30 /llvm/tools/llvm-cxxdump/llvm-cxxdump.cpp | |
parent | 9677562c8f31459cac6ed15e4036eb19dfdb8d3d (diff) | |
download | bcm5719-llvm-63bd0db071e92662719934065fbf656587c6d35e.tar.gz bcm5719-llvm-63bd0db071e92662719934065fbf656587c6d35e.zip |
Clean up register naming conventions inside lldb.
"gcc" register numbers are now correctly referred to as "ehframe"
register numbers. In almost all cases, ehframe and dwarf register
numbers are identical (the one exception is i386 darwin where ehframe
regnums were incorrect).
The old "gdb" register numbers, which I incorrectly thought were
stabs register numbers, are now referred to as "Process Plugin"
register numbers. This is the register numbering scheme that the
remote process controller stub (lldb-server, gdbserver, core file
support, kdp server, remote jtag devices, etc) uses to refer to the
registers. The process plugin register numbers may not be contiguous
- there are remote jtag devices that have gaps in their register
numbering schemes.
I removed all of the enums for "gdb" register numbers that we had
in lldb - these were meaningless - and I put LLDB_INVALID_REGNUM
in all of the register tables for the Process Plugin regnum slot.
This change is almost entirely mechnical; the one actual change in
here is to ProcessGDBRemote.cpp's ParseRegisters() which parses the
qXfer:features:read:target.xml response. As it parses register
definitions from the xml, it will assign sequential numbers as the
eRegisterKindLLDB numbers (the lldb register numberings must be
sequential, without any gaps) and if the xml file specifies register
numbers, those will be used as the eRegisterKindProcessPlugin
register numbers (and those may have gaps). A J-Link jtag device's
target.xml does contain a gap in register numbers, and it only
specifies the register numbers for the registers after that gap.
The device supports many different ARM boards and probably selects
different part of its register file as appropriate.
http://reviews.llvm.org/D12791
<rdar://problem/22623262>
llvm-svn: 247741
Diffstat (limited to 'llvm/tools/llvm-cxxdump/llvm-cxxdump.cpp')
0 files changed, 0 insertions, 0 deletions