[Lldb-commits] [lldb] 952ddc9 - [lldb] [Plugins/FreeBSDRemote] Disable GetMemoryRegionInfo()

Michał Górny via lldb-commits lldb-commits at lists.llvm.org
Tue Nov 3 00:46:37 PST 2020


Author: Michał Górny
Date: 2020-11-03T09:45:51+01:00
New Revision: 952ddc9866dc761e29757c262ce28ca0fa9431ed

URL: https://github.com/llvm/llvm-project/commit/952ddc9866dc761e29757c262ce28ca0fa9431ed
DIFF: https://github.com/llvm/llvm-project/commit/952ddc9866dc761e29757c262ce28ca0fa9431ed.diff

LOG: [lldb] [Plugins/FreeBSDRemote] Disable GetMemoryRegionInfo()

Disable GetMemoryRegionInfo() in order to unbreak expression parsing.
For some reason, the presence of non-stub function causes LLDB to fail
to detect system libraries correctly.  Through being unable to find
mmap() and allocate memory, this leads to expression parser being
broken.

The issue is non-trivial and it is going to require more time debugging.
On the other hand, the downsides of missing the function are minimal
(2 failing tests), and the benefit of working expression parser
justifies disabling it temporarily.  Furthermore, the old FreeBSD plugin
did not implement it anyway, so it allows us to switch to the new plugin
without major regressions.

The really curious part is that the respective code in the NetBSD plugin
yields very similar results, yet does not seem to break the expression
parser.

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

Added: 
    

Modified: 
    lldb/source/Plugins/Process/FreeBSDRemote/NativeProcessFreeBSD.cpp

Removed: 
    


################################################################################
diff  --git a/lldb/source/Plugins/Process/FreeBSDRemote/NativeProcessFreeBSD.cpp b/lldb/source/Plugins/Process/FreeBSDRemote/NativeProcessFreeBSD.cpp
index ec056b3a602c..2c22f1101597 100644
--- a/lldb/source/Plugins/Process/FreeBSDRemote/NativeProcessFreeBSD.cpp
+++ b/lldb/source/Plugins/Process/FreeBSDRemote/NativeProcessFreeBSD.cpp
@@ -447,6 +447,9 @@ Status NativeProcessFreeBSD::Kill() {
 Status NativeProcessFreeBSD::GetMemoryRegionInfo(lldb::addr_t load_addr,
                                                  MemoryRegionInfo &range_info) {
 
+  // TODO: figure out why it breaks stuff
+  return Status("currently breaks determining module list");
+
   if (m_supports_mem_region == LazyBool::eLazyBoolNo) {
     // We're done.
     return Status("unsupported");


        


More information about the lldb-commits mailing list