mirror of https://gitee.com/openkylin/glibc.git
make ldconfig use the built-in system paths
Make ldconfig use the same view of built-in system paths that ld.so does, instead of just using SLIBDIR and LIBDIR; this corrects a failure of ldconfig to cache libraries in non-multiarch directories when building for multiarch, even though they're on the system path. Bug-Ubuntu: https://bugs.launchpad.net/bugs/736932 Gbp-Pq: Topic any Gbp-Pq: Name local-ldconfig-multiarch.diff
This commit is contained in:
parent
a5f9e8fc98
commit
6c8f802f0b
|
@ -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;
|
||||
|
@ -1385,12 +1396,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;
|
||||
|
|
Loading…
Reference in New Issue