From cbd249f5f3f43a3a8bbbd4c863a1a04211cd2d3d Mon Sep 17 00:00:00 2001 From: GNU Libc Maintainers Date: Sun, 14 Jan 2018 10:24:48 +0000 Subject: [PATCH] local-ldconfig-multiarch Gbp-Pq: Topic any Gbp-Pq: Name local-ldconfig-multiarch.diff --- elf/ldconfig.c | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/elf/ldconfig.c b/elf/ldconfig.c index f335bb4a9..4a355ce7b 100644 --- a/elf/ldconfig.c +++ b/elf/ldconfig.c @@ -63,6 +63,17 @@ #define PATH_MAX 1024 #endif +/* Get the generated information about the trusted/standard directories. */ +#include "trusted-dirs.h" + +static const char system_dirs[] = SYSTEM_DIRS; +static const size_t system_dirs_len[] = +{ + SYSTEM_DIRS_LEN +}; +#define nsystem_dirs_len \ + (sizeof (system_dirs_len) / sizeof (system_dirs_len[0])) + static const struct { const char *name; @@ -1393,12 +1404,19 @@ main (int argc, char **argv) if (!opt_only_cline) { + const char *strp = system_dirs; + size_t idx = 0; + parse_conf (config_file, true); /* Always add the standard search paths. */ - add_system_dir (SLIBDIR); - if (strcmp (SLIBDIR, LIBDIR)) - add_system_dir (LIBDIR); + do + { + add_system_dir (strp); + strp += system_dirs_len[idx] + 1; + idx++; + } + while (idx < nsystem_dirs_len); } const char *aux_cache_file = _PATH_LDCONFIG_AUX_CACHE; -- 2.30.2