<html>
    <head>
      <base href="https://bugs.llvm.org/">
    </head>
    <body><table border="1" cellspacing="0" cellpadding="8">
        <tr>
          <th>Bug ID</th>
          <td><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - LLDB needs a better way of expressing unavailable registers (test_register_commands failure)"
   href="https://bugs.llvm.org/show_bug.cgi?id=48371">48371</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>LLDB needs a better way of expressing unavailable registers (test_register_commands failure)
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>lldb
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>unspecified
          </td>
        </tr>

        <tr>
          <th>Hardware</th>
          <td>PC
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>Linux
          </td>
        </tr>

        <tr>
          <th>Status</th>
          <td>NEW
          </td>
        </tr>

        <tr>
          <th>Severity</th>
          <td>enhancement
          </td>
        </tr>

        <tr>
          <th>Priority</th>
          <td>P
          </td>
        </tr>

        <tr>
          <th>Component</th>
          <td>All Bugs
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>lldb-dev@lists.llvm.org
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>mgorny@gentoo.org
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>emaste@freebsd.org, jdevlieghere@apple.com, llvm-bugs@lists.llvm.org
          </td>
        </tr></table>
      <p>
        <div>
        <pre>LLDB can currently only hide unavailable registers via manipulating the global
register count, i.e. hide the last registers on the list.  This doesn't work
for FreeBSD and NetBSD, and could also be problematic as new CPUs emerge (or
possibly already is).

Unavailable registers not being hidden cause test_register_commands to fail:

FAIL: test_register_commands (TestRegisters.RegisterCommandsTestCase)
   Test commands related to registers, in particular vector registers.
----------------------------------------------------------------------
Traceback (most recent call last):
  File
"/usr/home/mgorny/llvm-project/lldb/packages/Python/lldbsuite/test/decorators.py",
line 136, in wrapper
    return func(*args, **kwargs)
  File
"/usr/home/mgorny/llvm-project/lldb/packages/Python/lldbsuite/test/decorators.py",
line 136, in wrapper
    return func(*args, **kwargs)
  File
"/usr/home/mgorny/llvm-project/lldb/test/API/commands/register/register/register_command/TestRegisters.py",
line 41, in test_register_commands
    substrs=['registers were unavailable'], matching=False)
  File
"/usr/home/mgorny/llvm-project/lldb/packages/Python/lldbsuite/test/lldbtest.py",
line 2573, in expect
    self.fail(log_msg)
AssertionError: Ran command:
"register read -a"

Got output:
General Purpose Registers:
[...]

Memory Protection Extensions:
6 registers were unavailable.

[...]


Not expecting sub string: "registers were unavailable" (was found)
At least one expected register is unavailable.
Config=x86_64-/home/mgorny/llvm-project/_build/bin/clang</pre>
        </div>
      </p>


      <hr>
      <span>You are receiving this mail because:</span>

      <ul>
          <li>You are the assignee for the bug.</li>
      </ul>
    </body>
</html>