cvs commit: src/usr.bin/ldd ldd.1 ldd.c

[ Available lists | Index of cvs-src | Month of Jul 2008 | Week of 3 Jul 2008 | Raw email | View thread | Wrap long lines | Reply | Tag ]
From
Edwin Groothuis <edwin@FreeBSD.org>
Date
3 Jul 2008 22:38:08
Subject
cvs commit: src/usr.bin/ldd ldd.1 ldd.c
Message-ID
200807032238.m63Mc8cZ039421@repoman.freebsd.org

Replies
Referenced by

[ Hide this part ]
edwin       2008-07-03 22:37:51 UTC

FreeBSD src repository

Modified files:
usr.bin/ldd ldd.1 ldd.c
Log:
SVN rev 180236 on 2008-07-03 22:37:51Z by edwin

On 64 bit architectures, you can run 32 bit executables and the rtld can trace them, but ldd(1) doesn't know yet how to detect them:

[/] root@ed-exigent>ldd `which httpd`
ldd: /usr/local/sbin/httpd: can't read program header
ldd: /usr/local/sbin/httpd: not a dynamic executable

But...

[/] root@ed-exigent>LD_32_TRACE_LOADED_OBJECTS==1 `which httpd`
libm.so.4 => /lib32//libm.so.4 (0x280c8000)
libaprutil-1.so.2 => /usr/local/lib/libaprutil-1.so.2 (0x280de000)
libexpat.so.6 => /usr/local/lib/libexpat.so.6 (0x280f2000)
libiconv.so.3 => /usr/local/lib/libiconv.so.3 (0x28110000)
libapr-1.so.2 => /usr/local/lib/libapr-1.so.2 (0x281fd000)
libcrypt.so.3 => /lib32//libcrypt.so.3 (0x2821d000)
libpthread.so.2 => not found (0x0)
libc.so.6 => /lib32//libc.so.6 (0x28235000)
libpthread.so.2 => /usr/lib32/libpthread.so.2 (0x2830d000)

Added support in ldd(1) for the LD_32_xxx environment variables if
the architecture of the machine is >32 bits. If we ever go to 128
bit architectures this excercise will have to be repeated but thanks
to earlier commits today it will be relative simple.

PR: bin/124906
Submitted by: edwin
Approved by: bde (mentor)
MFC after: 1 week

Revision Changes Path
1.27 +6 -0 src/usr.bin/ldd/ldd.1
1.36 +76 -2 src/usr.bin/ldd/ldd.c


Elapsed time: 0.094 seconds