[Lldb-commits] [lldb] Ensure that the executable module is ModuleList[0] (PR #78360)

Pavel Labath via lldb-commits lldb-commits at lists.llvm.org
Wed Jan 17 02:43:22 PST 2024


labath wrote:

The problem is that linux/elf does not really have hard line between shared libraries, (position-independent) executables and the dynamic linker. they all have `e_type = ET_DYN` in their header. It is possible to create a shared library that can also be executed (unless one is *extremely* careful it will crash very quickly, but that crash may exactly be something that one may want to observe in a debugger). It's probably also possible to create a library that will also serve as the dynamic loader.

So, the "is this module an executable" question is not really well defined. This isn't an intrinsic property of the module, but rather a role that the module plays in a specific process. Once a process starts, this can be (and is) determined by the dynamic linker plugin. Before that, we need to rely on some external signal for that (if we need to know that at all).

With that in mind, I'm going to disable the before-run part of the test for elf.

https://github.com/llvm/llvm-project/pull/78360


More information about the lldb-commits mailing list