summaryrefslogtreecommitdiffstats
path: root/llvm/tools/llvm-cxxdump/llvm-cxxdump.cpp
diff options
context:
space:
mode:
authorJason Molenda <jmolenda@apple.com>2015-09-15 23:20:34 +0000
committerJason Molenda <jmolenda@apple.com>2015-09-15 23:20:34 +0000
commit63bd0db071e92662719934065fbf656587c6d35e (patch)
tree7f8ae8f85d5cd545a395fd2093ed38c7e71edb30 /llvm/tools/llvm-cxxdump/llvm-cxxdump.cpp
parent9677562c8f31459cac6ed15e4036eb19dfdb8d3d (diff)
downloadbcm5719-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
OpenPOWER on IntegriCloud