diff options
author | Steve Ellcey <sellcey@caviumnetworks.com> | 2016-11-28 08:51:01 -0800 |
---|---|---|
committer | Steve Ellcey <sellcey@caviumnetworks.com> | 2016-11-28 08:51:01 -0800 |
commit | 9e878fa9578469332a44ae7d9813a0d29697eeaf (patch) | |
tree | 0b409f344713a223fb6494f7302aaca70a6bb790 | |
parent | b5e35350aa715e1d06b670764564ddaaef26d747 (diff) | |
download | glibc-9e878fa9578469332a44ae7d9813a0d29697eeaf.tar.gz glibc-9e878fa9578469332a44ae7d9813a0d29697eeaf.tar.xz glibc-9e878fa9578469332a44ae7d9813a0d29697eeaf.zip |
Fix for [f]statfs64/[f]statfs aliasing patch
* sysdeps/unix/sysv/linux/fstatfs64.c: Reorder include files, only alias fstatfs and __fstatfs if STATFS_IS_STATFS64 is non-zero. * sysdeps/unix/sysv/linux/statfs64.c: Ditto for statfs and __statfs.
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/fstatfs64.c | 19 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/statfs64.c | 19 |
3 files changed, 28 insertions, 16 deletions
diff --git a/ChangeLog b/ChangeLog index 7b54d4d249..5719580afb 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2016-11-28 Steve Ellcey <sellcey@caviumnetworks.com> + + * sysdeps/unix/sysv/linux/fstatfs64.c: Reorder include files, + only alias fstatfs and __fstatfs if STATFS_IS_STATFS64 is non-zero. + * sysdeps/unix/sysv/linux/statfs64.c: Ditto for statfs and __statfs. + 2016-11-28 Joseph Myers <joseph@codesourcery.com> * sysdeps/unix/sysv/linux/nios2/sys/cachectl.h: Do not include diff --git a/sysdeps/unix/sysv/linux/fstatfs64.c b/sysdeps/unix/sysv/linux/fstatfs64.c index a95fe187ca..42b225778b 100644 --- a/sysdeps/unix/sysv/linux/fstatfs64.c +++ b/sysdeps/unix/sysv/linux/fstatfs64.c @@ -16,20 +16,23 @@ License along with the GNU C Library; if not, see <http://www.gnu.org/licenses/>. */ +#include <errno.h> +#include <string.h> +#include <stddef.h> +#include <sysdep.h> +#include <kernel_stat.h> + /* Hide the prototypes for __fstatfs and fstatfs so that GCC will not complain about the different function signatures if they are aliased to __fstat64. If STATFS_IS_STATFS64 is not zero then the statfs and statfs64 structures have an identical layout but different type names. */ -#define __fstatfs __fstatfs_disable -#define fstatfs fstatfs_disable - -#include <errno.h> -#include <string.h> +#if STATFS_IS_STATFS64 +# define __fstatfs __fstatfs_disable +# define fstatfs fstatfs_disable +#endif #include <sys/statfs.h> -#include <kernel_stat.h> -#include <stddef.h> -#include <sysdep.h> + #include <kernel-features.h> /* Defined in statfs64.c. */ diff --git a/sysdeps/unix/sysv/linux/statfs64.c b/sysdeps/unix/sysv/linux/statfs64.c index 4315fe501c..9dbd61f562 100644 --- a/sysdeps/unix/sysv/linux/statfs64.c +++ b/sysdeps/unix/sysv/linux/statfs64.c @@ -16,20 +16,23 @@ License along with the GNU C Library; if not, see <http://www.gnu.org/licenses/>. */ +#include <errno.h> +#include <string.h> +#include <stddef.h> +#include <sysdep.h> +#include <kernel_stat.h> + /* Hide the prototypes for __statfs and statfs so that GCC will not complain about the different function signatures if they are aliased to __stat64. If STATFS_IS_STATFS64 is not zero then the statfs and statfs64 structures have an identical layout but different type names. */ -#define __statfs __statfs_disable -#define statfs statfs_disable - -#include <errno.h> -#include <string.h> +#if STATFS_IS_STATFS64 +# define __statfs __statfs_disable +# define statfs statfs_disable +#endif #include <sys/statfs.h> -#include <kernel_stat.h> -#include <stddef.h> -#include <sysdep.h> + #include <kernel-features.h> |