_GNU_SOURCE is supposed to imply _LARGEFILE64_SOURCE
authorRich Felker <dalias@aerifal.cx>
Mon, 4 Jun 2012 12:03:56 +0000 (08:03 -0400)
committerRich Felker <dalias@aerifal.cx>
Mon, 4 Jun 2012 12:03:56 +0000 (08:03 -0400)
this is ugly and stupid, but now that the *64 symbol names exist, a
lot of broken GNU software detects them in configure, then either
breaks during build due to missing off64_t definition, or attempts to
compile without function declarations/prototypes. "fixing" it here is
easier than telling everyone to add yet another feature test macro to
their builds.

15 files changed:
include/aio.h
include/dirent.h
include/fcntl.h
include/ftw.h
include/glob.h
include/stdio.h
include/stdlib.h
include/sys/mman.h
include/sys/resource.h
include/sys/sendfile.h
include/sys/stat.h
include/sys/statfs.h
include/sys/statvfs.h
include/sys/types.h
include/unistd.h

index ffb357c..d97874e 100644 (file)
@@ -48,7 +48,7 @@ int aio_fsync(int, struct aiocb *);
 
 int lio_listio(int, struct aiocb *const [], int, struct sigevent *);
 
-#ifdef _LARGEFILE64_SOURCE
+#if defined(_LARGEFILE64_SOURCE) || defined(_GNU_SOURCE)
 #define aiocb64 aiocb
 #define aio_read64 aio_read
 #define aio_write64 aio_write
index 8162356..cb8cb24 100644 (file)
@@ -50,7 +50,7 @@ int scandir(const char *, struct dirent ***, int (*)(const struct dirent *), int
 #define DTTOIF(x) ((x)<<12)
 #endif
 
-#ifdef _LARGEFILE64_SOURCE
+#if defined(_LARGEFILE64_SOURCE) || defined(_GNU_SOURCE)
 #define dirent64 dirent
 #define readdir64 readdir
 #define readdir64_r readdir_r
index 85f867b..36fb24b 100644 (file)
@@ -99,7 +99,7 @@ int posix_fallocate(int, off_t, off_t);
 int lockf(int, int, off_t);
 #endif
 
-#ifdef _LARGEFILE64_SOURCE
+#if defined(_LARGEFILE64_SOURCE) || defined(_GNU_SOURCE)
 #define open64 open
 #define openat64 openat
 #define creat64 creat
index ffbddfa..e7e8fde 100644 (file)
@@ -32,7 +32,7 @@ struct FTW
 int ftw(const char *, int (*)(const char *, const struct stat *, int), int);
 int nftw(const char *, int (*)(const char *, const struct stat *, int, struct FTW *), int, int);
 
-#ifdef _LARGEFILE64_SOURCE
+#if defined(_LARGEFILE64_SOURCE) || defined(_GNU_SOURCE)
 #define ftw64 ftw
 #define nftw64 nftw
 #endif
index 92ec751..376baa7 100644 (file)
@@ -34,7 +34,7 @@ void globfree(glob_t *);
 #define GLOB_NOMATCH 3
 #define GLOB_NOSYS   4
 
-#ifdef _LARGEFILE64_SOURCE
+#if defined(_LARGEFILE64_SOURCE) || defined(_GNU_SOURCE)
 #define glob64 glob
 #define globfree64 globfree
 #endif
index fa1b4e9..edcf2e6 100644 (file)
@@ -177,7 +177,7 @@ char *fgets_unlocked(char *, int, FILE *);
 int fputs_unlocked(const char *, FILE *);
 #endif
 
-#ifdef _LARGEFILE64_SOURCE
+#if defined(_LARGEFILE64_SOURCE) || defined(_GNU_SOURCE)
 #define tmpfile64 tmpfile
 #define fopen64 fopen
 #define freopen64 freopen
index 644325e..0a8de86 100644 (file)
@@ -147,7 +147,7 @@ char *fcvt(double, int, int *, int *);
 char *gcvt(double, int, char *);
 #endif
 
-#ifdef _LARGEFILE64_SOURCE
+#if defined(_LARGEFILE64_SOURCE) || defined(_GNU_SOURCE)
 #define mkstemp64 mkstemp
 #endif
 
index a45f11d..5cfafbe 100644 (file)
@@ -36,7 +36,7 @@ int madvise (void *, size_t, int);
 int shm_open (const char *, int, mode_t);
 int shm_unlink (const char *);
 
-#ifdef _LARGEFILE64_SOURCE
+#if defined(_LARGEFILE64_SOURCE) || defined(_GNU_SOURCE)
 #define mmap64 mmap
 #define off64_t off_t
 #endif
index 4baceb3..bf59d1c 100644 (file)
@@ -87,7 +87,7 @@ int prlimit(pid_t, int, const struct rlimit *, struct rlimit *);
 
 #define RLIM_NLIMITS RLIMIT_NLIMITS
 
-#ifdef _LARGEFILE64_SOURCE
+#if defined(_LARGEFILE64_SOURCE) || defined(_GNU_SOURCE)
 #define getrlimit64 getrlimit
 #define setrlimit64 setrlimit
 #define rlimit64 rlimit
index ba9aa54..4bd3ec6 100644 (file)
@@ -9,7 +9,7 @@ extern "C" {
 
 ssize_t sendfile(int, int, off_t *, size_t);
 
-#ifdef _LARGEFILE64_SOURCE
+#if defined(_LARGEFILE64_SOURCE) || defined(_GNU_SOURCE)
 #define sendfile64 sendfile
 #define off64_t off_t
 #endif
index 14a5424..2a7ce23 100644 (file)
@@ -96,7 +96,7 @@ int lchmod(const char *, mode_t);
 #define S_IEXEC S_IXUSR
 #endif
 
-#ifdef _LARGEFILE64_SOURCE
+#if defined(_LARGEFILE64_SOURCE) || defined(_GNU_SOURCE)
 #define stat64 stat
 #define fstat64 fstat
 #define lstat64 lstat
index c1cbe9e..a5a4db9 100644 (file)
@@ -16,7 +16,7 @@ typedef struct {
 int statfs (const char *, struct statfs *);
 int fstatfs (int, struct statfs *);
 
-#ifdef _LARGEFILE64_SOURCE
+#if defined(_LARGEFILE64_SOURCE) || defined(_GNU_SOURCE)
 #define statfs64 statfs
 #define fstatfs64 fstatfs
 #define fsblkcnt64_t fsblkcnt_t
index 3eaa2dc..0a3ac9e 100644 (file)
@@ -41,7 +41,7 @@ int fstatvfs (int, struct statvfs *);
 #define ST_NOATIME     1024
 #define ST_NODIRATIME  2048
 
-#ifdef _LARGEFILE64_SOURCE
+#if defined(_LARGEFILE64_SOURCE) || defined(_GNU_SOURCE)
 #define statvfs64 statvfs
 #define fstatvfs64 fstatvfs
 #define fsblkcnt64_t fsblkcnt_t
index 4b1e374..f5b6487 100644 (file)
@@ -72,7 +72,7 @@ typedef long register_t;
 #include <sys/sysmacros.h>
 #endif
 
-#ifdef _LARGEFILE64_SOURCE
+#if defined(_LARGEFILE64_SOURCE) || defined(_GNU_SOURCE)
 #define blksize64_t blksize_t
 #define blkcnt64_t blkcnt_t
 #define fsblkcnt64_t fsblkcnt_t
index 7f2dd68..9c737f7 100644 (file)
@@ -176,7 +176,7 @@ int getresgid(gid_t *, gid_t *, gid_t *);
 char *get_current_dir_name(void);
 #endif
 
-#ifdef _LARGEFILE64_SOURCE
+#if defined(_LARGEFILE64_SOURCE) || defined(_GNU_SOURCE)
 #define lseek64 lseek
 #define pread64 pread
 #define pwrite64 pwrite