1

When we run ldd on some file, there are two possible results:

If the file is dynamic executable, the shared dependencies are shown, for example:

# ldd /usr/bin/sleep
        linux-vdso.so.1 (0x00007ffff7fc7000)
        libc.so.6 => /usr/lib/libc.so.6 (0x00007ffff7dd6000)
        /lib64/ld-linux-x86-64.so.2 (0x00007ffff7fc9000)

Or, if the file is either a static executable or not an executable at all, we see not a dynamic executable, for example

# ldd /usr/bin/toybox
        not a dynamic executable
# ldd /etc/shadow
warning: you do not have execution permission...
        not a dynamic executable

But I have also discovered a special case! It takes place if you ever happen to invoke ldd on /usr/sbin/ldconfig. Then, ldd will explicitly say that the binary is statically linked!

# ldd /usr/sbin/ldconfig
        statically linked

I'm very interested to know why this happens, what's so special about the ldconfig binary? Thanks.

2

0

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.