OSDN Git Service

Add in support for ftruncate64 on both ARM and x86
authorEric Andersen <andersen@codepoet.org>
Sun, 31 Mar 2002 01:03:15 +0000 (01:03 -0000)
committerEric Andersen <andersen@codepoet.org>
Sun, 31 Mar 2002 01:03:15 +0000 (01:03 -0000)
 -Erik

libc/sysdeps/linux/arm/Makefile
libc/sysdeps/linux/arm/ftruncate64.c [new file with mode: 0644]
libc/sysdeps/linux/i386/Makefile
libc/sysdeps/linux/i386/ftruncate64.c [new file with mode: 0644]

index c5a96de..b29e2c6 100644 (file)
@@ -33,7 +33,7 @@ CRT0_OBJ=crt0.o
 SSRC=__longjmp.S vfork.S clone.S setjmp.S bsd-setjmp.S bsd-_setjmp.S
 SOBJS=$(patsubst %.S,%.o, $(SSRC))
 
-CSRC=inout_bwl.c brk.c
+CSRC=inout_bwl.c brk.c ftruncate64.c
 COBJS=$(patsubst %.c,%.o, $(CSRC))
 
 OBJS=$(SOBJS) $(MOBJ) $(COBJS)
diff --git a/libc/sysdeps/linux/arm/ftruncate64.c b/libc/sysdeps/linux/arm/ftruncate64.c
new file mode 100644 (file)
index 0000000..8827e0d
--- /dev/null
@@ -0,0 +1,22 @@
+/*
+ * ftruncate64 syscall for linux/arm
+ *
+ *  Copyright (C) 2002  Erik Andersen <andersen@codepoet.org>
+ *
+ * This file is subject to the terms and conditions of the GNU Lesser
+ * General Public License.  See the file COPYING.LIB in the main
+ * directory of this archive for more details.
+ */
+
+#include <features.h>
+#include <unistd.h>
+#include <errno.h>
+#include <sys/syscall.h>
+
+#if defined __UCLIBC_HAVE_LFS__ && defined __NR_ftruncate64
+
+/* Unlike some architectures, arm can pass an off64_t directly 
+ * into a syscall so we don't need to do anything special */
+extern _syscall2 (int, _ftruncate64, int, fd, __off64_t, length);
+
+#endif /* __UCLIBC_HAVE_LFS__ */
index c15751e..51a0136 100644 (file)
@@ -42,7 +42,7 @@ ifeq ($(UNIFIED_SYSCALL),true)
 endif
 SOBJS=$(patsubst %.S,%.o, $(SSRC))
 
-CSRC=brk.c
+CSRC=brk.c ftruncate64.c
 COBJS=$(patsubst %.c,%.o, $(CSRC))
 
 OBJS=$(SOBJS) $(COBJS)
diff --git a/libc/sysdeps/linux/i386/ftruncate64.c b/libc/sysdeps/linux/i386/ftruncate64.c
new file mode 100644 (file)
index 0000000..e6d66e9
--- /dev/null
@@ -0,0 +1,22 @@
+/*
+ * ftruncate64 syscall for linux/i386
+ *
+ *  Copyright (C) 2002  Erik Andersen <andersen@codepoet.org>
+ *
+ * This file is subject to the terms and conditions of the GNU Lesser
+ * General Public License.  See the file COPYING.LIB in the main
+ * directory of this archive for more details.
+ */
+
+#include <features.h>
+#include <unistd.h>
+#include <errno.h>
+#include <sys/syscall.h>
+
+#if defined __UCLIBC_HAVE_LFS__ && defined __NR_ftruncate64
+
+/* Unlike some architectures, i386 can pass an off64_t directly 
+ * into a syscall so we don't need to do anything special */
+extern _syscall2 (int, ftruncate64, int, fd, __off64_t, length);
+
+#endif /* __UCLIBC_HAVE_LFS__ */