[all-commits] [llvm/llvm-project] 8666b9: [lldb] [POSIX-DYLD] Add libraries from initial ren...

Michał Górny via All-commits all-commits at lists.llvm.org
Thu Dec 17 00:31:55 PST 2020


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 8666b9057f23badfe90548297f3c01937daa4a9c
      https://github.com/llvm/llvm-project/commit/8666b9057f23badfe90548297f3c01937daa4a9c
  Author: Michał Górny <mgorny at moritz.systems>
  Date:   2020-12-17 (Thu, 17 Dec 2020)

  Changed paths:
    M lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.cpp
    M lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.h
    M lldb/source/Plugins/Process/FreeBSDRemote/NativeProcessFreeBSD.cpp
    M lldb/test/API/api/multithreaded/TestMultithreaded.py
    M lldb/test/API/functionalities/breakpoint/global_constructor/TestBreakpointInGlobalConstructor.py
    M lldb/test/API/functionalities/memory-region/TestMemoryRegion.py
    M lldb/test/API/tools/lldb-server/TestLldbGdbServer.py
    M lldb/test/API/tools/lldb-server/libraries-svr4/TestGdbRemoteLibrariesSvr4Support.py
    M lldb/test/Shell/Unwind/thread-step-out-ret-addr-check.test

  Log Message:
  -----------
  [lldb] [POSIX-DYLD] Add libraries from initial rendezvous brkpt hit

Explicitly consider the libraries reported on the initial rendezvous
breakpoint hit added.  This is necessary on FreeBSD since the dynamic
loader issues only a single 'consistent' state rendezvous breakpoint hit
for all the libraries present in DT_NEEDED.  It is also helpful on Linux
where it ensures that ld-linux is considered loaded as well
as the shared system libraries reported afterwards.

Reenable memory maps on FreeBSD since this fixed the issue triggered
by them.

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


  Commit: dbfdb139f75470a9abc78e7c9faf743fdd963c2d
      https://github.com/llvm/llvm-project/commit/dbfdb139f75470a9abc78e7c9faf743fdd963c2d
  Author: Michał Górny <mgorny at moritz.systems>
  Date:   2020-12-17 (Thu, 17 Dec 2020)

  Changed paths:
    M lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DYLDRendezvous.cpp
    M lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DYLDRendezvous.h
    M lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.cpp
    M lldb/test/API/commands/process/attach/TestProcessAttach.py
    M lldb/test/API/commands/process/attach/main.cpp

  Log Message:
  -----------
  [lldb] [POSIX-DYLD] Update the cached exe path after attach

Fix the POSIX-DYLD plugin to update the cached executable path after
attaching.  Previously, the path was cached in DYLDRendezvous
constructor and not updated afterwards.  This meant that if LLDB was
attaching to a process (e.g. via connecting to lldb-server), the code
stored the empty path before DidAttach() resolved it.  The fix updates
the cached path in DidAttach().

This fixes a new instance of https://llvm.org/pr17880

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


Compare: https://github.com/llvm/llvm-project/compare/96076a2edbd6...dbfdb139f754


More information about the All-commits mailing list