aboutsummaryrefslogtreecommitdiffstats
path: root/main/libc0.9.32/0005-pread_write.c-make-all-archs-use-common-code.patch
diff options
context:
space:
mode:
Diffstat (limited to 'main/libc0.9.32/0005-pread_write.c-make-all-archs-use-common-code.patch')
-rw-r--r--main/libc0.9.32/0005-pread_write.c-make-all-archs-use-common-code.patch671
1 files changed, 0 insertions, 671 deletions
diff --git a/main/libc0.9.32/0005-pread_write.c-make-all-archs-use-common-code.patch b/main/libc0.9.32/0005-pread_write.c-make-all-archs-use-common-code.patch
deleted file mode 100644
index 5377a3f02a..0000000000
--- a/main/libc0.9.32/0005-pread_write.c-make-all-archs-use-common-code.patch
+++ /dev/null
@@ -1,671 +0,0 @@
-From 5c7b0eadf777ba9539e723882138273d631ddc05 Mon Sep 17 00:00:00 2001
-From: "Peter S. Mazinger" <ps.m@gmx.net>
-Date: Fri, 22 Apr 2011 02:22:07 +0200
-Subject: [PATCH 5/6] pread_write.c: make all archs use common code
-
-c6x does not need own version at all
-
-Signed-off-by: Peter S. Mazinger <ps.m@gmx.net>
-Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
-(cherry picked from commit 836d74b92d70b71792d3d6136db7cdf0c3775ee3)
----
- libc/sysdeps/linux/c6x/Makefile.arch | 3 +-
- libc/sysdeps/linux/c6x/pread_write.c | 103 ---------------------------
- libc/sysdeps/linux/common/pread_write.c | 2 +
- libc/sysdeps/linux/mips/pread_write.c | 116 +++++++++----------------------
- libc/sysdeps/linux/powerpc/pread_write.c | 70 +++++--------------
- libc/sysdeps/linux/sh/pread_write.c | 109 ++++-------------------------
- libc/sysdeps/linux/xtensa/pread_write.c | 79 +++++----------------
- 7 files changed, 88 insertions(+), 394 deletions(-)
- delete mode 100644 libc/sysdeps/linux/c6x/pread_write.c
-
-diff --git a/libc/sysdeps/linux/c6x/Makefile.arch b/libc/sysdeps/linux/c6x/Makefile.arch
-index 6bb44f2..5f8aaec 100644
---- a/libc/sysdeps/linux/c6x/Makefile.arch
-+++ b/libc/sysdeps/linux/c6x/Makefile.arch
-@@ -5,6 +5,7 @@
- # Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
- #
-
--CSRC := brk.c pread_write.c syscall.c prctl.c
-+CSRC := brk.c syscall.c prctl.c
-+#CSRC :=
-
- SSRC := __longjmp.S bsd-_setjmp.S bsd-setjmp.S clone.S setjmp.S _vfork.S
-diff --git a/libc/sysdeps/linux/c6x/pread_write.c b/libc/sysdeps/linux/c6x/pread_write.c
-deleted file mode 100644
-index f985b43..0000000
---- a/libc/sysdeps/linux/c6x/pread_write.c
-+++ /dev/null
-@@ -1,103 +0,0 @@
--/* vi: set sw=4 ts=4:
-- *
-- * Copyright (C) 2002 by Erik Andersen <andersen@uclibc.org>
-- * Based in part on the files
-- * ./sysdeps/unix/sysv/linux/pwrite.c,
-- * ./sysdeps/unix/sysv/linux/pread.c,
-- * sysdeps/posix/pread.c
-- * sysdeps/posix/pwrite.c
-- * from GNU libc 2.2.5, but reworked considerably...
-- *
-- * This program is free software; you can redistribute it and/or modify it
-- * under the terms of the GNU Library General Public License as published by
-- * the Free Software Foundation; either version 2 of the License, or (at your
-- * option) any later version.
-- *
-- * This program is distributed in the hope that it will be useful, but WITHOUT
-- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License
-- * for more details.
-- *
-- * You should have received a copy of the GNU Library General Public License
-- * along with this program; if not, write to the Free Software Foundation,
-- * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-- */
--
--#define _LARGEFILE64_SOURCE
--#include <features.h>
--#undef __OPTIMIZE__
--/* We absolutely do _NOT_ want interfaces silently
-- * * * renamed under us or very bad things will happen... */
--#ifdef __USE_FILE_OFFSET64
--# undef __USE_FILE_OFFSET64
--#endif
--
--
--#include <errno.h>
--#include <sys/types.h>
--#include <sys/syscall.h>
--#include <unistd.h>
--#include <stdint.h>
--
--extern __typeof(pread) __libc_pread;
--extern __typeof(pwrite) __libc_pwrite;
--#ifdef __UCLIBC_HAS_LFS__
--extern __typeof(pread64) __libc_pread64;
--extern __typeof(pwrite64) __libc_pwrite64;
--#endif
--
--#ifdef __NR_pread64 /* Newer kernels renamed but it's the same. */
--# ifdef __NR_pread
--# error "__NR_pread and __NR_pread64 both defined???"
--# endif
--# define __NR_pread __NR_pread64
--#endif
--
--#define __NR___syscall_pread __NR_pread
--static inline _syscall5(ssize_t, __syscall_pread, int, fd, void *, buf,
-- size_t, count, off_t, offset_hi, off_t, offset_lo);
--
--ssize_t __libc_pread(int fd, void *buf, size_t count, off_t offset)
--{
-- return(__syscall_pread(fd,buf,count,offset,offset >> 31));
--}
--weak_alias (__libc_pread, pread)
--
--#if defined __UCLIBC_HAS_LFS__
--ssize_t __libc_pread64(int fd, void *buf, size_t count, off64_t offset)
--{
-- uint32_t low = offset & 0xffffffff;
-- uint32_t high = offset >> 32;
-- return(__syscall_pread(fd, buf, count, low, high));
--}
--weak_alias (__libc_pread64, pread64)
--#endif /* __UCLIBC_HAS_LFS__ */
--
--
--#ifdef __NR_pwrite64 /* Newer kernels renamed but it's the same. */
--# ifdef __NR_pwrite
--# error "__NR_pwrite and __NR_pwrite64 both defined???"
--# endif
--# define __NR_pwrite __NR_pwrite64
--#endif
--
--#define __NR___syscall_pwrite __NR_pwrite
--static inline _syscall5(ssize_t, __syscall_pwrite, int, fd, const void *, buf,
-- size_t, count, off_t, offset_hi, off_t, offset_lo);
--
--ssize_t __libc_pwrite(int fd, const void *buf, size_t count, off_t offset)
--{
-- return(__syscall_pwrite(fd,buf,count,offset,offset >> 31));
--}
--weak_alias (__libc_pwrite, pwrite)
--
--#if defined __UCLIBC_HAS_LFS__
--ssize_t __libc_pwrite64(int fd, const void *buf, size_t count, off64_t offset)
--{
-- uint32_t low = offset & 0xffffffff;
-- uint32_t high = offset >> 32;
-- return(__syscall_pwrite(fd, buf, count, low, high));
--}
--weak_alias (__libc_pwrite64, pwrite64)
--#endif /* __UCLIBC_HAS_LFS__ */
--
-diff --git a/libc/sysdeps/linux/common/pread_write.c b/libc/sysdeps/linux/common/pread_write.c
-index 3d04bb7..dd5d36c 100644
---- a/libc/sysdeps/linux/common/pread_write.c
-+++ b/libc/sysdeps/linux/common/pread_write.c
-@@ -35,6 +35,7 @@ static _syscall5(ssize_t, __syscall_pread, int, fd, void *, buf,
- size_t, count, off_t, offset_hi, off_t, offset_lo)
- # define MY_PREAD(fd, buf, count, offset) __syscall_pread(fd, buf, count, OFF_HI_LO(offset))
- # define MY_PREAD64(fd, buf, count, offset) __syscall_pread(fd, buf, count, OFF64_HI_LO(offset))
-+# endif
- #endif
-
- #ifndef MY_PWRITE
-@@ -44,6 +45,7 @@ static _syscall5(ssize_t, __syscall_pwrite, int, fd, const void *, buf,
- size_t, count, off_t, offset_hi, off_t, offset_lo)
- # define MY_PWRITE(fd, buf, count, offset) __syscall_pwrite(fd, buf, count, OFF_HI_LO(offset))
- # define MY_PWRITE64(fd, buf, count, offset) __syscall_pwrite(fd, buf, count, OFF64_HI_LO(offset))
-+# endif
- #endif
-
- static ssize_t __NC(pread)(int fd, void *buf, size_t count, off_t offset)
-diff --git a/libc/sysdeps/linux/mips/pread_write.c b/libc/sysdeps/linux/mips/pread_write.c
-index ea6b15f..b777dc4 100644
---- a/libc/sysdeps/linux/mips/pread_write.c
-+++ b/libc/sysdeps/linux/mips/pread_write.c
-@@ -4,76 +4,39 @@
- *
- * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
- */
--/*
-- * Based in part on the files
-- * ./sysdeps/unix/sysv/linux/pwrite.c,
-- * ./sysdeps/unix/sysv/linux/pread.c,
-- * sysdeps/posix/pread.c
-- * sysdeps/posix/pwrite.c
-- * from GNU libc 2.2.5, but reworked considerably...
-- */
-
- #include <sys/syscall.h>
- #include <unistd.h>
--#include <stdint.h>
- #include <endian.h>
- #include <sgidefs.h>
-
--#ifdef __NR_pread64 /* Newer kernels renamed but it's the same. */
-+#ifdef __NR_pread64
- # ifdef __NR_pread
- # error "__NR_pread and __NR_pread64 both defined???"
- # endif
- # define __NR_pread __NR_pread64
- #endif
-
--extern __typeof(pread) __libc_pread;
--extern __typeof(pwrite) __libc_pwrite;
--#ifdef __UCLIBC_HAS_LFS__
--extern __typeof(pread64) __libc_pread64;
--extern __typeof(pwrite64) __libc_pwrite64;
--#endif
--
--#include <bits/kernel_types.h>
--
--
- #ifdef __NR_pread
--
--# if _MIPS_SIM == _MIPS_SIM_ABI64
--# define __NR___libc_pread __NR_pread
--_syscall4(ssize_t, __libc_pread, int, fd, void *, buf, size_t, count, off_t, offset)
--weak_alias (__libc_pread, pread)
--# ifdef __UCLIBC_HAS_LFS__
--# define __NR___libc_pread64 __NR_pread
--_syscall4(ssize_t, __libc_pread64, int, fd, void *, buf, size_t, count, off64_t, offset)
--weak_alias (__libc_pread64, pread64)
--# endif /* __UCLIBC_HAS_LFS__ */
-+# if _MIPS_SIM == _MIPS_SIM_ABI64 /* glibc uses it for N32 as well */
-+# define __NR___syscall_pread __NR_pread
-+static _syscall4(ssize_t, __syscall_pread, int, fd, void *, buf, size_t, count, off_t, offset)
-+# define MY_PREAD(fd, buf, count, offset) \
-+ __syscall_pread(fd, buf, count, offset)
-+# define MY_PREAD64(fd, buf, count, offset) \
-+ __syscall_pread(fd, buf, count, offset)
- # else /* O32 || N32 */
- # define __NR___syscall_pread __NR_pread
--static __inline__ _syscall6(ssize_t, __syscall_pread, int, fd, void *, buf,
-- size_t, count, int, dummy, off_t, offset_hi, off_t, offset_lo)
--
--ssize_t __libc_pread(int fd, void *buf, size_t count, off_t offset)
--{
-- return(__syscall_pread(fd,buf,count,0,__LONG_LONG_PAIR(offset>>31,offset)));
--}
--weak_alias(__libc_pread,pread)
--
--# ifdef __UCLIBC_HAS_LFS__
--ssize_t __libc_pread64(int fd, void *buf, size_t count, off64_t offset)
--{
-- uint32_t low = offset & 0xffffffff;
-- uint32_t high = offset >> 32;
-- return(__syscall_pread(fd, buf, count, 0, __LONG_LONG_PAIR (high, low)));
--}
--weak_alias(__libc_pread64,pread64)
--# endif /* __UCLIBC_HAS_LFS__ */
--# endif /* O32 || N32 */
--
--#endif /* __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
-+#endif
-
--#ifdef __NR_pwrite64 /* Newer kernels renamed but it's the same. */
-+#ifdef __NR_pwrite64
- # ifdef __NR_pwrite
- # error "__NR_pwrite and __NR_pwrite64 both defined???"
- # endif
-@@ -81,35 +44,22 @@ weak_alias(__libc_pread64,pread64)
- #endif
-
- #ifdef __NR_pwrite
--
--# if _MIPS_SIM == _MIPS_SIM_ABI64
--# define __NR___libc_pwrite __NR_pwrite
--_syscall4(ssize_t, __libc_pwrite, int, fd, const void *, buf, size_t, count, off_t, offset)
--weak_alias (__libc_pwrite, pwrite)
--# ifdef __UCLIBC_HAS_LFS__
--# define __NR___libc_pwrite64 __NR_pwrite
--_syscall4(ssize_t, __libc_pwrite64, int, fd, const void *, buf, size_t, count, off64_t, offset)
--weak_alias (__libc_pwrite64, pwrite64)
--# endif /* __UCLIBC_HAS_LFS__ */
-+# if _MIPS_SIM == _MIPS_SIM_ABI64 /* glibc uses it for N32 as well */
-+# define __NR___syscall_pwrite __NR_pwrite
-+static _syscall4(ssize_t, __syscall_pwrite, int, fd, const void *, buf, size_t, count, off_t, offset)
-+# define MY_PWRITE(fd, buf, count, offset) \
-+ __syscall_pwrite(fd, buf, count, offset)
-+# define MY_PWRITE64(fd, buf, count, offset) \
-+ __syscall_pwrite(fd, buf, count, offset)
- # else /* O32 || N32 */
- # define __NR___syscall_pwrite __NR_pwrite
--static __inline__ _syscall6(ssize_t, __syscall_pwrite, int, fd, const void *, buf,
-- size_t, count, int, dummy, off_t, offset_hi, off_t, offset_lo)
--
--ssize_t __libc_pwrite(int fd, const void *buf, size_t count, off_t offset)
--{
-- return(__syscall_pwrite(fd,buf,count,0,__LONG_LONG_PAIR(offset>>31,offset)));
--}
--weak_alias(__libc_pwrite,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
-+#endif
-
--# ifdef __UCLIBC_HAS_LFS__
--ssize_t __libc_pwrite64(int fd, const void *buf, size_t count, off64_t offset)
--{
-- uint32_t low = offset & 0xffffffff;
-- uint32_t high = offset >> 32;
-- return(__syscall_pwrite(fd, buf, count, 0, __LONG_LONG_PAIR (high, low)));
--}
--weak_alias(__libc_pwrite64,pwrite64)
--# endif /* __UCLIBC_HAS_LFS__ */
--# endif /* O32 || N32 */
--#endif /* __NR_pwrite */
-+#include "../common/pread_write.c"
-diff --git a/libc/sysdeps/linux/powerpc/pread_write.c b/libc/sysdeps/linux/powerpc/pread_write.c
-index 92a184c..5cb3386 100644
---- a/libc/sysdeps/linux/powerpc/pread_write.c
-+++ b/libc/sysdeps/linux/powerpc/pread_write.c
-@@ -1,26 +1,15 @@
--/* vi: set sw=4 ts=4:
-- *
-+/* 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.
- */
--/* Based in part on the files
-- * ./sysdeps/unix/sysv/linux/pwrite.c,
-- * ./sysdeps/unix/sysv/linux/pread.c,
-- * sysdeps/posix/pread.c
-- * sysdeps/posix/pwrite.c
-- * from GNU libc 2.2.5, but reworked considerably...
-- */
-
- #include <sys/syscall.h>
- #include <unistd.h>
- #include <endian.h>
-
--#ifndef __UCLIBC_HAS_LFS__
--# define off64_t off_t
--#endif
--
--#ifdef __NR_pread64 /* Newer kernels renamed but it's the same. */
-+#ifdef __NR_pread64
- # ifdef __NR_pread
- # error "__NR_pread and __NR_pread64 both defined???"
- # endif
-@@ -28,28 +17,16 @@
- #endif
-
- #ifdef __NR_pread
--extern __typeof(pread) __libc_pread;
- # define __NR___syscall_pread __NR_pread
--static __inline__ _syscall6(ssize_t, __syscall_pread, int, fd,
-- void *, buf, size_t, count, int, dummy, off_t, offset_hi, off_t, offset_lo)
--
--ssize_t __libc_pread(int fd, void *buf, size_t count, off_t offset)
--{
-- return(__syscall_pread(fd, buf, count, 0, __LONG_LONG_PAIR(offset >> 31, offset)));
--}
--weak_alias(__libc_pread,pread)
--
--# ifdef __UCLIBC_HAS_LFS__
--extern __typeof(pread64) __libc_pread64;
--ssize_t __libc_pread64(int fd, void *buf, size_t count, off64_t offset)
--{
-- return(__syscall_pread(fd, buf, count, 0, __LONG_LONG_PAIR(offset >> 32, offset)));
--}
--weak_alias(__libc_pread64,pread64)
--# endif /* __UCLIBC_HAS_LFS__ */
--#endif /* __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 /* Newer kernels renamed but it's the same. */
-+#ifdef __NR_pwrite64
- # ifdef __NR_pwrite
- # error "__NR_pwrite and __NR_pwrite64 both defined???"
- # endif
-@@ -57,23 +34,14 @@ weak_alias(__libc_pread64,pread64)
- #endif
-
- #ifdef __NR_pwrite
--extern __typeof(pwrite) __libc_pwrite;
- # define __NR___syscall_pwrite __NR_pwrite
--static __inline__ _syscall6(ssize_t, __syscall_pwrite, int, fd,
-- const void *, buf, size_t, count, int, dummy, off_t, offset_hi, off_t, offset_lo)
-
--ssize_t __libc_pwrite(int fd, const void *buf, size_t count, off_t offset)
--{
-- return(__syscall_pwrite(fd, buf, count, 0, __LONG_LONG_PAIR(offset >> 31, offset)));
--}
--weak_alias(__libc_pwrite,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
-
--# ifdef __UCLIBC_HAS_LFS__
--extern __typeof(pwrite64) __libc_pwrite64;
--ssize_t __libc_pwrite64(int fd, const void *buf, size_t count, off64_t offset)
--{
-- return(__syscall_pwrite(fd, buf, count, 0, __LONG_LONG_PAIR(offset >> 32, offset)));
--}
--weak_alias(__libc_pwrite64,pwrite64)
--# endif /* __UCLIBC_HAS_LFS__ */
--#endif /* __NR_pwrite */
-+#include "../common/pread_write.c"
-diff --git a/libc/sysdeps/linux/sh/pread_write.c b/libc/sysdeps/linux/sh/pread_write.c
-index 86feb9c..f4453a6 100644
---- a/libc/sysdeps/linux/sh/pread_write.c
-+++ b/libc/sysdeps/linux/sh/pread_write.c
-@@ -4,28 +4,12 @@
- *
- * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
- */
--/*
-- * Based in part on the files
-- * ./sysdeps/unix/sysv/linux/pwrite.c,
-- * ./sysdeps/unix/sysv/linux/pread.c,
-- * sysdeps/posix/pread.c
-- * sysdeps/posix/pwrite.c
-- * from GNU libc 2.2.5, but reworked considerably...
-- */
-
- #include <sys/syscall.h>
- #include <unistd.h>
--#include <stdint.h>
- #include <endian.h>
-
--#ifdef __UCLIBC_HAS_THREADS_NATIVE__
--#include <sysdep-cancel.h>
--#else
--#define SINGLE_THREAD_P 1
--#endif
--
--
--#ifdef __NR_pread64 /* Newer kernels renamed but it's the same. */
-+#ifdef __NR_pread64
- # ifdef __NR_pread
- # error "__NR_pread and __NR_pread64 both defined???"
- # endif
-@@ -33,49 +17,16 @@
- #endif
-
- #ifdef __NR_pread
--extern __typeof(pread) __libc_pread;
- # define __NR___syscall_pread __NR_pread
--static __inline__ _syscall6(ssize_t, __syscall_pread, int, fd, void *, buf,
-- size_t, count, int, dummy, off_t, offset_hi, off_t, offset_lo)
--
--ssize_t __libc_pread(int fd, void *buf, size_t count, off_t offset)
--{
-- if (SINGLE_THREAD_P)
-- return(__syscall_pread(fd,buf,count,0,__LONG_LONG_PAIR(offset >> 31,offset)));
--
--#ifdef __UCLIBC_HAS_THREADS_NATIVE__
-- int oldtype = LIBC_CANCEL_ASYNC ();
-- ssize_t result = __syscall_pread(fd,buf,count,0,__LONG_LONG_PAIR(offset >> 31,offset));
-- LIBC_CANCEL_RESET (oldtype);
-- return result;
--#endif
--}
--weak_alias(__libc_pread,pread)
--
--# ifdef __UCLIBC_HAS_LFS__
--extern __typeof(pread64) __libc_pread64;
--ssize_t __libc_pread64(int fd, void *buf, size_t count, off64_t offset)
--{
-- uint32_t low = offset & 0xffffffff;
-- uint32_t high = offset >> 32;
--
-- if (SINGLE_THREAD_P)
-- return __syscall_pread(fd, buf, count, 0, __LONG_LONG_PAIR (high, low));
--
--#ifdef __UCLIBC_HAS_THREADS_NATIVE__
-- int oldtype = LIBC_CANCEL_ASYNC ();
-- ssize_t result = __syscall_pread(fd, buf, count, 0, __LONG_LONG_PAIR (high, low));
-- LIBC_CANCEL_RESET (oldtype);
-- return result;
-+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
--}
--weak_alias(__libc_pread64,pread64)
--# endif /* __UCLIBC_HAS_LFS__ */
--#endif /* __NR_pread */
--
--/**********************************************************************/
-
--#ifdef __NR_pwrite64 /* Newer kernels renamed but it's the same. */
-+#ifdef __NR_pwrite64
- # ifdef __NR_pwrite
- # error "__NR_pwrite and __NR_pwrite64 both defined???"
- # endif
-@@ -83,43 +34,13 @@ weak_alias(__libc_pread64,pread64)
- #endif
-
- #ifdef __NR_pwrite
--extern __typeof(pwrite) __libc_pwrite;
- # define __NR___syscall_pwrite __NR_pwrite
--static __inline__ _syscall6(ssize_t, __syscall_pwrite, int, fd, const void *, buf,
-- size_t, count, int, dummy, off_t, offset_hi, off_t, offset_lo)
--
--ssize_t __libc_pwrite(int fd, const void *buf, size_t count, off_t offset)
--{
-- if (SINGLE_THREAD_P)
-- return __syscall_pwrite(fd,buf,count,0,__LONG_LONG_PAIR(offset >> 31,offset));
--
--#ifdef __UCLIBC_HAS_THREADS_NATIVE__
-- int oldtype = LIBC_CANCEL_ASYNC ();
-- ssize_t result = __syscall_pwrite(fd,buf,count,0,__LONG_LONG_PAIR(offset >> 31,offset));
-- LIBC_CANCEL_RESET (oldtype);
-- return result;
-+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
-
--}
--weak_alias(__libc_pwrite,pwrite)
--
--# ifdef __UCLIBC_HAS_LFS__
--extern __typeof(pwrite64) __libc_pwrite64;
--ssize_t __libc_pwrite64(int fd, const void *buf, size_t count, off64_t offset)
--{
-- uint32_t low = offset & 0xffffffff;
-- uint32_t high = offset >> 32;
--
-- if (SINGLE_THREAD_P)
-- return __syscall_pwrite(fd, buf, count, 0, __LONG_LONG_PAIR (high, low));
--
--#ifdef __UCLIBC_HAS_THREADS_NATIVE__
-- int oldtype = LIBC_CANCEL_ASYNC ();
-- ssize_t result = __syscall_pwrite(fd, buf, count, 0, __LONG_LONG_PAIR (high, low));
-- LIBC_CANCEL_RESET (oldtype);
-- return result;
--#endif
--}
--weak_alias(__libc_pwrite64,pwrite64)
--# endif /* __UCLIBC_HAS_LFS__ */
--#endif /* __NR_pwrite */
-+#include "../common/pread_write.c"
-diff --git a/libc/sysdeps/linux/xtensa/pread_write.c b/libc/sysdeps/linux/xtensa/pread_write.c
-index e8b39e9..f4453a6 100644
---- a/libc/sysdeps/linux/xtensa/pread_write.c
-+++ b/libc/sysdeps/linux/xtensa/pread_write.c
-@@ -4,30 +4,12 @@
- *
- * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
- */
--/*
-- * Based in part on the files
-- * ./sysdeps/unix/sysv/linux/pwrite.c,
-- * ./sysdeps/unix/sysv/linux/pread.c,
-- * sysdeps/posix/pread.c
-- * sysdeps/posix/pwrite.c
-- * from GNU libc 2.2.5, but reworked considerably...
-- */
-
- #include <sys/syscall.h>
- #include <unistd.h>
--#include <stdint.h>
- #include <endian.h>
-
--extern __typeof(pread) __libc_pread;
--extern __typeof(pwrite) __libc_pwrite;
--#ifdef __UCLIBC_HAS_LFS__
--extern __typeof(pread64) __libc_pread64;
--extern __typeof(pwrite64) __libc_pwrite64;
--#endif
--
--#include <bits/kernel_types.h>
--
--#ifdef __NR_pread64 /* Newer kernels renamed but it's the same. */
-+#ifdef __NR_pread64
- # ifdef __NR_pread
- # error "__NR_pread and __NR_pread64 both defined???"
- # endif
-@@ -35,31 +17,16 @@ extern __typeof(pwrite64) __libc_pwrite64;
- #endif
-
- #ifdef __NR_pread
--
- # define __NR___syscall_pread __NR_pread
--/* On Xtensa, 64-bit values are aligned in even/odd register pairs. */
--static __inline__ _syscall6(ssize_t, __syscall_pread, int, fd, void *, buf,
-- size_t, count, int, pad, off_t, offset_hi, off_t, offset_lo)
--
--ssize_t __libc_pread(int fd, void *buf, size_t count, off_t offset)
--{
-- return __syscall_pread(fd, buf, count, 0, __LONG_LONG_PAIR(offset >> 31, offset));
--}
--weak_alias(__libc_pread,pread)
--
--# ifdef __UCLIBC_HAS_LFS__
--ssize_t __libc_pread64(int fd, void *buf, size_t count, off64_t offset)
--{
-- uint32_t low = offset & 0xffffffff;
-- uint32_t high = offset >> 32;
-- return __syscall_pread(fd, buf, count, 0, __LONG_LONG_PAIR(high, low));
--}
--weak_alias(__libc_pread64,pread64)
--# endif /* __UCLIBC_HAS_LFS__ */
--
--#endif /* __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 /* Newer kernels renamed but it's the same. */
-+#ifdef __NR_pwrite64
- # ifdef __NR_pwrite
- # error "__NR_pwrite and __NR_pwrite64 both defined???"
- # endif
-@@ -67,25 +34,13 @@ weak_alias(__libc_pread64,pread64)
- #endif
-
- #ifdef __NR_pwrite
--
- # define __NR___syscall_pwrite __NR_pwrite
--/* On Xtensa, 64-bit values are aligned in even/odd register pairs. */
--static __inline__ _syscall6(ssize_t, __syscall_pwrite, int, fd, const void *, buf,
-- size_t, count, int, pad, off_t, offset_hi, off_t, offset_lo)
--
--ssize_t __libc_pwrite(int fd, const void *buf, size_t count, off_t offset)
--{
-- return __syscall_pwrite(fd, buf, count, 0, __LONG_LONG_PAIR(offset >> 31, offset));
--}
--weak_alias(__libc_pwrite,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
-
--# ifdef __UCLIBC_HAS_LFS__
--ssize_t __libc_pwrite64(int fd, const void *buf, size_t count, off64_t offset)
--{
-- uint32_t low = offset & 0xffffffff;
-- uint32_t high = offset >> 32;
-- return __syscall_pwrite(fd, buf, count, 0, __LONG_LONG_PAIR(high, low));
--}
--weak_alias(__libc_pwrite64,pwrite64)
--# endif /* __UCLIBC_HAS_LFS__ */
--#endif /* __NR_pwrite */
-+#include "../common/pread_write.c"
---
-1.7.11.1
-