This is the mail archive of the
glibc-cvs@sourceware.org
mailing list for the glibc project.
GNU C Library master sources branch master updated. glibc-2.26.9000-681-g4484b9e
- From: fw at sourceware dot org
- To: glibc-cvs at sourceware dot org
- Date: 30 Oct 2017 14:53:55 -0000
- Subject: GNU C Library master sources branch master updated. glibc-2.26.9000-681-g4484b9e
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".
The branch, master has been updated
via 4484b9e29656980f18bb0fc8cdb6b1bbe5364f21 (commit)
from 68fe16dd327c895c08b9ee443b234c49c13b36e9 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=4484b9e29656980f18bb0fc8cdb6b1bbe5364f21
commit 4484b9e29656980f18bb0fc8cdb6b1bbe5364f21
Author: Florian Weimer <fweimer@redhat.com>
Date: Mon Oct 30 15:48:33 2017 +0100
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.
diff --git a/ChangeLog b/ChangeLog
index a36b0b4..f0921f8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,20 @@
2017-10-30 Florian Weimer <fweimer@redhat.com>
+ * elf/ldconfig.c (search_dir): Assume that _DIRENT_HAVE_D_TYPE is
+ always defined.
+ * io/tst-mkdirat.c (do_test): Likewise.
+ * io/tst-mkfifoat.c (do_test): Likewise.
+ * io/tst-mknodat.c (do_test): Likewise.
+ * locale/programs/charmap-dir.c (charmap_readdir): Likewise.
+ * locale/programs/locale.c (select_dirs): Likewise.
+ * locale/programs/locarchive.c (add_locales_to_archive): Likewise.
+ * posix/bug-glob2.c (my_readdir): Likewise.
+ * posix/tst-dir.c (main): Likewise.
+ * posix/tst-glob_lstat_compat.c (my_readdir): Likewise.
+ * posix/tst-gnuglob-skeleton.c (my_readdir): Likewise.
+
+2017-10-30 Florian Weimer <fweimer@redhat.com>
+
* string/strings.h (ffsl, ffsll): Declare under __USE_MISC, not
just __USE_GNU.
diff --git a/elf/ldconfig.c b/elf/ldconfig.c
index 99caf9e..8904235 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. */
diff --git a/io/tst-mkdirat.c b/io/tst-mkdirat.c
index a960c66..605e51e 100644
--- a/io/tst-mkdirat.c
+++ b/io/tst-mkdirat.c
@@ -131,13 +131,11 @@ do_test (void)
if (strcmp (d->d_name, "some-dir") == 0)
{
has_some_dir = true;
-#ifdef _DIRENT_HAVE_D_TYPE
if (d->d_type != DT_UNKNOWN && d->d_type != DT_DIR)
{
puts ("d_type for some-dir wrong");
return 1;
}
-#endif
}
else if (strcmp (d->d_name, ".") != 0 && strcmp (d->d_name, "..") != 0)
{
diff --git a/io/tst-mkfifoat.c b/io/tst-mkfifoat.c
index d87b587..c9239dc 100644
--- a/io/tst-mkfifoat.c
+++ b/io/tst-mkfifoat.c
@@ -131,13 +131,11 @@ do_test (void)
if (strcmp (d->d_name, "some-fifo") == 0)
{
has_some_fifo = true;
-#ifdef _DIRENT_HAVE_D_TYPE
if (d->d_type != DT_UNKNOWN && d->d_type != DT_FIFO)
{
puts ("d_type for some-fifo wrong");
return 1;
}
-#endif
}
else if (strcmp (d->d_name, ".") != 0 && strcmp (d->d_name, "..") != 0)
{
diff --git a/io/tst-mknodat.c b/io/tst-mknodat.c
index 9d58fdb..88a98ca 100644
--- a/io/tst-mknodat.c
+++ b/io/tst-mknodat.c
@@ -131,13 +131,11 @@ do_test (void)
if (strcmp (d->d_name, "some-fifo") == 0)
{
has_some_fifo = true;
-#ifdef _DIRENT_HAVE_D_TYPE
if (d->d_type != DT_UNKNOWN && d->d_type != DT_FIFO)
{
puts ("d_type for some-fifo wrong");
return 1;
}
-#endif
}
else if (strcmp (d->d_name, ".") != 0 && strcmp (d->d_name, "..") != 0)
{
diff --git a/locale/programs/charmap-dir.c b/locale/programs/charmap-dir.c
index a9212b7..42639fb 100644
--- a/locale/programs/charmap-dir.c
+++ b/locale/programs/charmap-dir.c
@@ -115,11 +115,9 @@ charmap_readdir (CHARMAP_DIR *cdir)
stpcpy (stpcpy (cdir->pathname, cdir->directory), dirent->d_name);
filename = cdir->pathname + cdir->directory_len;
-#ifdef _DIRENT_HAVE_D_TYPE
if (dirent->d_type != DT_UNKNOWN && dirent->d_type != DT_LNK)
mode = DTTOIF (dirent->d_type);
else
-#endif
{
struct stat64 statbuf;
diff --git a/locale/programs/locale.c b/locale/programs/locale.c
index 939214d..de2a305 100644
--- a/locale/programs/locale.c
+++ b/locale/programs/locale.c
@@ -316,11 +316,9 @@ select_dirs (const struct dirent *dirent)
{
mode_t mode = 0;
-#ifdef _DIRENT_HAVE_D_TYPE
if (dirent->d_type != DT_UNKNOWN && dirent->d_type != DT_LNK)
mode = DTTOIF (dirent->d_type);
else
-#endif
{
struct stat64 st;
char buf[sizeof (COMPLOCALEDIR)
diff --git a/locale/programs/locarchive.c b/locale/programs/locarchive.c
index 633c59b..50e975d 100644
--- a/locale/programs/locarchive.c
+++ b/locale/programs/locarchive.c
@@ -1385,17 +1385,13 @@ add_locales_to_archive (size_t nlist, char *list[], bool replace)
a directory we have to look at a file with the
prefix "SYS_". Otherwise we have found what we
are looking for. */
-#ifdef _DIRENT_HAVE_D_TYPE
d_type = d->d_type;
if (d_type != DT_REG)
-#endif
{
char fullname[fnamelen + 2 * strlen (d->d_name) + 7];
-#ifdef _DIRENT_HAVE_D_TYPE
if (d_type == DT_UNKNOWN)
-#endif
{
strcpy (stpcpy (stpcpy (fullname, fname), "/"),
d->d_name);
diff --git a/posix/bug-glob2.c b/posix/bug-glob2.c
index 592d957..c9ed76e 100644
--- a/posix/bug-glob2.c
+++ b/posix/bug-glob2.c
@@ -207,21 +207,13 @@ my_readdir (void *gdir)
dir->d.d_ino = 1; /* glob should not skip this entry. */
-#ifdef _DIRENT_HAVE_D_TYPE
dir->d.d_type = filesystem[dir->idx].type;
-#endif
strcpy (dir->d.d_name, filesystem[dir->idx].name);
-#ifdef _DIRENT_HAVE_D_TYPE
PRINTF ("my_readdir ({ level: %d, idx: %ld }) = { d_ino: %ld, d_type: %d, d_name: \"%s\" }\n",
dir->level, (long int) dir->idx, dir->d.d_ino, dir->d.d_type,
dir->d.d_name);
-#else
- PRINTF ("my_readdir ({ level: %d, idx: %ld }) = { d_ino: %ld, d_name: \"%s\" }\n",
- dir->level, (long int) dir->idx, dir->d.d_ino,
- dir->d.d_name);
-#endif
++dir->idx;
diff --git a/posix/tst-dir.c b/posix/tst-dir.c
index fee79b3..52ff36f 100644
--- a/posix/tst-dir.c
+++ b/posix/tst-dir.c
@@ -149,10 +149,8 @@ main (int argc, char *argv[])
while ((d = readdir64 (dir1)) != NULL)
{
-#ifdef _DIRENT_HAVE_D_TYPE
if (d->d_type != DT_UNKNOWN && d->d_type != DT_REG)
continue;
-#endif
if (d->d_ino == st2.st_ino)
{
@@ -234,10 +232,8 @@ main (int argc, char *argv[])
while ((d = readdir64 (dir2)) != NULL)
{
-#ifdef _DIRENT_HAVE_D_TYPE
if (d->d_type != DT_UNKNOWN && d->d_type != DT_DIR)
continue;
-#endif
if (d->d_ino == st2.st_ino)
{
@@ -327,10 +323,8 @@ main (int argc, char *argv[])
rewinddir (dir1);
while (readdir64_r (dir1, &direntbuf.d, &d) == 0 && d != NULL)
{
-#ifdef _DIRENT_HAVE_D_TYPE
if (d->d_type != DT_UNKNOWN && d->d_type != DT_DIR)
continue;
-#endif
if (d->d_ino == st1.st_ino)
{
@@ -457,13 +451,11 @@ main (int argc, char *argv[])
|| strcmp (d->d_name, "..") == 0
|| strcmp (d->d_name, "another-dir") == 0)
{
-#ifdef _DIRENT_HAVE_D_TYPE
if (d->d_type != DT_UNKNOWN && d->d_type != DT_DIR)
{
printf ("d_type for \"%s\" is wrong\n", d->d_name);
result = 1;
}
-#endif
if (stat64 (d->d_name, &st3) < 0)
{
printf ("cannot stat \"%s\" is wrong\n", d->d_name);
@@ -477,13 +469,11 @@ main (int argc, char *argv[])
}
else if (strcmp (d->d_name, "and-a-file") == 0)
{
-#ifdef _DIRENT_HAVE_D_TYPE
if (d->d_type != DT_UNKNOWN && d->d_type != DT_REG)
{
printf ("d_type for \"%s\" is wrong\n", d->d_name);
result = 1;
}
-#endif
if (stat64 (d->d_name, &st3) < 0)
{
printf ("cannot stat \"%s\" is wrong\n", d->d_name);
diff --git a/posix/tst-glob_lstat_compat.c b/posix/tst-glob_lstat_compat.c
index ccfda4b..6b77909 100644
--- a/posix/tst-glob_lstat_compat.c
+++ b/posix/tst-glob_lstat_compat.c
@@ -166,9 +166,7 @@ my_readdir (void *gdir)
dir->d.d_ino = 1; /* glob should not skip this entry. */
-#ifdef _DIRENT_HAVE_D_TYPE
dir->d.d_type = filesystem[dir->idx].type;
-#endif
strcpy (dir->d.d_name, filesystem[dir->idx].name);
diff --git a/posix/tst-gnuglob-skeleton.c b/posix/tst-gnuglob-skeleton.c
index 9276297..ba6812b 100644
--- a/posix/tst-gnuglob-skeleton.c
+++ b/posix/tst-gnuglob-skeleton.c
@@ -221,27 +221,16 @@ my_readdir (void *gdir)
dir->d.d_ino = 1; /* glob should not skip this entry. */
-#ifdef _DIRENT_HAVE_D_TYPE
dir->d.d_type = filesystem[dir->idx].type;
-#endif
strcpy (dir->d.d_name, filesystem[dir->idx].name);
-#ifdef _DIRENT_HAVE_D_TYPE
if (test_verbose > 0)
printf ("info: my_readdir ({ level: %d, idx: %ld })"
" = { d_ino: %lld, d_type: %d, d_name: \"%s\" }\n",
dir->level, (long int) dir->idx,
(long long) dir->d.d_ino, dir->d.d_type,
dir->d.d_name);
-#else
- if (test_verbose > 0)
- printf ("info: my_readdir ({ level: %d, idx: %ld })"
- " = { d_ino: %lld, d_name: \"%s\" }\n",
- dir->level, (long int) dir->idx,
- (long long) dir->d.d_ino,
- dir->d.d_name);
-#endif
++dir->idx;
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 15 +++++++++++++++
elf/ldconfig.c | 17 ++---------------
io/tst-mkdirat.c | 2 --
io/tst-mkfifoat.c | 2 --
io/tst-mknodat.c | 2 --
locale/programs/charmap-dir.c | 2 --
locale/programs/locale.c | 2 --
locale/programs/locarchive.c | 4 ----
posix/bug-glob2.c | 8 --------
posix/tst-dir.c | 10 ----------
posix/tst-glob_lstat_compat.c | 2 --
posix/tst-gnuglob-skeleton.c | 11 -----------
12 files changed, 17 insertions(+), 60 deletions(-)
hooks/post-receive
--
GNU C Library master sources