diff options
author | Eric Andersen <andersen@codepoet.org> | 2002-03-31 01:03:15 +0000 |
---|---|---|
committer | Eric Andersen <andersen@codepoet.org> | 2002-03-31 01:03:15 +0000 |
commit | 8ba7d3bab5a6510fa5ee12d033eb0a26966ea3d3 (patch) | |
tree | e41519f92e77b3dc31a0033935891bbdda4097bd /libc | |
parent | f5980ff9299c469eb5c6920e67e9bf2b70925bba (diff) |
Add in support for ftruncate64 on both ARM and x86
-Erik
Diffstat (limited to 'libc')
-rw-r--r-- | libc/sysdeps/linux/arm/Makefile | 2 | ||||
-rw-r--r-- | libc/sysdeps/linux/arm/ftruncate64.c | 22 | ||||
-rw-r--r-- | libc/sysdeps/linux/i386/Makefile | 2 | ||||
-rw-r--r-- | libc/sysdeps/linux/i386/ftruncate64.c | 22 |
4 files changed, 46 insertions, 2 deletions
diff --git a/libc/sysdeps/linux/arm/Makefile b/libc/sysdeps/linux/arm/Makefile index c5a96dea8..b29e2c641 100644 --- a/libc/sysdeps/linux/arm/Makefile +++ b/libc/sysdeps/linux/arm/Makefile @@ -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 index 000000000..8827e0d01 --- /dev/null +++ b/libc/sysdeps/linux/arm/ftruncate64.c @@ -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__ */ diff --git a/libc/sysdeps/linux/i386/Makefile b/libc/sysdeps/linux/i386/Makefile index c15751ee1..51a013620 100644 --- a/libc/sysdeps/linux/i386/Makefile +++ b/libc/sysdeps/linux/i386/Makefile @@ -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 index 000000000..e6d66e9ee --- /dev/null +++ b/libc/sysdeps/linux/i386/ftruncate64.c @@ -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__ */ |