From 3858bf28a66f449cc2d815122032a60cf9bf793e Mon Sep 17 00:00:00 2001 From: Roland McGrath Date: Mon, 6 Mar 2006 10:59:43 +0000 Subject: * version.h (VERSION): 2.4 * README.template: Update for 2.4. * README: Regenerated. * manual/install.texi (Configuring and compiling): Separate build directory is mandatory. Use glibc-2.4 in example. Update --enable-add-ons description. (Supported Configurations): Remove section. * INSTALL: Regenerated. --- elf/ldconfig.c | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) (limited to 'elf/ldconfig.c') diff --git a/elf/ldconfig.c b/elf/ldconfig.c index 52add4ff58..359fbdbf0e 100644 --- a/elf/ldconfig.c +++ b/elf/ldconfig.c @@ -693,7 +693,20 @@ search_dir (const struct dir_entry *entry) #endif !is_hwcap_platform (direntry->d_name))) continue; - len = strlen (entry->path) + strlen (direntry->d_name); + len = strlen (direntry->d_name); + /* Skip temporary files created by the prelink program. Files with + names like these are never really DSOs we want to look at. */ + if (len >= sizeof (".#prelink#") - 1) + { + if (strcmp (direntry->d_name + len - sizeof (".#prelink#") + 1, + ".#prelink#") == 0) + continue; + if (len >= sizeof (".#prelink#.XXXXXX") - 1 + && memcmp (direntry->d_name + len - sizeof (".#prelink#.XXXXXX") + + 1, ".#prelink#.", sizeof (".#prelink#.") - 1) == 0) + continue; + } + len += strlen (entry->path); if (len > file_name_len) { file_name_len = len + 1; -- cgit v1.2.3