[all-commits] [llvm/llvm-project] e63760: [lldb] [Process/FreeBSDRemote] Fix handling user-g...

Michał Górny via All-commits all-commits at lists.llvm.org
Tue Nov 10 05:18:31 PST 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: e637602e7ac9bb5721dbe079fa783cee891139b4
      https://github.com/llvm/llvm-project/commit/e637602e7ac9bb5721dbe079fa783cee891139b4
  Author: Michał Górny <mgorny at moritz.systems>
  Date:   2020-11-10 (Tue, 10 Nov 2020)

  Changed paths:
    M lldb/source/Plugins/Process/FreeBSDRemote/NativeProcessFreeBSD.cpp
    M lldb/test/API/functionalities/signal/raise/TestRaise.py

  Log Message:
  -----------
  [lldb] [Process/FreeBSDRemote] Fix handling user-generated SIGTRAP

Update the SIGTRAP handler to account for the possibility of SIGTRAP
being generated by the user, i.e. not having any specific debugging
event associated with it, as well as receiving unknown SIGTRAPs.  These
instances of SIGTRAP are passed to the regular signal handler.

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


  Commit: 194c5accb2be0dab75085f8f5c9c488d1cee7606
      https://github.com/llvm/llvm-project/commit/194c5accb2be0dab75085f8f5c9c488d1cee7606
  Author: Michał Górny <mgorny at moritz.systems>
  Date:   2020-11-10 (Tue, 10 Nov 2020)

  Changed paths:
    M lldb/source/Plugins/Process/FreeBSDRemote/NativeRegisterContextFreeBSD_x86_64.cpp

  Log Message:
  -----------
  [lldb] [Process/FreeBSDRemote] Correct DS/ES/FS/GS register sizes

Fix DS/ES/FS/GS register sizes in getter/setter for FreeBSD.  Apparently
only CS and SS registers are specified as 64/32-bit in LLDB, while
the others are specified as 16-bit.  This fixes the failing
StandardStartupTest.TestStopReplyContainsThreadPcs lldb-server unittest.

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


  Commit: 4c54399b7eaa487e91c32a0d9c2537611c25aee7
      https://github.com/llvm/llvm-project/commit/4c54399b7eaa487e91c32a0d9c2537611c25aee7
  Author: Michał Górny <mgorny at moritz.systems>
  Date:   2020-11-10 (Tue, 10 Nov 2020)

  Changed paths:
    M lldb/source/Plugins/Process/FreeBSDRemote/NativeProcessFreeBSD.cpp
    M lldb/source/Plugins/Process/FreeBSDRemote/NativeRegisterContextFreeBSD.h
    M lldb/source/Plugins/Process/FreeBSDRemote/NativeRegisterContextFreeBSD_x86_64.cpp
    M lldb/source/Plugins/Process/FreeBSDRemote/NativeRegisterContextFreeBSD_x86_64.h
    M lldb/source/Plugins/Process/FreeBSDRemote/NativeThreadFreeBSD.cpp
    M lldb/source/Plugins/Process/FreeBSDRemote/NativeThreadFreeBSD.h
    M lldb/test/API/commands/watchpoints/multiple_threads/TestWatchpointMultipleThreads.py

  Log Message:
  -----------
  [lldb] [Process/FreeBSDRemote] Explicitly copy dbregs to new threads

Explicitly copy dbregs to new threads to ensure that watchpoints
are propagated properly.  Fixes the test failure due to apparent kernel
race between reporting a new thread and resuming main thread execution
that makes implicit inheritance of dbregs unreliable.  By copying them
explicitly, we ensure that the new thread correctly respects watchpoints
that were set after the thread was created but before it was reported.

The code is copied from the NetBSD plugin and modernized to use
llvm::Error.

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


Compare: https://github.com/llvm/llvm-project/compare/a56c79526607...4c54399b7eaa


More information about the All-commits mailing list