فهرست منبع

ldso: unify pread syscall definition

A few arches want pread() defined, so move it to common code.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Mike Frysinger 13 سال پیش
والد
کامیت
7eaca202b9
4فایلهای تغییر یافته به همراه24 افزوده شده و 46 حذف شده
  1. 22 0
      ldso/include/dl-syscall.h
  2. 0 12
      ldso/ldso/bfin/dl-syscalls.h
  3. 1 17
      ldso/ldso/c6x/dl-syscalls.h
  4. 1 17
      ldso/ldso/frv/dl-syscalls.h

+ 22 - 0
ldso/include/dl-syscall.h

@@ -108,6 +108,28 @@ static __always_inline _syscall0(gid_t, _dl_getpid)
 static __always_inline _syscall3(int, _dl_readlink, const char *, path, char *, buf,
 static __always_inline _syscall3(int, _dl_readlink, const char *, path, char *, buf,
                         size_t, bufsiz)
                         size_t, bufsiz)
 
 
+#ifdef __NR_pread64
+#define __NR___syscall_pread __NR_pread64
+static __always_inline _syscall5(ssize_t, __syscall_pread, int, fd, void *, buf,
+			size_t, count, off_t, offset_hi, off_t, offset_lo)
+
+static __always_inline ssize_t
+_dl_pread(int fd, void *buf, size_t count, off_t offset)
+{
+	return __syscall_pread(fd, buf, count, offset, offset >> 31);
+}
+#elif defined __NR_pread
+#define __NR___syscall_pread __NR_pread
+static __always_inline _syscall5(ssize_t, __syscall_pread, int, fd, void *, buf,
+			size_t, count, off_t, offset_hi, off_t, offset_lo)
+
+static __always_inline ssize_t
+_dl_pread(int fd, void *buf, size_t count, off_t offset)
+{
+	return __syscall_pread(fd, buf, count, __LONG_LONG_PAIR(offset >> 31, offset));
+}
+#endif
+
 #ifdef __UCLIBC_HAS_SSP__
 #ifdef __UCLIBC_HAS_SSP__
 # include <sys/time.h>
 # include <sys/time.h>
 # define __NR__dl_gettimeofday __NR_gettimeofday
 # define __NR__dl_gettimeofday __NR_gettimeofday

+ 0 - 12
ldso/ldso/bfin/dl-syscalls.h

@@ -18,18 +18,6 @@ License along with uClibc; see the file COPYING.LIB.  If not, write to
 the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139,
 the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139,
 USA.  */
 USA.  */
 
 
-#ifdef __NR_pread
-#define __NR___syscall_pread __NR_pread
-static __always_inline _syscall5(ssize_t, __syscall_pread, int, fd, void *, buf,
-			size_t, count, off_t, offset_hi, off_t, offset_lo)
-
-static __always_inline ssize_t
-_dl_pread(int fd, void *buf, size_t count, off_t offset)
-{
-  return(__syscall_pread(fd,buf,count,__LONG_LONG_PAIR (offset >> 31, offset)));
-}
-#endif
-
 #ifdef __NR_sram_alloc
 #ifdef __NR_sram_alloc
 #define __NR__dl_sram_alloc __NR_sram_alloc
 #define __NR__dl_sram_alloc __NR_sram_alloc
 static __always_inline _syscall2(__ptr_t, _dl_sram_alloc,
 static __always_inline _syscall2(__ptr_t, _dl_sram_alloc,

+ 1 - 17
ldso/ldso/c6x/dl-syscalls.h

@@ -1,17 +1 @@
-/* Copyright (C) 2010 Texas Instruments Incorporated
+/* stub for arch-specific syscall issues */
- * Contributed by Mark Salter <msalter@redhat.com>
- *
- * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
- */
-
-#ifdef __NR_pread64
-#define __NR___syscall_pread __NR_pread64
-static __always_inline _syscall5(ssize_t, __syscall_pread, int, fd, void *, buf,
-			size_t, count, off_t, offset_hi, off_t, offset_lo);
-
-static __always_inline ssize_t
-_dl_pread(int fd, void *buf, size_t count, off_t offset)
-{
-  return(__syscall_pread(fd,buf,count, offset, offset >> 31));
-}
-#endif

+ 1 - 17
ldso/ldso/frv/dl-syscalls.h

@@ -1,17 +1 @@
-/* Copyright (C) 2003, 2004 Red Hat, Inc.
+/* stub for arch-specific syscall issues */
- * Contributed by Alexandre Oliva <aoliva@redhat.com>
- *
- * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
- */
-
-#ifdef __NR_pread
-#define __NR___syscall_pread __NR_pread
-static __always_inline _syscall5(ssize_t, __syscall_pread, int, fd, void *, buf,
-			size_t, count, off_t, offset_hi, off_t, offset_lo);
-
-static __always_inline ssize_t
-_dl_pread(int fd, void *buf, size_t count, off_t offset)
-{
-  return(__syscall_pread(fd,buf,count,__LONG_LONG_PAIR (offset >> 31, offset)));
-}
-#endif