diff --git a/lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DYLDRendezvous.cpp b/lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DYLDRendezvous.cpp index 15b3805003a58b..c06d640c654c3c 100644 --- a/lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DYLDRendezvous.cpp +++ b/lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DYLDRendezvous.cpp @@ -295,8 +295,15 @@ bool DYLDRendezvous::SaveSOEntriesFromRemote( return false; // Only add shared libraries and not the executable. - if (!SOEntryIsMainExecutable(entry)) + if (!SOEntryIsMainExecutable(entry)) { m_soentries.push_back(entry); + // This function is called only once, at the very beginning + // of the program. Make sure to add all soentries that are + // already present at this point. This is necessary to cover + // DT_NEEDED on FreeBSD since (unlike Linux) it does not report + // loading these libraries separately. + m_added_soentries.push_back(entry); + } } m_loaded_modules = module_list; diff --git a/lldb/source/Plugins/Process/FreeBSDRemote/NativeProcessFreeBSD.cpp b/lldb/source/Plugins/Process/FreeBSDRemote/NativeProcessFreeBSD.cpp index fd3c05ab411ead..b8ddd1a013e32e 100644 --- a/lldb/source/Plugins/Process/FreeBSDRemote/NativeProcessFreeBSD.cpp +++ b/lldb/source/Plugins/Process/FreeBSDRemote/NativeProcessFreeBSD.cpp @@ -485,9 +485,6 @@ 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"); diff --git a/lldb/test/API/api/multithreaded/TestMultithreaded.py b/lldb/test/API/api/multithreaded/TestMultithreaded.py index c6c75de386fa9a..60c2c3b372cb34 100644 --- a/lldb/test/API/api/multithreaded/TestMultithreaded.py +++ b/lldb/test/API/api/multithreaded/TestMultithreaded.py @@ -31,7 +31,6 @@ def setUp(self): @skipIfNoSBHeaders # clang-cl does not support throw or catch (llvm.org/pr24538) @skipIfWindows - @expectedFailureAll(oslist=['freebsd'], bugnumber='llvm.org/pr48370') def test_python_stop_hook(self): """Test that you can run a python command in a stop-hook when stdin is File based. """ self.build_and_test('driver.cpp test_stop-hook.cpp', diff --git a/lldb/test/API/functionalities/breakpoint/global_constructor/TestBreakpointInGlobalConstructor.py b/lldb/test/API/functionalities/breakpoint/global_constructor/TestBreakpointInGlobalConstructor.py index 81c3798ebba74b..4439607d91cfca 100644 --- a/lldb/test/API/functionalities/breakpoint/global_constructor/TestBreakpointInGlobalConstructor.py +++ b/lldb/test/API/functionalities/breakpoint/global_constructor/TestBreakpointInGlobalConstructor.py @@ -15,7 +15,6 @@ class TestBreakpointInGlobalConstructors(TestBase): mydir = TestBase.compute_mydir(__file__) NO_DEBUG_INFO_TESTCASE = True - @expectedFailureAll(oslist=["freebsd"], bugnumber='llvm.org/pr48373') @expectedFailureNetBSD def test(self): self.build() diff --git a/lldb/test/API/functionalities/memory-region/TestMemoryRegion.py b/lldb/test/API/functionalities/memory-region/TestMemoryRegion.py index 36984b3d1666c0..61e64d44e79451 100644 --- a/lldb/test/API/functionalities/memory-region/TestMemoryRegion.py +++ b/lldb/test/API/functionalities/memory-region/TestMemoryRegion.py @@ -23,7 +23,6 @@ def setUp(self): 'main.cpp', '// Run here before printing memory regions') - @expectedFailureAll(oslist=["freebsd"]) def test(self): self.build() diff --git a/lldb/test/API/tools/lldb-server/TestLldbGdbServer.py b/lldb/test/API/tools/lldb-server/TestLldbGdbServer.py index c3b45c833d53f2..8a9b7187a7168e 100644 --- a/lldb/test/API/tools/lldb-server/TestLldbGdbServer.py +++ b/lldb/test/API/tools/lldb-server/TestLldbGdbServer.py @@ -843,7 +843,6 @@ def test_qMemoryRegionInfo_is_supported_debugserver(self): self.qMemoryRegionInfo_is_supported() @llgs_test - @expectedFailureAll(oslist=["freebsd"]) def test_qMemoryRegionInfo_is_supported_llgs(self): self.init_llgs_test() self.build() @@ -908,7 +907,6 @@ def test_qMemoryRegionInfo_reports_code_address_as_executable_debugserver( self.qMemoryRegionInfo_reports_code_address_as_executable() @skipIfWindows # No pty support to test any inferior output - @expectedFailureAll(oslist=["freebsd"]) @llgs_test def test_qMemoryRegionInfo_reports_code_address_as_executable_llgs(self): self.init_llgs_test() @@ -975,7 +973,6 @@ def test_qMemoryRegionInfo_reports_stack_address_as_readable_writeable_debugserv self.qMemoryRegionInfo_reports_stack_address_as_readable_writeable() @skipIfWindows # No pty support to test any inferior output - @expectedFailureAll(oslist=["freebsd"]) @llgs_test def test_qMemoryRegionInfo_reports_stack_address_as_readable_writeable_llgs( self): @@ -1042,7 +1039,6 @@ def test_qMemoryRegionInfo_reports_heap_address_as_readable_writeable_debugserve self.qMemoryRegionInfo_reports_heap_address_as_readable_writeable() @skipIfWindows # No pty support to test any inferior output - @expectedFailureAll(oslist=["freebsd"]) @llgs_test def test_qMemoryRegionInfo_reports_heap_address_as_readable_writeable_llgs( self): diff --git a/lldb/test/API/tools/lldb-server/libraries-svr4/TestGdbRemoteLibrariesSvr4Support.py b/lldb/test/API/tools/lldb-server/libraries-svr4/TestGdbRemoteLibrariesSvr4Support.py index 6cca0e6c50fa3e..902a17639d56a0 100644 --- a/lldb/test/API/tools/lldb-server/libraries-svr4/TestGdbRemoteLibrariesSvr4Support.py +++ b/lldb/test/API/tools/lldb-server/libraries-svr4/TestGdbRemoteLibrariesSvr4Support.py @@ -120,7 +120,7 @@ def test_libraries_svr4_well_formed(self): @llgs_test @skipUnlessPlatform(["linux", "android", "freebsd", "netbsd"]) - @expectedFailureAll(oslist=["freebsd", "netbsd"]) + @expectedFailureNetBSD def test_libraries_svr4_load_addr(self): self.setup_test() self.libraries_svr4_has_correct_load_addr() diff --git a/lldb/test/Shell/Unwind/thread-step-out-ret-addr-check.test b/lldb/test/Shell/Unwind/thread-step-out-ret-addr-check.test index 113922ef53b7ba..682b0e5332b1c5 100644 --- a/lldb/test/Shell/Unwind/thread-step-out-ret-addr-check.test +++ b/lldb/test/Shell/Unwind/thread-step-out-ret-addr-check.test @@ -3,7 +3,6 @@ # REQUIRES: target-x86_64 # UNSUPPORTED: system-windows -# XFAIL: system-freebsd # RUN: %clang_host %p/Inputs/call-asm.c -x assembler-with-cpp %p/Inputs/thread-step-out-ret-addr-check.s -o %t # RUN: not %lldb %t -s %s -b 2>&1 | FileCheck %s