[all-commits] [llvm/llvm-project] f7ec3e: [lldb] Skip overlapping hardware and external brea...

Tatyana Krasnukha via All-commits all-commits at lists.llvm.org
Wed Jul 29 11:27:53 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: f7ec3e3be70d10a630ac22c64073a845b168c829
      https://github.com/llvm/llvm-project/commit/f7ec3e3be70d10a630ac22c64073a845b168c829
  Author: Tatyana Krasnukha <tatyana at synopsys.com>
  Date:   2020-07-29 (Wed, 29 Jul 2020)

  Changed paths:
    M lldb/source/Breakpoint/BreakpointSite.cpp
    M lldb/source/Target/Process.cpp
    A lldb/test/API/functionalities/breakpoint/hardware_breakpoints/write_memory_with_hw_breakpoint/Makefile
    A lldb/test/API/functionalities/breakpoint/hardware_breakpoints/write_memory_with_hw_breakpoint/TestWriteMemoryWithHWBreakpoint.py
    A lldb/test/API/functionalities/breakpoint/hardware_breakpoints/write_memory_with_hw_breakpoint/main.cpp

  Log Message:
  -----------
  [lldb] Skip overlapping hardware and external breakpoints when writing memory

This fixes the assertion `assert(intersects);` in the Process::WriteMemory function.

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


  Commit: b352e62feadd0aabaa7373b6fb40701f00a6aa91
      https://github.com/llvm/llvm-project/commit/b352e62feadd0aabaa7373b6fb40701f00a6aa91
  Author: Tatyana Krasnukha <tatyana at synopsys.com>
  Date:   2020-07-29 (Wed, 29 Jul 2020)

  Changed paths:
    M lldb/source/Plugins/Process/FreeBSD/ProcessFreeBSD.cpp
    M lldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDP.cpp
    M lldb/source/Plugins/Process/Windows/Common/ProcessWindows.cpp
    M lldb/test/API/functionalities/breakpoint/hardware_breakpoints/require_hw_breakpoints/TestRequireHWBreakpoints.py

  Log Message:
  -----------
  [lldb] Make process plugins check whether a hardware breakpoint is required

Remove @skipIfWindows as process should report the error correctly on Windows now.

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


  Commit: ebaa8b1c60749883c6449a7c16096f1c40ccf4bc
      https://github.com/llvm/llvm-project/commit/ebaa8b1c60749883c6449a7c16096f1c40ccf4bc
  Author: Tatyana Krasnukha <tatyana at synopsys.com>
  Date:   2020-07-29 (Wed, 29 Jul 2020)

  Changed paths:
    M lldb/include/lldb/Breakpoint/BreakpointLocation.h
    M lldb/include/lldb/Breakpoint/BreakpointSite.h
    M lldb/include/lldb/Breakpoint/StoppointLocation.h
    M lldb/source/Breakpoint/BreakpointLocation.cpp
    M lldb/source/Breakpoint/Watchpoint.cpp
    M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
    M lldb/test/API/functionalities/breakpoint/hardware_breakpoints/hardware_breakpoint_on_multiple_threads/TestHWBreakMultiThread.py

  Log Message:
  -----------
  [lldb] Don't use hardware index to determine whether a breakpoint site is hardware

Most process plugins (if not all) don't set hardware index for breakpoints. They even
are not able to determine this index.

This patch makes StoppointLocation::IsHardware pure virtual and lets BreakpointSite
override it using more accurate BreakpointSite::Type.

It also adds assertions to be sure that a breakpoint site is hardware when this is required.

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


Compare: https://github.com/llvm/llvm-project/compare/59fac51ff24e...ebaa8b1c6074


More information about the All-commits mailing list