1.\" $FreeBSD$ 2.\" 3.Dd May 15, 2008 4.Dt LDD 1 5.Os 6.Sh NAME 7.Nm ldd 8.Nd list dynamic object dependencies 9.Sh SYNOPSIS 10.Nm 11.Op Fl a 12.Op Fl v 13.Op Fl f Ar format 14.Ar program ... 15.Sh DESCRIPTION 16The 17.Nm 18utility displays all shared objects that are needed to run the given program or 19to load the given shared object. 20Contrary to 21.Xr nm 1 , 22the list includes 23.Dq indirect 24dependencies that are the result of needed shared objects which themselves 25depend on yet other shared objects. 26.Pp 27Zero, one or two 28.Fl f 29options may be given. 30The argument is a format string passed to 31.Xr rtld 1 32and allows customization of 33.Nm Ns 's 34output. 35If one is given, it sets 36.Ev LD_TRACE_LOADED_OBJECTS_FMT1 . 37If two are given, they set 38.Ev LD_TRACE_LOADED_OBJECTS_FMT1 39and 40.Ev LD_TRACE_LOADED_OBJECTS_FMT2 , 41respectively. 42See 43.Xr rtld 1 44for details, including a list of recognized conversion characters. 45.Pp 46The 47.Fl a 48option displays the list of all objects that are needed by each loaded 49object. 50This option does not work with 51.Xr a.out 5 52binaries. 53.Pp 54The 55.Fl v 56option displays a verbose listing of the dynamic linking headers 57encoded in the executable. 58See the source code and include 59files for the definitive meaning of all the fields. 60.Sh EXAMPLES 61The following is an example of a shell pipeline which uses the 62.Fl f 63option. 64It will print a report of all ELF binaries in the current directory, 65which link against libc.so.6: 66.Dl "find . -type f | xargs -n1 file -F ' ' | grep 'ELF.*dynamically' | cut -f1 -d' ' | xargs ldd -f '%A %o\en' | grep libc.so.6" 67.Sh SEE ALSO 68.Xr ld 1 , 69.Xr nm 1 , 70.Xr rtld 1 71.Sh HISTORY 72A 73.Nm 74utility first appeared in SunOS 4.0, it appeared in its current form in 75.Fx 1.1 . 76.Pp 77The 78.Fl v 79support is based on code written by 80.An John Polstra Aq Mt jdp@polstra.com 81