fa1c862617
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Reviewed-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
73 lines
2.1 KiB
Diff
73 lines
2.1 KiB
Diff
From: Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org>
|
|
Date: Sat, 5 Nov 2011 20:59:01 +0000 (+0100)
|
|
Subject: posix: fix compilation for LFS
|
|
X-Git-Url: http://git.xenomai.org/?p=xenomai-2.6.git;a=commitdiff_plain;h=06ae5c5e47fbfd9d8dbbe6fcf1a1db0c14bad9de;hp=8f6feff876029244dabc1257cdf13209fbd64fb5
|
|
|
|
posix: fix compilation for LFS
|
|
---
|
|
|
|
diff --git a/include/posix/sys/mman.h b/include/posix/sys/mman.h
|
|
index 455e565..a304755 100644
|
|
--- a/include/posix/sys/mman.h
|
|
+++ b/include/posix/sys/mman.h
|
|
@@ -63,17 +63,16 @@ int __real_shm_open(const char *name, int oflag, mode_t mode);
|
|
|
|
int __real_shm_unlink(const char *name);
|
|
|
|
-#if !defined(_FILE_OFFSET_BITS) || _FILE_OFFSET_BITS != 64
|
|
void *__real_mmap(void *addr,
|
|
size_t len,
|
|
int prot,
|
|
int flags,
|
|
int fildes,
|
|
long off);
|
|
-#else
|
|
-#define __real_mmap __real_mmap64
|
|
-#endif
|
|
-#ifdef _LARGEFILE64_SOURCE
|
|
+
|
|
+#if __WORDSIZE == 32
|
|
+#if defined(_LARGEFILE64_SOURCE) \
|
|
+ || defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS == 64
|
|
void *__real_mmap64(void *addr,
|
|
size_t len,
|
|
int prot,
|
|
@@ -82,6 +81,11 @@ void *__real_mmap64(void *addr,
|
|
long long off);
|
|
#endif
|
|
|
|
+#if defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS == 64
|
|
+#define __real_mmap __real_mmap64
|
|
+#endif
|
|
+#endif
|
|
+
|
|
int __real_munmap(void *addr, size_t len);
|
|
|
|
#ifdef __cplusplus
|
|
diff --git a/include/posix/unistd.h b/include/posix/unistd.h
|
|
index 49463a0..90cce86 100644
|
|
--- a/include/posix/unistd.h
|
|
+++ b/include/posix/unistd.h
|
|
@@ -54,13 +54,17 @@ int ftruncate(int fildes, off_t length);
|
|
extern "C" {
|
|
#endif
|
|
|
|
-#if !defined(_FILE_OFFSET_BITS) || _FILE_OFFSET_BITS != 64
|
|
int __real_ftruncate(int fildes, long length);
|
|
-#else
|
|
+
|
|
+#if __WORDSIZE == 32
|
|
+#if defined(_LARGEFILE64_SOURCE) \
|
|
+ || defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS == 64
|
|
+int __real_ftruncate64(int fildes, long long length);
|
|
+#endif
|
|
+
|
|
+#if defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS == 64
|
|
#define __real_ftruncate __real_ftruncate64
|
|
#endif
|
|
-#ifdef _LARGEFILE64_SOURCE
|
|
-int __real_ftruncate64(int fildes, long long length);
|
|
#endif
|
|
|
|
ssize_t __real_read(int fd, void *buf, size_t nbyte);
|