[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