From: Andreas Henriksson Date: Sun, 30 Jul 2017 17:52:17 +0000 (+0200) Subject: whereis: include native multiarch path in lib search paths X-Git-Tag: v2.31-rc1~165 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c9ab7387066940d7599a2e5d79d56405195d5f4e;p=thirdparty%2Futil-linux.git whereis: include native multiarch path in lib search paths This includes atleast the native multiarch path in the paths to search. (Maybe also other multiarch paths should also be searched? But atleast this is a first step.) Before this change (on Debian): $ whereis libc libc: /usr/share/man/man7/libc.7.gz After this change: $ whereis libc libc: /usr/lib/x86_64-linux-gnu/libc.so /usr/lib/x86_64-linux-gnu/libc.a /usr/share/man/man7/libc.7.gz Addresses: https://bugs.debian.org/856968 Signed-off-by: Andreas Henriksson --- diff --git a/configure.ac b/configure.ac index 38b968878a..dc71faa00a 100644 --- a/configure.ac +++ b/configure.ac @@ -1490,6 +1490,11 @@ AM_CONDITIONAL([BUILD_MCOOKIE], [test "x$build_mcookie" = xyes]) UL_BUILD_INIT([namei], [yes]) AM_CONDITIONAL([BUILD_NAMEI], [test "x$build_namei" = xyes]) +matriplet="$($CC -print-multiarch 2>/dev/null || true)" +if test "x$matriplet" != "x"; then + AC_DEFINE_UNQUOTED([MULTIARCHTRIPLET], ["$matriplet"], + ["Multi-arch triplet for whereis library search path"]) +fi UL_BUILD_INIT([whereis], [yes]) AM_CONDITIONAL([BUILD_WHEREIS], [test "x$build_whereis" = xyes]) diff --git a/misc-utils/whereis.c b/misc-utils/whereis.c index bac158d464..caa155ca34 100644 --- a/misc-utils/whereis.c +++ b/misc-utils/whereis.c @@ -96,6 +96,11 @@ struct wh_dirlist { static const char *bindirs[] = { "/usr/bin", "/usr/sbin", +#if defined(MULTIARCHTRIPLET) + "/lib/" MULTIARCHTRIPLET, + "/usr/lib/" MULTIARCHTRIPLET, + "/usr/local/lib/" MULTIARCHTRIPLET, +#endif "/usr/lib", "/usr/lib64", "/bin",