diff options
Diffstat (limited to 'linuxthreads')
-rw-r--r-- | linuxthreads/ChangeLog | 5 | ||||
-rw-r--r-- | linuxthreads/Versions | 5 | ||||
-rw-r--r-- | linuxthreads/wrapsyscall.c | 39 |
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)) |