[klibc] lseek: give gcc a little optimization hint

It looks like gcc generates some epicly confused code for splitting
the two halves of the offset argument to lseek() at least on i386.
Copy it into an unsigned long long before breaking it apart seems to
help.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
diff --git a/usr/klibc/lseek.c b/usr/klibc/lseek.c
index a313bed..f262d19 100644
--- a/usr/klibc/lseek.c
+++ b/usr/klibc/lseek.c
@@ -18,13 +18,14 @@
 
 off_t lseek(int fd, off_t offset, int whence)
 {
+	unsigned long long ullo = offset;
 	off_t result;
 	int rv;
 
-	rv = __llseek(fd, (unsigned long)(offset >> 32), (unsigned long)offset,
+	rv = __llseek(fd, (unsigned long)(ullo >> 32), (unsigned long)ullo,
 		      &result, whence);
 
-	return rv ? (off_t) - 1 : result;
+	return rv ? (off_t)-1 : result;
 }
 
 #endif