aboutsummaryrefslogtreecommitdiff
path: root/linuxthreads
diff options
context:
space:
mode:
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 9bdf83e..867e5e3 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 ab4dce5..0b21abb 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 d55e6cc..a8ab857 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))