Closed mdtrooper closed 5 months ago
The only difference of note is the lack of linux-vdso.so.1 in libtree's output.
If you look closely, there is no path associated with linux-vdso, only a memory address. This is because linux-vdso is not actually a file; it is a dynamic stub put in place by the kernel without being explicitly specified by the executable or any of its libraries. From the vdso manpage:
The "vDSO" (virtual dynamic shared object) is a small shared library that the kernel automatically maps into the address space of all user-space applications.
What you see is likely true of all programs, and is not specific to your test program or choice of language. It's because libtree follows the files, where ldd loads the executable as if it is about to run, but then dumps the loaded libraries and exits. Since it's the kernel that maps vdso, not the files specifying a dependency on it, there is your difference.
I'd call this not-a-bug.
Ohh thanks for the explain. I am going to close this issue.
I tried a small example of hello world.
The output of
ldd
:The output of
libtree
:And the info of my system, the libtree is from deb repository: