Fix O_LARGEFILE handling for i386 open

diff --git a/klibc/arch/i386/open.S b/klibc/arch/i386/open.S
index 8dfc5af..adc7f1d 100644
--- a/klibc/arch/i386/open.S
+++ b/klibc/arch/i386/open.S
@@ -7,6 +7,9 @@
 
 #include <asm/unistd.h>
 
+/* <asm/fcntl.h>, despite the name, isn't assembly-safe */
+#define O_LARGEFILE     0100000
+	
 	.globl	open
 	.type	open,@function
 
@@ -15,6 +18,9 @@
 	movl	4(%esp),%eax
 	movl	8(%esp),%edx
 	movl	12(%esp),%ecx
+	orl	$O_LARGEFILE,%edx
+#else
+	orl	$O_LARGEFILE,8(%esp)
 #endif
 	pushl	$__NR_open
 	jmp	__syscall_common