This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
[PATCH 13/58] Mark internal statfs functions with attribute_hidden [BZ #18822]
- From: "H.J. Lu" <hjl dot tools at gmail dot com>
- To: libc-alpha at sourceware dot org
- Date: Fri, 1 Sep 2017 10:59:44 -0700
- Subject: [PATCH 13/58] Mark internal statfs functions with attribute_hidden [BZ #18822]
- Authentication-results: sourceware.org; auth=none
- 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;
--
2.13.5