summary refs log tree commit diff
path: root/elf/ldconfig.c
diff options
context:
space:
mode:
authorFlorian Weimer <fweimer@redhat.com>2017-10-30 15:48:33 +0100
committerFlorian Weimer <fweimer@redhat.com>2017-10-30 15:48:33 +0100
commit4484b9e29656980f18bb0fc8cdb6b1bbe5364f21 (patch)
tree3780df60b52f271014d0ccb66456fe7d6e41b5cf /elf/ldconfig.c
parent68fe16dd327c895c08b9ee443b234c49c13b36e9 (diff)
downloadglibc-4484b9e29656980f18bb0fc8cdb6b1bbe5364f21.tar.gz
glibc-4484b9e29656980f18bb0fc8cdb6b1bbe5364f21.tar.xz
glibc-4484b9e29656980f18bb0fc8cdb6b1bbe5364f21.zip
Assume that _DIRENT_HAVE_D_TYPE is always defined.
References remain in io/fts.c, io/ftw.c, posix/glob.c,
sysdeps/posix/getcwd.c.  These files are (potentially) externally
shared.
Diffstat (limited to 'elf/ldconfig.c')
-rw-r--r--elf/ldconfig.c17
1 files changed, 2 insertions, 15 deletions
diff --git a/elf/ldconfig.c b/elf/ldconfig.c
index 99caf9e9bb..89042351f8 100644
--- a/elf/ldconfig.c
+++ b/elf/ldconfig.c
@@ -710,25 +710,20 @@ search_dir (const struct dir_entry *entry)
   while ((direntry = readdir64 (dir)) != NULL)
     {
       int flag;
-#ifdef _DIRENT_HAVE_D_TYPE
       /* We only look at links and regular files.  */
       if (direntry->d_type != DT_UNKNOWN
 	  && direntry->d_type != DT_LNK
 	  && direntry->d_type != DT_REG
 	  && direntry->d_type != DT_DIR)
 	continue;
-#endif /* _DIRENT_HAVE_D_TYPE  */
       /* Does this file look like a shared library or is it a hwcap
 	 subdirectory?  The dynamic linker is also considered as
 	 shared library.  */
       if (((strncmp (direntry->d_name, "lib", 3) != 0
 	    && strncmp (direntry->d_name, "ld-", 3) != 0)
 	   || strstr (direntry->d_name, ".so") == NULL)
-	  && (
-#ifdef _DIRENT_HAVE_D_TYPE
-	      direntry->d_type == DT_REG ||
-#endif
-	      !is_hwcap_platform (direntry->d_name)))
+	  && (direntry->d_type == DT_REG
+	      || !is_hwcap_platform (direntry->d_name)))
 	continue;
 
       size_t len = strlen (direntry->d_name);
@@ -765,12 +760,10 @@ search_dir (const struct dir_entry *entry)
 	}
 
       struct stat64 lstat_buf;
-#ifdef _DIRENT_HAVE_D_TYPE
       /* We optimize and try to do the lstat call only if needed.  */
       if (direntry->d_type != DT_UNKNOWN)
 	lstat_buf.st_mode = DTTOIF (direntry->d_type);
       else
-#endif
 	if (__glibc_unlikely (lstat64 (real_file_name, &lstat_buf)))
 	  {
 	    error (0, errno, _("Cannot lstat %s"), file_name);
@@ -825,9 +818,6 @@ search_dir (const struct dir_entry *entry)
 	  new_entry->path = xstrdup (file_name);
 	  new_entry->flag = entry->flag;
 	  new_entry->next = NULL;
-#ifdef _DIRENT_HAVE_D_TYPE
-	  /* We have filled in lstat only #ifndef
-	     _DIRENT_HAVE_D_TYPE.  Fill it in if needed.  */
 	  if (!is_link
 	      && direntry->d_type != DT_UNKNOWN
 	      && __builtin_expect (lstat64 (real_file_name, &lstat_buf), 0))
@@ -837,7 +827,6 @@ search_dir (const struct dir_entry *entry)
 	      free (new_entry);
 	      continue;
 	    }
-#endif
 	  new_entry->ino = lstat_buf.st_ino;
 	  new_entry->dev = lstat_buf.st_dev;
 	  add_single_dir (new_entry, 0);
@@ -860,7 +849,6 @@ search_dir (const struct dir_entry *entry)
       else
 	real_name = real_file_name;
 
-#ifdef _DIRENT_HAVE_D_TYPE
       /* Call lstat64 if not done yet.  */
       if (!is_link
 	  && direntry->d_type != DT_UNKNOWN
@@ -869,7 +857,6 @@ search_dir (const struct dir_entry *entry)
 	  error (0, errno, _("Cannot lstat %s"), file_name);
 	  continue;
 	}
-#endif
 
       /* First search whether the auxiliary cache contains this
 	 library already and it's not changed.  */