[all-commits] [llvm/llvm-project] 5e6aab: Support AArch64/Linux watchpoint on tagged addresses

Muhammad Omair Javaid via All-commits all-commits at lists.llvm.org
Sun Jul 11 19:39:52 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 5e6aabd48e351cf2632c25cb8bdfd0598a5019a6
      https://github.com/llvm/llvm-project/commit/5e6aabd48e351cf2632c25cb8bdfd0598a5019a6
  Author: Muhammad Omair Javaid <omair.javaid at linaro.org>
  Date:   2021-07-12 (Mon, 12 Jul 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/NativeRegisterContextDBReg_arm64.cpp
    M lldb/source/Plugins/Process/Utility/NativeRegisterContextDBReg_arm64.h
    M lldb/source/Target/Target.cpp
    A lldb/test/API/commands/watchpoints/watch_tagged_addr/Makefile
    A lldb/test/API/commands/watchpoints/watch_tagged_addr/TestWatchTaggedAddress.py
    A lldb/test/API/commands/watchpoints/watch_tagged_addr/main.c

  Log Message:
  -----------
  Support AArch64/Linux watchpoint on tagged addresses

AArch64 architecture support virtual addresses with some of the top bits ignored.
These ignored bits can host memory tags or bit masks that can serve to check for
authentication of address integrity. We need to clear away the top ignored bits
from watchpoint address to reliably hit and set watchpoints on addresses
containing tags or masks in their top bits.

This patch adds support to watch tagged addresses on AArch64/Linux.

Reviewed By: DavidSpickett

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




More information about the All-commits mailing list