[all-commits] [llvm/llvm-project] 9bf3e6: [lldb][AArch64] Fix arm64 hardware breakpoint/watc...

b10902118 via All-commits all-commits at lists.llvm.org
Tue Jul 29 02:05:36 PDT 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 9bf3e615a2c6db6e2a00ee2004ebcb21daf1334b
      https://github.com/llvm/llvm-project/commit/9bf3e615a2c6db6e2a00ee2004ebcb21daf1334b
  Author: b10902118 <b10902118 at ntu.edu.tw>
  Date:   2025-07-29 (Tue, 29 Jul 2025)

  Changed paths:
    M lldb/source/Plugins/Process/Linux/CMakeLists.txt
    M lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm.cpp
    M lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm.h
    M lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.cpp
    A lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64dbreg.cpp
    A lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64dbreg.h
    M lldb/source/Plugins/Process/Utility/NativeRegisterContextDBReg.h

  Log Message:
  -----------
  [lldb][AArch64] Fix arm64 hardware breakpoint/watchpoint to arm32 process. (#147198)

When debugging arm32 process on arm64 machine, arm64 lldb-server will
use `NativeRegisterContextLinux_arm`, but the server should keep using
64-bit ptrace commands for hardware watchpoint/breakpoint, even when
debugging a 32-bit tracee.

See:
https://github.com/torvalds/linux/commit/5d220ff9420f8b1689805ba2d938bedf9e0860a4

There have been many conditional compilation handling arm32 tracee on
arm64, but this one is missed out.

To reuse the 64-bit implementation, I separate the shared code from
`NativeRegisterContextLinux_arm64.cpp` to
`NativeRegisterContextLinux_arm64dbreg.cpp`, with other adjustments to
share data structures of debug registers.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list