From 9e878fa9578469332a44ae7d9813a0d29697eeaf Mon Sep 17 00:00:00 2001 From: Steve Ellcey Date: Mon, 28 Nov 2016 08:51:01 -0800 Subject: [PATCH] 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. --- ChangeLog | 6 ++++++ sysdeps/unix/sysv/linux/fstatfs64.c | 19 +++++++++++-------- sysdeps/unix/sysv/linux/statfs64.c | 19 +++++++++++-------- 3 files changed, 28 insertions(+), 16 deletions(-) diff --git a/ChangeLog b/ChangeLog index 7b54d4d..5719580 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2016-11-28 Steve Ellcey + + * 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 * 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 a95fe18..42b2257 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 . */ +#include +#include +#include +#include +#include + /* 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 -#include +#if STATFS_IS_STATFS64 +# define __fstatfs __fstatfs_disable +# define fstatfs fstatfs_disable +#endif #include -#include -#include -#include + #include /* Defined in statfs64.c. */ diff --git a/sysdeps/unix/sysv/linux/statfs64.c b/sysdeps/unix/sysv/linux/statfs64.c index 4315fe5..9dbd61f 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 . */ +#include +#include +#include +#include +#include + /* 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 -#include +#if STATFS_IS_STATFS64 +# define __statfs __statfs_disable +# define statfs statfs_disable +#endif #include -#include -#include -#include + #include -- 2.7.4