summaryrefslogtreecommitdiff
path: root/target
diff options
context:
space:
mode:
authorJo-Philipp Wich <jow@openwrt.org>2010-11-05 21:38:38 +0000
committerJo-Philipp Wich <jow@openwrt.org>2010-11-05 21:38:38 +0000
commit12b122f31fda49cca1659805570dd8b90cf8240c (patch)
tree2e061f4012b060bffc7c7d1cfadbd00c64b7747f /target
parentc45884d8f6172467a4455cff9265e4a48ffcf8de (diff)
downloadmtk-20170518-12b122f31fda49cca1659805570dd8b90cf8240c.zip
mtk-20170518-12b122f31fda49cca1659805570dd8b90cf8240c.tar.gz
mtk-20170518-12b122f31fda49cca1659805570dd8b90cf8240c.tar.bz2
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> SVN-Revision: 23892
Diffstat (limited to 'target')
0 files changed, 0 insertions, 0 deletions