about summary refs log tree commit diff homepage
path: root/runtime/POSIX/fd_64.c
diff options
context:
space:
mode:
authorMartin Nowack <martin.nowack@gmail.com>2013-09-02 17:15:11 +0200
committerMartin Nowack <martin.nowack@gmail.com>2013-09-02 17:19:08 +0200
commit1e63f37178748da804aae3a4735fca73dee5d53a (patch)
tree843a1e6762e2022c884348342682791832d92cc8 /runtime/POSIX/fd_64.c
parent5878249b4f8276773349a1544ea22478afd0ee50 (diff)
downloadklee-1e63f37178748da804aae3a4735fca73dee5d53a.tar.gz
Fixed multiple definitions of POSIX file functions
Function like stat() were defined for 32bit and 64bit version.
Added compile time based selection of appropriate version
using GNUC macros __x86_64__ and __ppc64__.
Diffstat (limited to 'runtime/POSIX/fd_64.c')
-rw-r--r--runtime/POSIX/fd_64.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/runtime/POSIX/fd_64.c b/runtime/POSIX/fd_64.c
index d0710caf..c84599ff 100644
--- a/runtime/POSIX/fd_64.c
+++ b/runtime/POSIX/fd_64.c
@@ -7,6 +7,15 @@
 //
 //===----------------------------------------------------------------------===//
 
+#if __GNUC__
+#if __x86_64__ || __ppc64__
+#define ENV64
+#else
+#define ENV32
+#endif
+#endif
+
+#ifdef ENV64
 #define _LARGEFILE64_SOURCE
 #define _FILE_OFFSET_BITS 64
 #include "fd.h"
@@ -88,3 +97,5 @@ int getdents64(unsigned int fd, struct dirent *dirp, unsigned int count) {
 }
 int __getdents64(unsigned int fd, struct dirent *dirp, unsigned int count)
      __attribute__((alias("getdents64")));
+
+#endif