From 8ba7d3bab5a6510fa5ee12d033eb0a26966ea3d3 Mon Sep 17 00:00:00 2001 From: Eric Andersen Date: Sun, 31 Mar 2002 01:03:15 +0000 Subject: Add in support for ftruncate64 on both ARM and x86 -Erik --- libc/sysdeps/linux/arm/Makefile | 2 +- libc/sysdeps/linux/arm/ftruncate64.c | 22 ++++++++++++++++++++++ libc/sysdeps/linux/i386/Makefile | 2 +- libc/sysdeps/linux/i386/ftruncate64.c | 22 ++++++++++++++++++++++ 4 files changed, 46 insertions(+), 2 deletions(-) create mode 100644 libc/sysdeps/linux/arm/ftruncate64.c create mode 100644 libc/sysdeps/linux/i386/ftruncate64.c (limited to 'libc/sysdeps') 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 + * + * 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 +#include +#include +#include + +#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 + * + * 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 +#include +#include +#include + +#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__ */ -- cgit v1.2.3