[all-commits] [llvm/llvm-project] bcfe5a: [lldb] Add register field tables to the "register ...

David Spickett via All-commits all-commits at lists.llvm.org
Wed Jun 21 03:50:46 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: bcfe5a52a39dee6d50d5e2410863fc555d2f50a8
      https://github.com/llvm/llvm-project/commit/bcfe5a52a39dee6d50d5e2410863fc555d2f50a8
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2023-06-21 (Wed, 21 Jun 2023)

  Changed paths:
    M lldb/include/lldb/Core/DumpRegisterInfo.h
    M lldb/source/Commands/CommandObjectRegister.cpp
    M lldb/source/Core/DumpRegisterInfo.cpp
    M lldb/test/API/commands/register/register/register_command/TestRegisters.py
    M lldb/test/API/functionalities/gdb_remote_client/TestXMLRegisterFlags.py
    M lldb/unittests/Core/DumpRegisterInfoTest.cpp

  Log Message:
  -----------
  [lldb] Add register field tables to the "register info" command

This teaches DumpRegisterInfo to generate a table from the register
flags type. It just calls a method on RegisterFlags.

As such, the extra tests are minimal and only show that the intergration
works. Exhaustive formatting tests are done with RegisterFlags itself.

Example:
```
(lldb) register info cpsr
       Name: cpsr
       Size: 4 bytes (32 bits)
    In sets: general (index 0)

| 31 | 30 | 29 | 28 | 27-26 | 25  | 24  | 23  | 22  | 21 | 20 | 19-13 |  12  | 11-10 | 9 | 8 | 7 | 6 | 5 |  4  | 3-2 | 1 | 0  |
|----|----|----|----|-------|-----|-----|-----|-----|----|----|-------|------|-------|---|---|---|---|---|-----|-----|---|----|
| N  | Z  | C  | V  |       | TCO | DIT | UAO | PAN | SS | IL |       | SSBS |       | D | A | I | F |   | nRW | EL  |   | SP |
```

LLDB limits the max terminal width to 80 chars by default.
So to get that full width output you will need to change the "term-width"
setting to something higher.

Reviewed By: jasonmolenda

Differential Revision: https://reviews.llvm.org/D152918




More information about the All-commits mailing list