about summary refs log tree commit diff
diff options
context:
space:
mode:
authorChris Metcalf <cmetcalf@tilera.com>2012-01-28 12:07:46 -0500
committerChris Metcalf <cmetcalf@tilera.com>2012-06-28 11:05:49 -0400
commit2fbd159a77db9e6a08e637fb247c782cfac6f78f (patch)
tree7f75dcfe4aad9f76ea9a3a54306b64b3d936ef61
parent730ca05f093c53088f1d174ee68f1d8c82e5c998 (diff)
downloadglibc-2fbd159a77db9e6a08e637fb247c782cfac6f78f.tar.gz
glibc-2fbd159a77db9e6a08e637fb247c782cfac6f78f.tar.xz
glibc-2fbd159a77db9e6a08e637fb247c782cfac6f78f.zip
Call __fxstatat64 from faccessat() to avoid PLT in -Os builds.
(cherry picked from commit 3601428fb029e1c6e98d409dad64d709972cdf57)
-rw-r--r--ChangeLog4
-rw-r--r--sysdeps/unix/sysv/linux/faccessat.c4
2 files changed, 6 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 53ffbe2b53..f665050a29 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
 2012-01-28  Chris Metcalf  <cmetcalf@tilera.com>
 
+	* sysdeps/unix/sysv/linux/faccessat.c (faccessat): Call __fxstatat64.
+
+2012-01-28  Chris Metcalf  <cmetcalf@tilera.com>
+
 	* include/sys/epoll.h: New file.
 	* sysdeps/unix/sysv/linux/epoll_pwait.c (epoll_pwait): Mark as
 	libc_hidden_def.
diff --git a/sysdeps/unix/sysv/linux/faccessat.c b/sysdeps/unix/sysv/linux/faccessat.c
index c154deb40f..bff7a4b6fd 100644
--- a/sysdeps/unix/sysv/linux/faccessat.c
+++ b/sysdeps/unix/sysv/linux/faccessat.c
@@ -1,5 +1,5 @@
 /* Test for access to file, relative to open directory.  Linux version.
-   Copyright (C) 2006, 2009 Free Software Foundation, Inc.
+   Copyright (C) 2006, 2009, 2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -114,7 +114,7 @@ faccessat (fd, file, mode, flag)
 #endif
 
   struct stat64 stats;
-  if (fstatat64 (fd, file, &stats, flag & AT_SYMLINK_NOFOLLOW))
+  if (__fxstatat64 (_STAT_VER, fd, file, &stats, flag & AT_SYMLINK_NOFOLLOW))
     return -1;
 
   mode &= (X_OK | W_OK | R_OK);	/* Clear any bogus bits. */