[Lldb-commits] [PATCH] D63868: Unify+fix remote XML libraries handling with the legacy one

Jan Kratochvil via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Thu Jun 27 04:06:21 PDT 2019


jankratochvil created this revision.
jankratochvil added reviewers: aadsm, labath, xiaobai, clayborg.
jankratochvil added a project: LLDB.
Herald added a subscriber: abidh.
jankratochvil marked an inline comment as done.
jankratochvil added inline comments.
jankratochvil retitled this revision from "Unify+fix remote XML libraries handling with legacy one" to "Unify+fix remote XML libraries handling with the legacy one".


================
Comment at: lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DYLDRendezvous.cpp:185
 
-  // If we can't get the SO info from the remote, return failure.
-  if (fromRemote && m_process->LoadModules(module_list) == 0)
+  if (m_current.map_addr == 0)
     return false;
----------------
This change is not really required but I do not see why the `map_addr` check should differ when the remote XML protocol is in use.


D62503 <https://reviews.llvm.org/D62503> broke Fedora 30 x86_64 <https://reviews.llvm.org/D62503#1549874>. That is because it fixed failing `ReadMemory` there and thus enabling to really use the XML libraries protocol which broke LLDB because then `DynamicLoaderPOSIXDYLD::RendezvousBreakpointHit` happens only once and any further library updates are ignored.
So D62503 <https://reviews.llvm.org/D62503> should be reapplied after this fix as it is safe then.
In this patch I do not understand why there should be any special add/remove handling in `ProcessGDBRemote::LoadModules`, it is just a new retrieved list of libraries and loading their modules is handled by later code the same way as it always worked with legacy memory reading from the list at `_r_debug`.
There are some more opportunities how to unify the XML protocol vs. legacy libraries handling but I wanted to first fix this pending regression.


Repository:
  rLLDB LLDB

https://reviews.llvm.org/D63868

Files:
  lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DYLDRendezvous.cpp
  lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D63868.206818.patch
Type: text/x-patch
Size: 4385 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20190627/724be80b/attachment-0001.bin>


More information about the lldb-commits mailing list