Mark __internal_statvfs[64] with attribute_hidden [BZ #18822]

Mark __internal_statvfs[64] with attribute_hidden to allow direct access
to them within libc.so and libc.a without using GOT nor PLT.

	[BZ #18822]
	* sysdeps/unix/sysv/linux/fstatvfs.c: Include "internal_statvfs.h"
	instead of <sys/statvfs.h>.
	(__internal_statvfs): Removed.
	* sysdeps/unix/sysv/linux/fstatvfs64.c Include "internal_statvfs.h"
	instead of <sys/statvfs.h>.
	(__internal_statvfs64): Removed.
	* sysdeps/unix/sysv/linux/internal_statvfs.c: Include
	"internal_statvfs.h" instead of <sys/statvfs.h>.
	* sysdeps/unix/sysv/linux/internal_statvfs.h: New file.
	* sysdeps/unix/sysv/linux/statvfs.c Include "internal_statvfs.h"
	instead of <sys/statvfs.h>.
	(__internal_statvfs): Removed.
	* sysdeps/unix/sysv/linux/statvfs64.c Include "internal_statvfs.h"
	instead of <sys/statvfs.h>.
	(__internal_statvfs64): Removed.
This commit is contained in:
H.J. Lu 2017-10-01 15:08:14 -07:00
parent 8bcdb7e0c5
commit 3aff56444e
7 changed files with 50 additions and 23 deletions

View File

@ -1,3 +1,22 @@
2017-10-01 H.J. Lu <hongjiu.lu@intel.com>
[BZ #18822]
* sysdeps/unix/sysv/linux/fstatvfs.c: Include "internal_statvfs.h"
instead of <sys/statvfs.h>.
(__internal_statvfs): Removed.
* sysdeps/unix/sysv/linux/fstatvfs64.c Include "internal_statvfs.h"
instead of <sys/statvfs.h>.
(__internal_statvfs64): Removed.
* sysdeps/unix/sysv/linux/internal_statvfs.c: Include
"internal_statvfs.h" instead of <sys/statvfs.h>.
* sysdeps/unix/sysv/linux/internal_statvfs.h: New file.
* sysdeps/unix/sysv/linux/statvfs.c Include "internal_statvfs.h"
instead of <sys/statvfs.h>.
(__internal_statvfs): Removed.
* sysdeps/unix/sysv/linux/statvfs64.c Include "internal_statvfs.h"
instead of <sys/statvfs.h>.
(__internal_statvfs64): Removed.
2017-10-01 H.J. Lu <hongjiu.lu@intel.com>
[BZ #18822]

View File

@ -19,11 +19,7 @@
#include <stddef.h>
#include <sys/stat.h>
#include <sys/statfs.h>
#include <sys/statvfs.h>
extern void __internal_statvfs (const char *name, struct statvfs *buf,
struct statfs *fsbuf, int fd);
#include "internal_statvfs.h"
int
__fstatvfs (int fd, struct statvfs *buf)

View File

@ -20,14 +20,9 @@
#include <string.h>
#include <sys/stat.h>
#include <sys/statfs.h>
#include <sys/statvfs.h>
#include "internal_statvfs.h"
#include <kernel-features.h>
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)

View File

@ -26,7 +26,7 @@
#include <sys/mount.h>
#include <sys/stat.h>
#include <sys/statfs.h>
#include <sys/statvfs.h>
#include "internal_statvfs.h"
#include "linux_fsinfo.h"
#include <kernel-features.h>

View File

@ -0,0 +1,26 @@
/* Internal statvfs/statvfs64 function prototypes.
Copyright (C) 2017 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
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
#include <sys/statvfs.h>
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;

View File

@ -19,11 +19,7 @@
#include <stddef.h>
#include <sys/stat.h>
#include <sys/statfs.h>
#include <sys/statvfs.h>
extern void __internal_statvfs (const char *name, struct statvfs *buf,
struct statfs *fsbuf, int fd);
#include "internal_statvfs.h"
int
__statvfs (const char *file, struct statvfs *buf)

View File

@ -21,14 +21,9 @@
#include <string.h>
#include <sys/stat.h>
#include <sys/statfs.h>
#include <sys/statvfs.h>
#include "internal_statvfs.h"
#include <kernel-features.h>
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)