From patchwork Thu Aug 17 20:58:09 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Lu, Hongjiu" X-Patchwork-Id: 22199 Received: (qmail 122473 invoked by alias); 17 Aug 2017 20:58:13 -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 122452 invoked by uid 89); 17 Aug 2017 20:58:12 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-24.4 required=5.0 tests=AWL, BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, KAM_LAZY_DOMAIN_SECURITY, NO_DNS_FOR_FROM, RP_MATCHES_RCVD autolearn=ham version=3.3.2 spammy= X-HELO: mga11.intel.com X-ExtLoop1: 1 Date: Thu, 17 Aug 2017 13:58:09 -0700 From: "H.J. Lu" To: GNU C Library Subject: [PATCH 2/4] Mark __internal_statvfs[64] with attribute_hidden [BZ #18822] Message-ID: <20170817205809.GA7760@gmail.com> Reply-To: "H.J. Lu" MIME-Version: 1.0 Content-Disposition: inline User-Agent: Mutt/1.8.3 (2017-05-23) Mark __internal_statvfs[64] with attribute_hidden to allow direct access to them within libc.so and libc.a without using GOT nor PLT. Tested on i686 and x86-64. OK for master? H.J. --- [BZ #18822] * include/sys/statvfs.h (__internal_statvfs): New prototype. (__internal_statvfs64): Likewise. * sysdeps/unix/sysv/linux/fstatvfs.c (__internal_statvfs): Removed. * sysdeps/unix/sysv/linux/fstatvfs64.c (__internal_statvfs64): Likewise. * sysdeps/unix/sysv/linux/statvfs.c (__internal_statvfs): Likewise. * sysdeps/unix/sysv/linux/statvfs64.c (__internal_statvfs64): Likewise. --- include/sys/statvfs.h | 8 ++++++++ sysdeps/unix/sysv/linux/fstatvfs.c | 4 ---- sysdeps/unix/sysv/linux/fstatvfs64.c | 5 ----- sysdeps/unix/sysv/linux/statvfs.c | 4 ---- sysdeps/unix/sysv/linux/statvfs64.c | 5 ----- 5 files changed, 8 insertions(+), 18 deletions(-) diff --git a/include/sys/statvfs.h b/include/sys/statvfs.h index fa3045386d..1a36ff6450 100644 --- a/include/sys/statvfs.h +++ b/include/sys/statvfs.h @@ -6,6 +6,14 @@ extern int __statvfs64 (const char *__file, struct statvfs64 *__buf); extern int __fstatvfs64 (int __fildes, struct statvfs64 *__buf); +extern void __internal_statvfs (const char *name, struct statvfs *buf, + struct statfs *fsbuf, int fd) + attribute_hidden; +extern void __internal_statvfs64 (const char *name, struct statvfs64 *buf, + struct statfs64 *fsbuf, int fd) + attribute_hidden; + + libc_hidden_proto (statvfs) libc_hidden_proto (fstatvfs) #endif diff --git a/sysdeps/unix/sysv/linux/fstatvfs.c b/sysdeps/unix/sysv/linux/fstatvfs.c index e07a5b9f3d..0a947c30db 100644 --- a/sysdeps/unix/sysv/linux/fstatvfs.c +++ b/sysdeps/unix/sysv/linux/fstatvfs.c @@ -21,10 +21,6 @@ #include #include -extern void __internal_statvfs (const char *name, struct statvfs *buf, - struct statfs *fsbuf, int fd); - - int __fstatvfs (int fd, struct statvfs *buf) { diff --git a/sysdeps/unix/sysv/linux/fstatvfs64.c b/sysdeps/unix/sysv/linux/fstatvfs64.c index 02a0d7ee42..bab3653e1b 100644 --- a/sysdeps/unix/sysv/linux/fstatvfs64.c +++ b/sysdeps/unix/sysv/linux/fstatvfs64.c @@ -23,11 +23,6 @@ #include #include - -extern void __internal_statvfs64 (const char *name, struct statvfs64 *buf, - struct statfs64 *fsbuf, int fd); - - /* Return information about the filesystem on which FD resides. */ int __fstatvfs64 (int fd, struct statvfs64 *buf) diff --git a/sysdeps/unix/sysv/linux/statvfs.c b/sysdeps/unix/sysv/linux/statvfs.c index 744336e33b..92aeb164ce 100644 --- a/sysdeps/unix/sysv/linux/statvfs.c +++ b/sysdeps/unix/sysv/linux/statvfs.c @@ -21,10 +21,6 @@ #include #include -extern void __internal_statvfs (const char *name, struct statvfs *buf, - struct statfs *fsbuf, int fd); - - int __statvfs (const char *file, struct statvfs *buf) { diff --git a/sysdeps/unix/sysv/linux/statvfs64.c b/sysdeps/unix/sysv/linux/statvfs64.c index a89f720b38..ff4bdc61d1 100644 --- a/sysdeps/unix/sysv/linux/statvfs64.c +++ b/sysdeps/unix/sysv/linux/statvfs64.c @@ -24,11 +24,6 @@ #include #include - -extern void __internal_statvfs64 (const char *name, struct statvfs64 *buf, - struct statfs64 *fsbuf, int fd); - - /* Return information about the filesystem on which FILE resides. */ int __statvfs64 (const char *file, struct statvfs64 *buf)