From 54a760b1c0835ded3e8fbefde6391824bc5c531e Mon Sep 17 00:00:00 2001 From: Joakim Tjernlund Date: Mon, 27 Sep 2004 09:40:55 +0000 Subject: Remove /usr/X11R6/lib from default list. Move /lib and /usr/lib first in ld.so.cache. Ignore duplicate /lib and /usr/lib in ld.so.conf --- utils/ldconfig.c | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) (limited to 'utils/ldconfig.c') diff --git a/utils/ldconfig.c b/utils/ldconfig.c index d47c9e0bc..acb78a2ff 100644 --- a/utils/ldconfig.c +++ b/utils/ldconfig.c @@ -874,18 +874,28 @@ int main(int argc, char **argv) /* look ma, no defaults */ if (!nodefault) { + scan_dir(UCLIBC_RUNTIME_PREFIX "lib"); + scan_dir(UCLIBC_RUNTIME_PREFIX "usr/lib"); + /* I guess the defaults aren't good enough */ if ((extpath = get_extpath())) { - for (cp = strtok(extpath, DIR_SEP); cp; - cp = strtok(NULL, DIR_SEP)) + for (cp = strtok(extpath, DIR_SEP); cp; cp = strtok(NULL, DIR_SEP)) { + /* strip traling slashes */ + int len = strlen(cp); + if (len) + while (cp[--len] == '/' && len) + cp[len] = 0; + if (strcmp(UCLIBC_RUNTIME_PREFIX "lib", cp) == 0 || + strcmp(UCLIBC_RUNTIME_PREFIX "usr/lib", cp) == 0) { + if (verbose >= 0) + warnx("Path `%s' given more than once\n", cp); + continue; + } scan_dir(cp); + } free(extpath); } - - scan_dir(UCLIBC_RUNTIME_PREFIX "/usr/X11R6/lib"); - scan_dir(UCLIBC_RUNTIME_PREFIX "/usr/lib"); - scan_dir(UCLIBC_RUNTIME_PREFIX "/lib"); } #ifdef USE_CACHE -- cgit v1.2.3