[Lldb-commits] [lldb] b19d3b0 - Revert "Make sure the interpreter module was loaded before making checks against it"

António Afonso via lldb-commits lldb-commits at lists.llvm.org
Sun Feb 21 10:39:05 PST 2021


Author: António Afonso
Date: 2021-02-21T10:38:25-08:00
New Revision: b19d3b092d4ea019dfc52501bb96b0008d4e01d2

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

LOG: Revert "Make sure the interpreter module was loaded before making checks against it"

This reverts commit a83a825e9902b54b315870e9ed85723525208f09.

Added: 
    

Modified: 
    lldb/packages/Python/lldbsuite/test/decorators.py
    lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.cpp

Removed: 
    lldb/test/API/functionalities/module_load_attach/Makefile
    lldb/test/API/functionalities/module_load_attach/TestModuleLoadAttach.py
    lldb/test/API/functionalities/module_load_attach/feature.c
    lldb/test/API/functionalities/module_load_attach/main.c


################################################################################
diff  --git a/lldb/packages/Python/lldbsuite/test/decorators.py b/lldb/packages/Python/lldbsuite/test/decorators.py
index 628b0303916c..6d781defdea4 100644
--- a/lldb/packages/Python/lldbsuite/test/decorators.py
+++ b/lldb/packages/Python/lldbsuite/test/decorators.py
@@ -622,10 +622,6 @@ def skipUnlessDarwin(func):
     """Decorate the item to skip tests that should be skipped on any non Darwin platform."""
     return skipUnlessPlatform(lldbplatformutil.getDarwinOSTriples())(func)
 
-def skipUnlessLinux(func):
-    """Decorate the item to skip tests that should be skipped on any non-Linux platform."""
-    return skipUnlessPlatform(["linux"])(func)
-
 def skipUnlessTargetAndroid(func):
     return unittest2.skipUnless(lldbplatformutil.target_is_android(),
                                 "requires target to be Android")(func)

diff  --git a/lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.cpp b/lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.cpp
index 720fc16148f2..160faa74af23 100644
--- a/lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.cpp
+++ b/lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.cpp
@@ -441,7 +441,6 @@ void DynamicLoaderPOSIXDYLD::RefreshModules() {
       if (module_sp.get()) {
         if (module_sp->GetObjectFile()->GetBaseAddress().GetLoadAddress(
                 &m_process->GetTarget()) == m_interpreter_base &&
-            m_interpreter_module.lock() &&
             module_sp != m_interpreter_module.lock()) {
           // If this is a duplicate instance of ld.so, unload it.  We may end up
           // with it if we load it via a 
diff erent path than before (symlink

diff  --git a/lldb/test/API/functionalities/module_load_attach/Makefile b/lldb/test/API/functionalities/module_load_attach/Makefile
deleted file mode 100644
index 7b7435fdb24e..000000000000
--- a/lldb/test/API/functionalities/module_load_attach/Makefile
+++ /dev/null
@@ -1,10 +0,0 @@
-C_SOURCES := main.c
-LD_EXTRAS := -Wl,-rpath "-Wl,$(shell pwd)"
-USE_LIBDL := 1
-
-feature:
-	$(MAKE) -f $(MAKEFILE_RULES) \
-		DYLIB_ONLY=YES DYLIB_NAME=feature DYLIB_C_SOURCES=feature.c
-all: feature
-
-include Makefile.rules

diff  --git a/lldb/test/API/functionalities/module_load_attach/TestModuleLoadAttach.py b/lldb/test/API/functionalities/module_load_attach/TestModuleLoadAttach.py
deleted file mode 100644
index 71759dcb88e6..000000000000
--- a/lldb/test/API/functionalities/module_load_attach/TestModuleLoadAttach.py
+++ /dev/null
@@ -1,49 +0,0 @@
-import lldb
-from lldbsuite.test.decorators import *
-from lldbsuite.test.lldbtest import *
-from lldbsuite.test import lldbutil
-
-class TestCase(TestBase):
-
-    mydir = TestBase.compute_mydir(__file__)
-
-    def build_launch_and_attach(self):
-        self.build()
-        # launch
-        exe = self.getBuildArtifact("a.out")
-        popen = self.spawnSubprocess(exe)
-        # attach
-        target = self.dbg.CreateTarget(exe)
-        self.assertTrue(target, VALID_TARGET)
-        listener = lldb.SBListener("my.attach.listener")
-        error = lldb.SBError()
-        process = target.AttachToProcessWithID(listener, popen.pid, error)
-        self.assertTrue(error.Success() and process, PROCESS_IS_VALID)
-        return process
-
-    def assertModuleIsLoaded(self, module_name):
-        feature_module = self.dbg.GetSelectedTarget().FindModule(lldb.SBFileSpec(module_name))
-        self.assertTrue(feature_module.IsValid(), f"Module {module_name} should be loaded")
-
-    def assertModuleIsNotLoaded(self, module_name):
-        feature_module = self.dbg.GetSelectedTarget().FindModule(lldb.SBFileSpec(module_name))
-        self.assertFalse(feature_module.IsValid(), f"Module {module_name} should not be loaded")
-
-    @skipIfRemote
-    @skipUnlessLinux
-    @no_debug_info_test
-    def test(self):
-        '''
-            This test makes sure that after attach lldb still gets notifications
-            about new modules being loaded by the process
-        '''
-        process = self.build_launch_and_attach()
-        thread = process.GetSelectedThread()
-        self.assertModuleIsNotLoaded("libfeature.so")
-        thread.GetSelectedFrame().EvaluateExpression("flip_to_1_to_continue = 1")
-        # Continue so that dlopen is called.
-        breakpoint = self.target().BreakpointCreateBySourceRegex(
-            "// break after dlopen", lldb.SBFileSpec("main.c"))
-        self.assertNotEqual(breakpoint.GetNumResolvedLocations(), 0)
-        stopped_threads = lldbutil.continue_to_breakpoint(self.process(), breakpoint)
-        self.assertModuleIsLoaded("libfeature.so")

diff  --git a/lldb/test/API/functionalities/module_load_attach/feature.c b/lldb/test/API/functionalities/module_load_attach/feature.c
deleted file mode 100644
index 122312048e8d..000000000000
--- a/lldb/test/API/functionalities/module_load_attach/feature.c
+++ /dev/null
@@ -1 +0,0 @@
-extern void feature() {}

diff  --git a/lldb/test/API/functionalities/module_load_attach/main.c b/lldb/test/API/functionalities/module_load_attach/main.c
deleted file mode 100644
index 6953b6488f99..000000000000
--- a/lldb/test/API/functionalities/module_load_attach/main.c
+++ /dev/null
@@ -1,15 +0,0 @@
-#include <dlfcn.h>
-#include <assert.h>
-#include <unistd.h>
-
-volatile int flip_to_1_to_continue = 0;
-
-int main() {
-  lldb_enable_attach();
-  while (! flip_to_1_to_continue) // Wait for debugger to attach
-    sleep(1);
-  // dlopen the feature
-  void *feature = dlopen("libfeature.so", RTLD_NOW);
-  assert(feature && "dlopen failed?");
-  return 0; // break after dlopen
-}


        


More information about the lldb-commits mailing list