[Xorg-driver-geode] [PATCH] Remove unrequired large file descriptor partial support
Gaetan Nadon
memsize at videotron.ca
Tue Nov 15 10:32:30 PST 2011
The LFS "transitional extension" API is deprecated and is not available on FreeBSD.
Large file support (64 bit) is not required on the geode 32 bit only architecture.
There are some hints that the LFS transional extension API were not used
correclty. The variable holding the value is held in an unsigned long rather
than in off_t. The msr open call did not use the O_LARGEFILE flag and did not
check for EOVERFLOW.
Signed-off-by: Gaetan Nadon <memsize at videotron.ca>
---
An alternate patch should we want to remove large file support rather than
replacing it. Only diff between the two is AC_SYS_LARGEFILE in configure.ac
Adding config.h in geode_msr is still a good idea.
src/durango.c | 2 --
src/geode_msr.c | 9 ++++++---
2 files changed, 6 insertions(+), 5 deletions(-)
diff --git a/src/durango.c b/src/durango.c
index 9d6970b..8795d41 100644
--- a/src/durango.c
+++ b/src/durango.c
@@ -32,8 +32,6 @@
#include "config.h"
#endif
-#define _LARGEFILE64_SOURCE
-
#include <unistd.h>
#include <errno.h>
#include <compiler.h>
diff --git a/src/geode_msr.c b/src/geode_msr.c
index 6de693f..26fd78f 100644
--- a/src/geode_msr.c
+++ b/src/geode_msr.c
@@ -1,4 +1,7 @@
-#define _LARGEFILE64_SOURCE
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
#include <stdio.h>
#include <unistd.h>
#include <fcntl.h>
@@ -31,7 +34,7 @@ GeodeReadMSR(unsigned long addr, unsigned long *lo, unsigned long *hi)
if (fd == -1)
return -1;
- ret = lseek64(fd, (off64_t) addr, SEEK_SET);
+ ret = lseek(fd, (off_t) addr, SEEK_SET);
if (ret == -1)
return -1;
@@ -56,7 +59,7 @@ GeodeWriteMSR(unsigned long addr, unsigned long lo, unsigned long hi)
if (fd == -1)
return -1;
- if (lseek64(fd, (off64_t) addr, SEEK_SET) == -1)
+ if (lseek(fd, (off_t) addr, SEEK_SET) == -1)
return -1;
data[0] = lo;
--
1.7.4.1
More information about the Xorg-driver-geode
mailing list