.B ldd
prints the shared objects (shared libraries) required by each program or
shared object specified on the command line.
-.SS Security
+An example of its use and output is the following:
+
+.nf
+
+$ \fBldd /bin/ls\fP
+ linux-vdso.so.1 (0x00007ffcc3563000)
+ libselinux.so.1 => /lib64/libselinux.so.1 (0x00007f87e5459000)
+ libcap.so.2 => /lib64/libcap.so.2 (0x00007f87e5254000)
+ libc.so.6 => /lib64/libc.so.6 (0x00007f87e4e92000)
+ libpcre.so.1 => /lib64/libpcre.so.1 (0x00007f87e4c22000)
+ libdl.so.2 => /lib64/libdl.so.2 (0x00007f87e4a1e000)
+ /lib64/ld-linux-x86-64.so.2 (0x00005574bf12e000)
+ libattr.so.1 => /lib64/libattr.so.1 (0x00007f87e4817000)
+ libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f87e45fa000)
+.fi
+
In the usual case,
.B ldd
invokes the standard dynamic linker (see
.BR ld.so (8))
with the
.B LD_TRACE_LOADED_OBJECTS
-environment variable set to 1,
-which causes the linker to display the library dependencies.
-Be aware,
-however,
-that in some circumstances, some versions of
+environment variable set to 1.
+This causes the dynamic linker to inspect the program's dynamic dependencies,
+and find (according to the rules described in
+.BR ld.so (8))
+and load the objects that satisfy those dependencies.
+For each dependency,
+.BR ldd
+displays the location of the matching object
+and the (hexadecimal) address at which it is loaded.
+(The
+.I linux-vdso
+and
+.I ld-linux
+shared dependencies are special; see
+.BR vdso (7)
+and
+.BR ld.so (8).)
+.\"
+.SS Security
+Be aware that in some circumstances, some versions of
.BR ldd
may attempt to obtain the dependency information
by directly executing the program.