From patchwork Fri Sep 1 17:59:44 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "H.J. Lu" X-Patchwork-Id: 22528 Received: (qmail 86298 invoked by alias); 1 Sep 2017 18:00:55 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Delivered-To: mailing list libc-alpha@sourceware.org Received: (qmail 86196 invoked by uid 89); 1 Sep 2017 18:00:55 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-26.2 required=5.0 tests=BAYES_00, FREEMAIL_FROM, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, SPF_SOFTFAIL autolearn=ham version=3.3.2 spammy=H*m:gmail X-HELO: mga02.intel.com X-ExtLoop1: 1 From: "H.J. Lu" To: libc-alpha@sourceware.org Subject: [PATCH 13/58] Mark internal statfs functions with attribute_hidden [BZ #18822] Date: Fri, 1 Sep 2017 10:59:44 -0700 Message-Id: <20170901180029.9527-14-hjl.tools@gmail.com> In-Reply-To: <20170901180029.9527-1-hjl.tools@gmail.com> References: <20170901180029.9527-1-hjl.tools@gmail.com> Mark internal statfs functions with attribute_hidden to allow direct access within libc.so and libc.a without using GOT nor PLT. [BZ #18822] * include/sys/statfs.h (__fstatfs): Add attribute_hidden. (__statfs64): Likewise. (__fstatfs64): Likewise. * include/sys/statvfs.h (__statvfs64): Likewise. (__fstatvfs64): Likewise. * sysdeps/unix/sysv/linux/pathconf.h (__statfs_link_max): Likewise. (__statfs_filesize_max): Likewise. (__statfs_symlinks): Likewise. (__statfs_chown_restricted): Likewise. --- include/sys/statfs.h | 9 ++++++--- include/sys/statvfs.h | 6 ++++-- sysdeps/unix/sysv/linux/pathconf.h | 12 ++++++++---- 3 files changed, 18 insertions(+), 9 deletions(-) diff --git a/include/sys/statfs.h b/include/sys/statfs.h index 3fac4a3490..8a9f5a7b3b 100644 --- a/include/sys/statfs.h +++ b/include/sys/statfs.h @@ -6,9 +6,12 @@ /* Now define the internal interfaces. */ extern int __statfs (const char *__file, struct statfs *__buf); libc_hidden_proto (__statfs) -extern int __fstatfs (int __fildes, struct statfs *__buf); -extern int __statfs64 (const char *__file, struct statfs64 *__buf); -extern int __fstatfs64 (int __fildes, struct statfs64 *__buf); +extern int __fstatfs (int __fildes, struct statfs *__buf) + attribute_hidden; +extern int __statfs64 (const char *__file, struct statfs64 *__buf) + attribute_hidden; +extern int __fstatfs64 (int __fildes, struct statfs64 *__buf) + attribute_hidden; # endif /* !_ISOMAC */ #endif diff --git a/include/sys/statvfs.h b/include/sys/statvfs.h index fa3045386d..4cd1977c35 100644 --- a/include/sys/statvfs.h +++ b/include/sys/statvfs.h @@ -3,8 +3,10 @@ #ifndef _ISOMAC /* Now define the internal interfaces. */ -extern int __statvfs64 (const char *__file, struct statvfs64 *__buf); -extern int __fstatvfs64 (int __fildes, struct statvfs64 *__buf); +extern int __statvfs64 (const char *__file, struct statvfs64 *__buf) + attribute_hidden; +extern int __fstatvfs64 (int __fildes, struct statvfs64 *__buf) + attribute_hidden; libc_hidden_proto (statvfs) libc_hidden_proto (fstatvfs) diff --git a/sysdeps/unix/sysv/linux/pathconf.h b/sysdeps/unix/sysv/linux/pathconf.h index 5de2915f40..b9de04f268 100644 --- a/sysdeps/unix/sysv/linux/pathconf.h +++ b/sysdeps/unix/sysv/linux/pathconf.h @@ -24,17 +24,21 @@ /* Used like: return __statfs_link_max (__statfs (name, &buf), &buf, name, -1); */ extern long int __statfs_link_max (int result, const struct statfs *fsbuf, - const char *file, int fd); + const char *file, int fd) + attribute_hidden; /* Used like: return __statfs_filesize_max (__statfs (name, &buf), &buf); */ -extern long int __statfs_filesize_max (int result, const struct statfs *fsbuf); +extern long int __statfs_filesize_max (int result, const struct statfs *fsbuf) + attribute_hidden; /* Used like: return __statfs_link_max (__statfs (name, &buf), &buf); */ -extern long int __statfs_symlinks (int result, const struct statfs *fsbuf); +extern long int __statfs_symlinks (int result, const struct statfs *fsbuf) + attribute_hidden; /* Used like: return __statfs_chown_restricted (__statfs (name, &buf), &buf);*/ extern long int __statfs_chown_restricted (int result, - const struct statfs *fsbuf); + const struct statfs *fsbuf) + attribute_hidden;