e68ed79390
Specifically, build a 32-bit /usr/bin/ldd32 on amd64 which handles 32-bit objects. Since it is a 32-bit binary, it can fork a child process which can dlopen() a 32-bit shared library. The current 32-bit support in ldd can't do this because it does the dlopen() from a 64-bit process. In order to preserve an intuitive interface for users, the ldd binary automatically execs /usr/bin/ldd32 for 32-bit objects. The end result is that ldd on amd64 now transparently handles 32-bit shared libraries in addition to 32-bit binaries. Submitted by: ps (indirectly)
81 lines
1.7 KiB
Groff
81 lines
1.7 KiB
Groff
.\" $FreeBSD$
|
|
.\"
|
|
.Dd May 15, 2008
|
|
.Dt LDD 1
|
|
.Os
|
|
.Sh NAME
|
|
.Nm ldd
|
|
.Nd list dynamic object dependencies
|
|
.Sh SYNOPSIS
|
|
.Nm
|
|
.Op Fl a
|
|
.Op Fl v
|
|
.Op Fl f Ar format
|
|
.Ar program ...
|
|
.Sh DESCRIPTION
|
|
The
|
|
.Nm
|
|
utility displays all shared objects that are needed to run the given program or
|
|
to load the given shared object.
|
|
Contrary to
|
|
.Xr nm 1 ,
|
|
the list includes
|
|
.Dq indirect
|
|
dependencies that are the result of needed shared objects which themselves
|
|
depend on yet other shared objects.
|
|
.Pp
|
|
Zero, one or two
|
|
.Fl f
|
|
options may be given.
|
|
The argument is a format string passed to
|
|
.Xr rtld 1
|
|
and allows customization of
|
|
.Nm Ns 's
|
|
output.
|
|
If one is given, it sets
|
|
.Ev LD_TRACE_LOADED_OBJECTS_FMT1 .
|
|
If two are given, they set
|
|
.Ev LD_TRACE_LOADED_OBJECTS_FMT1
|
|
and
|
|
.Ev LD_TRACE_LOADED_OBJECTS_FMT2 ,
|
|
respectively.
|
|
See
|
|
.Xr rtld 1
|
|
for details, including a list of recognized conversion characters.
|
|
.Pp
|
|
The
|
|
.Fl a
|
|
option displays the list of all objects that are needed by each loaded
|
|
object.
|
|
This option does not work with
|
|
.Xr a.out 5
|
|
binaries.
|
|
.Pp
|
|
The
|
|
.Fl v
|
|
option displays a verbose listing of the dynamic linking headers
|
|
encoded in the executable.
|
|
See the source code and include
|
|
files for the definitive meaning of all the fields.
|
|
.Sh EXAMPLES
|
|
The following is an example of a shell pipeline which uses the
|
|
.Fl f
|
|
option.
|
|
It will print a report of all ELF binaries in the current directory,
|
|
which link against libc.so.6:
|
|
.Dl "find . -type f | xargs -n1 file -F " " | grep ELF | cut -f1 -d' ' | xargs ldd -f '%A %o\en' | grep libc.so.6"
|
|
.Sh SEE ALSO
|
|
.Xr ld 1 ,
|
|
.Xr nm 1 ,
|
|
.Xr rtld 1
|
|
.Sh HISTORY
|
|
A
|
|
.Nm
|
|
utility first appeared in SunOS 4.0, it appeared in its current form in
|
|
.Fx 1.1 .
|
|
.Pp
|
|
The
|
|
.Fl v
|
|
support is based on code written by
|
|
.An John Polstra Aq jdp@polstra.com
|