[all-commits] [llvm/llvm-project] d6d3d2: [LLDB] Add support for Arm64/Linux dynamic registe...

Muhammad Omair Javaid via All-commits all-commits at lists.llvm.org
Tue Mar 30 16:39:55 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: d6d3d21cd1cb1567eaf7ff8c0867b07227a19d99
      https://github.com/llvm/llvm-project/commit/d6d3d21cd1cb1567eaf7ff8c0867b07227a19d99
  Author: Muhammad Omair Javaid <omair.javaid at linaro.org>
  Date:   2021-03-31 (Wed, 31 Mar 2021)

  Changed paths:
    M lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.cpp
    M lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.h
    M lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_arm64.cpp
    M lldb/source/Plugins/Process/Utility/RegisterInfoPOSIX_arm64.cpp
    M lldb/source/Plugins/Process/Utility/RegisterInfoPOSIX_arm64.h
    M lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_arm64.cpp
    M lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_arm64.h
    M lldb/source/Plugins/Process/elf-core/ThreadElfCore.cpp

  Log Message:
  -----------
  [LLDB] Add support for Arm64/Linux dynamic register sets

This is patch adds support for adding dynamic register sets for
AArch64 dynamic features in LLDB. AArch64 has optional features like
SVE, Pointer Authentication and MTE which means LLDB needs to decide
at run time which registers it needs to pull in for the current
executable based on underlying support for a certain feature.

This patch makes necessary adjustments to make way for dynamic
register infos and dynamic register sets.

Reviewed By: labath

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


  Commit: 1164b4e2957290e814c3dd781a68e504dd39148e
      https://github.com/llvm/llvm-project/commit/1164b4e2957290e814c3dd781a68e504dd39148e
  Author: Muhammad Omair Javaid <omair.javaid at linaro.org>
  Date:   2021-03-31 (Wed, 31 Mar 2021)

  Changed paths:
    M lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.cpp
    M lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.h
    M lldb/source/Plugins/Process/Linux/NativeThreadLinux.h
    M lldb/source/Plugins/Process/POSIX/NativeProcessELF.h
    M lldb/source/Plugins/Process/Utility/RegisterInfoPOSIX_arm64.cpp
    M lldb/source/Plugins/Process/Utility/RegisterInfoPOSIX_arm64.h
    M lldb/source/Plugins/Process/Utility/RegisterInfos_arm64.h

  Log Message:
  -----------
  [LLDB] Arm64/Linux Add MTE and Pointer Authentication registers

This patch adds two new dynamic register sets for AArch64 MTE and
Pointer Authentication features. These register sets are dynamic and
will only be available if underlying hardware support either of these
features. LLDB will pull in Aux vector information and create register
infos based on that information.

A follow up patch will add a test case to test these feature registers.

Reviewed By: labath, DavidSpickett

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


  Commit: 9ab677180091a690cd99d4ac55d5fb9e1149b1ec
      https://github.com/llvm/llvm-project/commit/9ab677180091a690cd99d4ac55d5fb9e1149b1ec
  Author: Muhammad Omair Javaid <omair.javaid at linaro.org>
  Date:   2021-03-31 (Wed, 31 Mar 2021)

  Changed paths:
    M lldb/packages/Python/lldbsuite/test/lldbtest.py
    A lldb/test/API/commands/register/register/aarch64_dynamic_regset/Makefile
    A lldb/test/API/commands/register/register/aarch64_dynamic_regset/TestArm64DynamicRegsets.py
    A lldb/test/API/commands/register/register/aarch64_dynamic_regset/main.c

  Log Message:
  -----------
  [LLDB] Arm64/Linux test case for MTE and Pointer Authentication regset

This patch adds a test case to test AArch64 dynamic register sets.
This tests for the availability of certain register sets and query
their registers accordingly.

Reviewed By: labath, DavidSpickett

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


Compare: https://github.com/llvm/llvm-project/compare/144ec1c38ef1...9ab677180091


More information about the All-commits mailing list