From fabe2a9514d60183408a0bb0d874488852b2814a Mon Sep 17 00:00:00 2001 From: Andreas Jaeger Date: Tue, 28 Feb 2012 13:15:34 +0100 Subject: [PATCH] Avoid local PLT for dirfd --- io/fts.c | 2 +- io/ftw.c | 8 ++++---- posix/glob.c | 4 ++-- sysdeps/unix/sysv/linux/grantpt.c | 2 +- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/io/fts.c b/io/fts.c index 5ba202b..11c5707 100644 --- a/io/fts.c +++ b/io/fts.c @@ -654,7 +654,7 @@ fts_build(sp, type) */ cderrno = 0; if (nlinks || type == BREAD) { - if (fts_safe_changedir(sp, cur, dirfd(dirp), NULL)) { + if (fts_safe_changedir(sp, cur, __dirfd(dirp), NULL)) { if (nlinks && type == BREAD) cur->fts_errno = errno; cur->fts_flags |= FTS_DONTCHDIR; diff --git a/io/ftw.c b/io/ftw.c index ee3ba88..9d6eb71 100644 --- a/io/ftw.c +++ b/io/ftw.c @@ -1,5 +1,5 @@ /* File tree walker functions. - Copyright (C) 1996-2004, 2006-2008, 2010 Free Software Foundation, Inc. + Copyright (C) 1996-2004, 2006-2008, 2010, 2012 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1996. @@ -365,7 +365,7 @@ open_dir_stream (int *dfdp, struct ftw_data *data, struct dir_data *dirp) result = -1; else { - dirp->streamfd = dirfd (dirp->stream); + dirp->streamfd = __dirfd (dirp->stream); dirp->content = NULL; data->dirstreams[data->actdir] = dirp; @@ -524,7 +524,7 @@ fail: /* If necessary, change to this directory. */ if (data->flags & FTW_CHDIR) { - if (__fchdir (dirfd (dir.stream)) < 0) + if (__fchdir (__dirfd (dir.stream)) < 0) { result = -1; goto fail; @@ -604,7 +604,7 @@ fail: /* Change back to the parent directory. */ int done = 0; if (old_dir->stream != NULL) - if (__fchdir (dirfd (old_dir->stream)) == 0) + if (__fchdir (__dirfd (old_dir->stream)) == 0) done = 1; if (!done) diff --git a/posix/glob.c b/posix/glob.c index 68ea205..b92dc24 100644 --- a/posix/glob.c +++ b/posix/glob.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2002, 2003, 2004, 2005, 2006, 2007, 2008, 2010, 2011 +/* Copyright (C) 1991-2002, 2003, 2004, 2005, 2006, 2007, 2008, 2010, 2011, 2012 Free Software Foundation, Inc. This file is part of the GNU C Library. @@ -1545,7 +1545,7 @@ glob_in_dir (const char *pattern, const char *directory, int flags, { #ifdef _LIBC int dfd = (__builtin_expect (flags & GLOB_ALTDIRFUNC, 0) - ? -1 : dirfd ((DIR *) stream)); + ? -1 : __dirfd ((DIR *) stream)); #endif int fnm_flags = ((!(flags & GLOB_PERIOD) ? FNM_PERIOD : 0) | ((flags & GLOB_NOESCAPE) ? FNM_NOESCAPE : 0) diff --git a/sysdeps/unix/sysv/linux/grantpt.c b/sysdeps/unix/sysv/linux/grantpt.c index 0a3cd47..06b696b 100644 --- a/sysdeps/unix/sysv/linux/grantpt.c +++ b/sysdeps/unix/sysv/linux/grantpt.c @@ -25,7 +25,7 @@ close_all_fds (void) { char *endp; long int fd = strtol (d->d_name, &endp, 10); - if (*endp == '\0' && fd != PTY_FILENO && fd != dirfd (dir)) + if (*endp == '\0' && fd != PTY_FILENO && fd != __dirfd (dir)) close_not_cancel_no_status (fd); } -- 2.7.4