[lldb] [POSIX-DYLD] Add libraries from initial eTakeSnapshot action
authorMichał Górny <mgorny@moritz.systems>
Fri, 4 Dec 2020 17:56:46 +0000 (18:56 +0100)
committerMichał Górny <mgorny@moritz.systems>
Mon, 7 Dec 2020 08:56:51 +0000 (09:56 +0100)
commit09b08833f301ea375137931d26b7193101f82ceb
treeb282b2b64af252979078ddd73c891b0041b0d44e
parent1a1cc0ba7db549025ab1a504633ae4554042fd60
[lldb] [POSIX-DYLD] Add libraries from initial eTakeSnapshot action

Explicitly consider the libraries reported on the initial eTakeSnapshot
action added, through adding them to the added soentry list
in DYLDRendezvous::SaveSOEntriesFromRemote().  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 (while Linux issues an added-consistent event pair).

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

Differential Revision: https://reviews.llvm.org/D92187
lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DYLDRendezvous.cpp
lldb/source/Plugins/Process/FreeBSDRemote/NativeProcessFreeBSD.cpp
lldb/test/API/api/multithreaded/TestMultithreaded.py
lldb/test/API/functionalities/breakpoint/global_constructor/TestBreakpointInGlobalConstructor.py
lldb/test/API/functionalities/memory-region/TestMemoryRegion.py
lldb/test/API/tools/lldb-server/TestLldbGdbServer.py
lldb/test/API/tools/lldb-server/libraries-svr4/TestGdbRemoteLibrariesSvr4Support.py
lldb/test/Shell/Unwind/thread-step-out-ret-addr-check.test