LOGBOOK

HELP

Quiz Entry - updated: 2026.07.14

What tools can you use to examine dynamic linking?

ldd lists library dependencies, readelf -d shows the dynamic section, objdump -R the dynamic relocations, nm -D the dynamic symbols, and LD_DEBUG traces the linker at runtime.

Tool Purpose Example
ldd List shared library dependencies ldd ./program
readelf -d Show dynamic section readelf -d ./program
objdump -R Show dynamic relocations objdump -R ./program
nm -D Show dynamic symbols nm -D libfoo.so
LD_DEBUG Trace dynamic linker LD_DEBUG=all ./program

ldd example:

$ ldd /bin/ls
    linux-vdso.so.1 (0x00007ffe...)
    libselinux.so.1 => /lib/x86_64.../libselinux.so.1
    libc.so.6 => /lib/x86_64.../libc.so.6
    /lib64/ld-linux-x86-64.so.2

LD_DEBUG options:

# Show available options
$ LD_DEBUG=help ./program
# Library search
$ LD_DEBUG=libs ./program
# Symbol resolution
$ LD_DEBUG=symbols ./program
# Show all bindings
$ LD_DEBUG=bindings ./program
# Everything
$ LD_DEBUG=all ./program

Tip: LD_DEBUG is invaluable for diagnosing "symbol not found" errors in complex applications.

Go deeper:

From Quiz: REVE1 / Program Execution | Updated: Jul 14, 2026