_GNU_SOURCE is supposed to imply _LARGEFILE64_SOURCE

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.
This commit is contained in:
Rich Felker 2012-06-04 08:03:56 -04:00
commit 3b94daba71
15 changed files with 15 additions and 15 deletions

View 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

View 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

View 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

View 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

View 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

View 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

View 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