diff options
author | Jo-Philipp Wich <jow@openwrt.org> | 2010-11-05 21:38:38 +0000 |
---|---|---|
committer | Jo-Philipp Wich <jow@openwrt.org> | 2010-11-05 21:38:38 +0000 |
commit | cd330a000ef2693fdd9167f8d6140b1a3dbd0a5a (patch) | |
tree | 8eb2b2efb271fa1acfafce6d0d5b07def2a65f0f /package | |
parent | adbf01458015a61356c6c4fadee11be93a805186 (diff) | |
download | master-187ad058-cd330a000ef2693fdd9167f8d6140b1a3dbd0a5a.tar.gz master-187ad058-cd330a000ef2693fdd9167f8d6140b1a3dbd0a5a.tar.bz2 master-187ad058-cd330a000ef2693fdd9167f8d6140b1a3dbd0a5a.zip |
[PATCH] ld.so: ldd crashes when __LDSO_SEARCH_INTERP_PATH__ is not #defined
Since b65c7b2c79debcb9017e31913e01eeaa280106fb, the implicit search path
can be disabled by not #defining __LDSO_SEARCH_INTERP_PATH__. This
causes _dl_ldsopath to never be set, so it remains NULL. _dl_ldsopath is
still used when __LDSO_LDD_SUPPORT__ is #defined, to strip the path off
of the beginning of the absolute path to the ld.so interpreter in use
for printing. The _dl_strlen will crash with a NULL argument.
Rather than relying on _dl_ldsopath, this change causes ldd to compute
the interpreter's basename directly.
glibc ld.so seems to print the full path to the interpreter without
any computed basename or =>. I personally prefer glibc's behavior, but
to preserve backwards compatibility with uClibc ld.so, the existing
format with the computed basename, =>, and full path is used here. This
enables simpler (and unchanged) text processing in a pipeline.
Signed-off-by: Mark Mentovai <mark at moxienet.com>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@23892 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package')
0 files changed, 0 insertions, 0 deletions