about summary refs log tree commit diff
path: root/linuxthreads
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>1999-12-19 05:29:07 +0000
committerUlrich Drepper <drepper@redhat.com>1999-12-19 05:29:07 +0000
commit778c59c850879b2ffc7a396cecfa5a5ad68a40e6 (patch)
tree2c6a5cf63ec64f5563730a9790e3a69f63f0268e /linuxthreads
parent43f94f913e1078818bd09d426756ba4377f12517 (diff)
downloadglibc-778c59c850879b2ffc7a396cecfa5a5ad68a40e6.tar.gz
glibc-778c59c850879b2ffc7a396cecfa5a5ad68a40e6.tar.xz
glibc-778c59c850879b2ffc7a396cecfa5a5ad68a40e6.zip
Update.
1999-12-18  Ulrich Drepper  <drepper@cygnus.com>

	* include/unistd.h: Declare __libc_open64, __libc_lseek64,
	__libc_pread, __libc_pread64, __libc_pwrite, and __libc_pwrite64.
	* io/Versions: Export __libc_open64 and __libc_lseek64.
	* posix/Versions: Export __libc_pread, __libc_pread64, __libc_pwrite,
	and __libc_pwrite64.
	* sysdeps/generic/open64.c: Define __libc_* variant for cancelation
	wrapper.
	* sysdeps/generic/pread.c: Likewise.
	* sysdeps/generic/pread64.c: Likewise.
	* sysdeps/generic/pwrite.c: Likewise.
	* sysdeps/generic/pwrite64.c: Likewise.
	* sysdeps/posix/open64.c: Likewise.
	* sysdeps/posix/pread.c: Likewise.
	* sysdeps/posix/pread64.c: Likewise.
	* sysdeps/posix/pwrite.c: Likewise.
	* sysdeps/posix/pwrite64.c: Likewise.
	* sysdeps/unix/sysv/linux/llseek.c: Likewise.
	* sysdeps/unix/sysv/linux/pread.c: Likewise.
	* sysdeps/unix/sysv/linux/pread64.c: Likewise.
	* sysdeps/unix/sysv/linux/pwrite.c: Likewise.
	* sysdeps/unix/sysv/linux/pwrite64.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/pread.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/pread64.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/pwrite.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/pwrite64.c: Likewise.

	* sysdeps/posix/open64.c: Help gcc generating better code.

	* sysdeps/generic/libc-start.c (check_one_fd): Use __libc_open
	instead of __open.
Diffstat (limited to 'linuxthreads')
-rw-r--r--linuxthreads/ChangeLog5
-rw-r--r--linuxthreads/Versions5
-rw-r--r--linuxthreads/wrapsyscall.c39
3 files changed, 48 insertions, 1 deletions
diff --git a/linuxthreads/ChangeLog b/linuxthreads/ChangeLog
index 9bdf83e951..867e5e34cc 100644
--- a/linuxthreads/ChangeLog
+++ b/linuxthreads/ChangeLog
@@ -1,5 +1,10 @@
 1999-12-18  Ulrich Drepper  <drepper@cygnus.com>
 
+	* Versions: Export pread, __pread64, pread64, pwrite, __pwrite64,
+	pwrite64, lseek64, open64, and __open64.
+	* wrapsyscall.c: Define pread, __pread64, pread64, pwrite, __pwrite64,
+	pwrite64, lseek64, open64, and __open64.
+
 	* manager.c (pthread_allocate_stack): Correct computation of
 	new_thread_bottom.  Correct handling of stack size and when the
 	rlimit method to guard for stack growth is used.
diff --git a/linuxthreads/Versions b/linuxthreads/Versions
index ab4dce50da..0b21abb141 100644
--- a/linuxthreads/Versions
+++ b/linuxthreads/Versions
@@ -118,6 +118,11 @@ libpthread {
     __pthread_kill_other_threads_np;
     __vfork;
   }
+  GLIBC_2.1.3 {
+    # For the cancelation wrappers.
+    pread; __pread64; pread64; pwrite; __pwrite64; pwrite64; lseek64;
+    open64; __open64;
+  }
   GLIBC_2.2 {
     __res_state;
   }
diff --git a/linuxthreads/wrapsyscall.c b/linuxthreads/wrapsyscall.c
index d55e6cca61..a8ab857d8a 100644
--- a/linuxthreads/wrapsyscall.c
+++ b/linuxthreads/wrapsyscall.c
@@ -1,5 +1,5 @@
 /* Wrapper arpund system calls to provide cancelation points.
-   Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc.
+   Copyright (C) 1996, 1997, 1998, 1999 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
 
@@ -89,6 +89,11 @@ CANCELABLE_SYSCALL (off_t, lseek, (int fd, off_t offset, int whence),
 strong_alias (lseek, __lseek)
 
 
+/* lseek64(2).  */
+CANCELABLE_SYSCALL (off64_t, lseek64, (int fd, off64_t offset, int whence),
+		    (fd, offset, whence))
+
+
 /* msync(2).  */
 CANCELABLE_SYSCALL (int, msync, (__ptr_t addr, size_t length, int flags),
 		    (addr, length, flags))
@@ -106,10 +111,42 @@ CANCELABLE_SYSCALL_VA (int, open, (const char *pathname, int flags, ...),
 strong_alias (open, __open)
 
 
+/* open64(3).  */
+CANCELABLE_SYSCALL_VA (int, open64, (const char *pathname, int flags, ...),
+		       (pathname, flags, va_arg (ap, mode_t)), flags)
+strong_alias (open64, __open64)
+
+
 /* pause(2).  */
 CANCELABLE_SYSCALL (int, pause, (void), ())
 
 
+/* pread(3).  */
+CANCELABLE_SYSCALL (ssize_t, pread, (int fd, void *buf, size_t count,
+				     off_t offset),
+		    (fd, buf, count, offset))
+
+
+/* pread64(3).  */
+CANCELABLE_SYSCALL (ssize_t, pread64, (int fd, void *buf, size_t count,
+				       off64_t offset),
+		    (fd, buf, count, offset))
+strong_alias (pread64, __pread64)
+
+
+/* pwrite(3).  */
+CANCELABLE_SYSCALL (ssize_t, pwrite, (int fd, const void *buf, size_t n,
+				      off_t offset),
+		    (fd, buf, n, offset))
+
+
+/* pwrite64(3).  */
+CANCELABLE_SYSCALL (ssize_t, pwrite64, (int fd, const void *buf, size_t n,
+					off64_t offset),
+		    (fd, buf, n, offset))
+strong_alias (pwrite64, __pwrite64)
+
+
 /* read(2).  */
 CANCELABLE_SYSCALL (ssize_t, read, (int fd, void *buf, size_t count),
 		    (fd, buf, count))