summaryrefslogtreecommitdiff
path: root/libc/sysdeps/linux/xtensa
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2013-04-01 05:53:38 -0400
committerMike Frysinger <vapier@gentoo.org>2013-04-01 05:58:03 -0400
commit564a95241f8468145ff85998ef9173c46aed7636 (patch)
treed5f70f34fd006802eba3f27536cc93f233018cf2 /libc/sysdeps/linux/xtensa
parent81c9eaafecd4b3d53ef09931fe2c65de1cda98ca (diff)
linux: pread/write: convert to SYSCALL_ALIGN_64BIT
The pread64/write64 syscalls have the 64bit register align issue for all arches. Use this new define so we can merge the powerc/xtensa versions back into the common code. SuperH is funky and also allows us to do this. We should be able to merge the mips version too, but that'll require someone to take a closer look as the current stuff doesn't look quite right. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Diffstat (limited to 'libc/sysdeps/linux/xtensa')
-rw-r--r--libc/sysdeps/linux/xtensa/Makefile.arch2
-rw-r--r--libc/sysdeps/linux/xtensa/pread_write.c46
2 files changed, 1 insertions, 47 deletions
diff --git a/libc/sysdeps/linux/xtensa/Makefile.arch b/libc/sysdeps/linux/xtensa/Makefile.arch
index eab82ec93..277a1e325 100644
--- a/libc/sysdeps/linux/xtensa/Makefile.arch
+++ b/libc/sysdeps/linux/xtensa/Makefile.arch
@@ -5,7 +5,7 @@
# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
#
-CSRC-y := brk.c fork.c pread_write.c sigaction.c __syscall_error.c
+CSRC-y := brk.c fork.c sigaction.c __syscall_error.c
SSRC-y := bsd-_setjmp.S bsd-setjmp.S setjmp.S clone.S \
sigrestorer.S syscall.S mmap.S windowspill.S __longjmp.S vfork.S
diff --git a/libc/sysdeps/linux/xtensa/pread_write.c b/libc/sysdeps/linux/xtensa/pread_write.c
deleted file mode 100644
index f4453a604..000000000
--- a/libc/sysdeps/linux/xtensa/pread_write.c
+++ /dev/null
@@ -1,46 +0,0 @@
-/* vi: set sw=4 ts=4: */
-/*
- * Copyright (C) 2000-2006 Erik Andersen <andersen@uclibc.org>
- *
- * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
- */
-
-#include <sys/syscall.h>
-#include <unistd.h>
-#include <endian.h>
-
-#ifdef __NR_pread64
-# ifdef __NR_pread
-# error "__NR_pread and __NR_pread64 both defined???"
-# endif
-# define __NR_pread __NR_pread64
-#endif
-
-#ifdef __NR_pread
-# define __NR___syscall_pread __NR_pread
-static _syscall6(ssize_t, __syscall_pread, int, fd, void *, buf,
- size_t, count, int, dummy, off_t, offset_hi, off_t, offset_lo)
-# define MY_PREAD(fd, buf, count, offset) \
- __syscall_pread(fd, buf, count, 0, OFF_HI_LO(offset))
-# define MY_PREAD64(fd, buf, count, offset) \
- __syscall_pread(fd, buf, count, 0, OFF64_HI_LO(offset))
-#endif
-
-#ifdef __NR_pwrite64
-# ifdef __NR_pwrite
-# error "__NR_pwrite and __NR_pwrite64 both defined???"
-# endif
-# define __NR_pwrite __NR_pwrite64
-#endif
-
-#ifdef __NR_pwrite
-# define __NR___syscall_pwrite __NR_pwrite
-static _syscall6(ssize_t, __syscall_pwrite, int, fd, const void *, buf,
- size_t, count, int, dummy, off_t, offset_hi, off_t, offset_lo)
-# define MY_PWRITE(fd, buf, count, offset) \
- __syscall_pwrite(fd, buf, count, 0, OFF_HI_LO(offset))
-# define MY_PWRITE64(fd, buf, count, offset) \
- __syscall_pwrite(fd, buf, count, 0, OFF64_HI_LO(offset))
-#endif
-
-#include "../common/pread_write.c"