mgorny created this revision. mgorny added reviewers: krytarowski, emaste, labath. Herald added a subscriber: arichardson. mgorny requested review of this revision.
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. https://reviews.llvm.org/D90650 Files: lldb/source/Plugins/Process/FreeBSDRemote/NativeProcessFreeBSD.cpp Index: lldb/source/Plugins/Process/FreeBSDRemote/NativeProcessFreeBSD.cpp =================================================================== --- lldb/source/Plugins/Process/FreeBSDRemote/NativeProcessFreeBSD.cpp +++ lldb/source/Plugins/Process/FreeBSDRemote/NativeProcessFreeBSD.cpp @@ -447,6 +447,9 @@ 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");
Index: lldb/source/Plugins/Process/FreeBSDRemote/NativeProcessFreeBSD.cpp =================================================================== --- lldb/source/Plugins/Process/FreeBSDRemote/NativeProcessFreeBSD.cpp +++ lldb/source/Plugins/Process/FreeBSDRemote/NativeProcessFreeBSD.cpp @@ -447,6 +447,9 @@ 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");
_______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits