diff options
Diffstat (limited to 'elf/ldconfig.c')
-rw-r--r-- | elf/ldconfig.c | 19 |
1 files changed, 6 insertions, 13 deletions
diff --git a/elf/ldconfig.c b/elf/ldconfig.c index 2a24a17799..444dc73750 100644 --- a/elf/ldconfig.c +++ b/elf/ldconfig.c @@ -787,23 +787,16 @@ search_dir (const struct dir_entry *entry) continue; } - if (real_name != real_file_name) - free (real_name); - - /* A link may just point to itself. */ + /* Links will just point to itself. */ if (is_link) { - /* If the path the link points to isn't its soname, we treat - it as a normal file. */ - if (strcmp (basename (real_name), soname) != 0) - is_link = 0; - else - { - free (soname); - soname = xstrdup (direntry->d_name); - } + free (soname); + soname = xstrdup (direntry->d_name); } + if (real_name != real_file_name) + free (real_name); + if (flag == FLAG_ELF && (entry->flag == FLAG_ELF_LIBC5 || entry->flag == FLAG_ELF_LIBC6)) |