[all-commits] [llvm/llvm-project] 839f86: [lldb] Track the target's executable instead of gu...

Jonas Devlieghere via All-commits all-commits at lists.llvm.org
Fri Oct 2 13:21:46 PDT 2026


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 839f8621d7256651de4aeae2c65993b87d62c29d
      https://github.com/llvm/llvm-project/commit/839f8621d7256651de4aeae2c65993b87d62c29d
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2026-10-02 (Fri, 02 Oct 2026)

  Changed paths:
    M lldb/include/lldb/Target/DynamicLoader.h
    M lldb/include/lldb/Target/Target.h
    M lldb/include/lldb/Target/TargetList.h
    M lldb/source/Core/DynamicLoader.cpp
    M lldb/source/Core/IOHandlerCursesGUI.cpp
    M lldb/source/Plugins/DynamicLoader/Hexagon-DYLD/DynamicLoaderHexagonDYLD.cpp
    M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.cpp
    M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOSXDYLD.cpp
    M lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DYLDRendezvous.cpp
    M lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.cpp
    M lldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDP.cpp
    M lldb/source/Plugins/Process/Windows/Common/ProcessWindows.cpp
    M lldb/source/Plugins/Process/elf-core/ProcessElfCore.cpp
    M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
    M lldb/source/Plugins/Process/mach-core/ProcessMachCore.cpp
    M lldb/source/Plugins/Process/minidump/ProcessMinidump.cpp
    M lldb/source/Target/Process.cpp
    M lldb/source/Target/Target.cpp
    M lldb/source/Target/TargetList.cpp
    M lldb/unittests/Protocol/MCPPluginTest.cpp
    M lldb/unittests/Target/CMakeLists.txt
    A lldb/unittests/Target/ExecutableModuleTest.cpp

  Log Message:
  -----------
  [lldb] Track the target's executable instead of guessing (#228131)

When no module had type eTypeExecutable, Target::GetExecutableModule
returned the first image. A main executable can be a shared library,
such as an ELF PIE or firmware, and in the common case the fallback
found it. But a target with only libraries got one of them back as its
executable, and when the executable was removed, the next image took its
place.

Have the target remember which module is its executable, and return
nullptr when it has none. A target that only had libraries added to it
now reports no executable. Callers that dereferenced the result without
a check now handle nullptr.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list