[all-commits] [llvm/llvm-project] 2b8db3: [lldb] Move register info "augmentation" from gdb-...

Pavel Labath via All-commits all-commits at lists.llvm.org
Tue Dec 3 02:41:36 PST 2019


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 2b8db387f2a616f39a077ede18c6366f2ea9f203
      https://github.com/llvm/llvm-project/commit/2b8db387f2a616f39a077ede18c6366f2ea9f203
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2019-12-03 (Tue, 03 Dec 2019)

  Changed paths:
    M lldb/include/lldb/Target/ABI.h
    M lldb/packages/Python/lldbsuite/test/functionalities/gdb_remote_client/TestTargetXMLArch.py
    A lldb/packages/Python/lldbsuite/test/functionalities/gdb_remote_client/basic_eh_frame.yaml
    M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
    M lldb/source/Target/ABI.cpp

  Log Message:
  -----------
  [lldb] Move register info "augmentation" from gdb-remote into ABI

Summary:
Previously the ABI plugin exposed some "register infos" and the
gdb-remote code used those to fill in the missing bits. Now, the
"filling in" code is in the ABI plugin itself, and the gdb-remote code
just invokes that.

The motivation for this is two-fold:
a) the "augmentation" logic is useful outside of process gdb-remote. For
  instance, it would allow us to avoid repeating the register number
  definitions in minidump code.
b) It gives more implementation freedom to the ABI classes. Now that
  these "register infos" are essentially implementation details, classes
  can use other methods to obtain dwarf/eh_frame register numbers -- for
  instance they can consult llvm MC layer.

Since the augmentation code was not currently tested anywhere, I took
the opportunity to create a simple test for it.

Reviewers: jasonmolenda, clayborg, tatyana-krasnukha

Subscribers: aprantl, lldb-commits

Tags: #lldb

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




More information about the All-commits mailing list