diff options
author | Ulrich Drepper <drepper@redhat.com> | 1999-12-19 05:29:07 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 1999-12-19 05:29:07 +0000 |
commit | 778c59c850879b2ffc7a396cecfa5a5ad68a40e6 (patch) | |
tree | 2c6a5cf63ec64f5563730a9790e3a69f63f0268e /sysdeps/posix | |
parent | 43f94f913e1078818bd09d426756ba4377f12517 (diff) | |
download | glibc-778c59c850879b2ffc7a396cecfa5a5ad68a40e6.tar.gz |
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 'sysdeps/posix')
-rw-r--r-- | sysdeps/posix/open64.c | 15 | ||||
-rw-r--r-- | sysdeps/posix/pread.c | 17 | ||||
-rw-r--r-- | sysdeps/posix/pread64.c | 17 | ||||
-rw-r--r-- | sysdeps/posix/pwrite.c | 17 | ||||
-rw-r--r-- | sysdeps/posix/pwrite64.c | 17 |
5 files changed, 42 insertions, 41 deletions
diff --git a/sysdeps/posix/open64.c b/sysdeps/posix/open64.c index e409891980..fba30a6ff7 100644 --- a/sysdeps/posix/open64.c +++ b/sysdeps/posix/open64.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991, 1995, 1996, 1997 Free Software Foundation, Inc. +/* Copyright (C) 1991, 1995, 1996, 1997, 1999 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -22,11 +22,9 @@ /* Open FILE with access OFLAG. If OFLAG includes O_CREAT, a third argument is the file protection. */ int -__open64 (file, oflag) - const char *file; - int oflag; +__libc_open64 (const char *file, int oflag, ...) { - int mode; + int mode = 0; if (oflag & O_CREAT) { @@ -35,9 +33,8 @@ __open64 (file, oflag) mode = va_arg (arg, int); va_end (arg); } - else - mode = 0; - return __open (file, oflag | O_LARGEFILE, mode); + return __libc_open (file, oflag | O_LARGEFILE, mode); } -weak_alias (__open64, open64) +strong_alias (__libc_open64, __open64) +weak_alias (__libc_open64, open64) diff --git a/sysdeps/posix/pread.c b/sysdeps/posix/pread.c index 5ad5acbd2a..7ecc99e0f7 100644 --- a/sysdeps/posix/pread.c +++ b/sysdeps/posix/pread.c @@ -1,6 +1,6 @@ /* Read block from given position in file without changing file pointer. POSIX version. - Copyright (C) 1997, 1998 Free Software Foundation, Inc. + Copyright (C) 1997, 1998, 1999 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997. @@ -23,28 +23,28 @@ #include <unistd.h> ssize_t -__pread (int fd, void *buf, size_t nbyte, off_t offset) +__libc_pread (int fd, void *buf, size_t nbyte, off_t offset) { /* Since we must not change the file pointer preserve the value so that we can restore it later. */ int save_errno; ssize_t result; - off_t old_offset = __lseek (fd, 0, SEEK_CUR); + off_t old_offset = __libc_lseek (fd, 0, SEEK_CUR); if (old_offset == (off_t) -1) return -1; /* Set to wanted position. */ - if (__lseek (fd, offset, SEEK_SET) == (off_t) -1) + if (__libc_lseek (fd, offset, SEEK_SET) == (off_t) -1) return -1; /* Write out the data. */ - result = __read (fd, buf, nbyte); + result = __libc_read (fd, buf, nbyte); /* Now we have to restore the position. If this fails we have to return this as an error. But if the writing also failed we return this error. */ save_errno = errno; - if (__lseek (fd, old_offset, SEEK_SET) == (off_t) -1) + if (__libc_lseek (fd, old_offset, SEEK_SET) == (off_t) -1) { if (result == -1) __set_errno (save_errno); @@ -55,6 +55,7 @@ __pread (int fd, void *buf, size_t nbyte, off_t offset) return result; } -#ifndef __pread -weak_alias (__pread, pread) +#ifndef __libc_pread +strong_alias (__libc_pread, __pread) +weak_alias (__libc_pread, pread) #endif diff --git a/sysdeps/posix/pread64.c b/sysdeps/posix/pread64.c index 16fb3df142..ad850509a9 100644 --- a/sysdeps/posix/pread64.c +++ b/sysdeps/posix/pread64.c @@ -1,6 +1,6 @@ /* Read block from given position in file without changing file pointer. POSIX version. - Copyright (C) 1997, 1998 Free Software Foundation, Inc. + Copyright (C) 1997, 1998, 1999 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997. @@ -23,28 +23,28 @@ #include <unistd.h> ssize_t -__pread64 (int fd, void *buf, size_t nbyte, off64_t offset) +__libc_pread64 (int fd, void *buf, size_t nbyte, off64_t offset) { /* Since we must not change the file pointer preserve the value so that we can restore it later. */ int save_errno; ssize_t result; - off64_t old_offset = __lseek64 (fd, 0, SEEK_CUR); + off64_t old_offset = __libc_lseek64 (fd, 0, SEEK_CUR); if (old_offset == (off64_t) -1) return -1; /* Set to wanted position. */ - if (__lseek64 (fd, offset, SEEK_SET) == (off64_t) -1) + if (__libc_lseek64 (fd, offset, SEEK_SET) == (off64_t) -1) return -1; /* Write out the data. */ - result = __read (fd, buf, nbyte); + result = __libc_read (fd, buf, nbyte); /* Now we have to restore the position. If this fails we have to return this as an error. But if the writing also failed we return this error. */ save_errno = errno; - if (__lseek64 (fd, old_offset, SEEK_SET) == (off64_t) -1) + if (__libc_lseek64 (fd, old_offset, SEEK_SET) == (off64_t) -1) { if (result == -1) __set_errno (save_errno); @@ -55,6 +55,7 @@ __pread64 (int fd, void *buf, size_t nbyte, off64_t offset) return result; } -#ifndef __pread64 -weak_alias (__pread64, pread64) +#ifndef __libc_pread64 +strong_alias (__libc_pread64, __pread64) +weak_alias (__libc_pread64, pread64) #endif diff --git a/sysdeps/posix/pwrite.c b/sysdeps/posix/pwrite.c index 6558eb5c9d..35028e21c5 100644 --- a/sysdeps/posix/pwrite.c +++ b/sysdeps/posix/pwrite.c @@ -1,6 +1,6 @@ /* Write block to given position in file without changing file pointer. POSIX version. - Copyright (C) 1997, 1998 Free Software Foundation, Inc. + Copyright (C) 1997, 1998, 1999 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997. @@ -23,28 +23,28 @@ #include <unistd.h> ssize_t -__pwrite (int fd, const void *buf, size_t nbyte, off_t offset) +__libc_pwrite (int fd, const void *buf, size_t nbyte, off_t offset) { /* Since we must not change the file pointer preserve the value so that we can restore it later. */ int save_errno; ssize_t result; - off_t old_offset = __lseek (fd, 0, SEEK_CUR); + off_t old_offset = __libc_lseek (fd, 0, SEEK_CUR); if (old_offset == (off_t) -1) return -1; /* Set to wanted position. */ - if (__lseek (fd, offset, SEEK_SET) == (off_t) -1) + if (__libc_lseek (fd, offset, SEEK_SET) == (off_t) -1) return -1; /* Write out the data. */ - result = __write (fd, buf, nbyte); + result = __libc_write (fd, buf, nbyte); /* Now we have to restore the position. If this fails we have to return this as an error. But if the writing also failed we return this error. */ save_errno = errno; - if (__lseek (fd, old_offset, SEEK_SET) == (off_t) -1) + if (__libc_lseek (fd, old_offset, SEEK_SET) == (off_t) -1) { if (result == -1) __set_errno (save_errno); @@ -55,6 +55,7 @@ __pwrite (int fd, const void *buf, size_t nbyte, off_t offset) return result; } -#ifndef __pwrite -weak_alias (__pwrite, pwrite) +#ifndef __libc_pwrite +strong_alias (__libc_pwrite, __pwrite) +weak_alias (__libc_pwrite, pwrite) #endif diff --git a/sysdeps/posix/pwrite64.c b/sysdeps/posix/pwrite64.c index 89ec261b76..6cd5decdba 100644 --- a/sysdeps/posix/pwrite64.c +++ b/sysdeps/posix/pwrite64.c @@ -1,6 +1,6 @@ /* Write block to given position in file without changing file pointer. POSIX version. - Copyright (C) 1997, 1998 Free Software Foundation, Inc. + Copyright (C) 1997, 1998, 1999 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997. @@ -23,28 +23,28 @@ #include <unistd.h> ssize_t -__pwrite64 (int fd, const void *buf, size_t nbyte, off64_t offset) +__libc_pwrite64 (int fd, const void *buf, size_t nbyte, off64_t offset) { /* Since we must not change the file pointer preserve the value so that we can restore it later. */ int save_errno; ssize_t result; - off64_t old_offset = __lseek64 (fd, 0, SEEK_CUR); + off64_t old_offset = __libc_lseek64 (fd, 0, SEEK_CUR); if (old_offset == (off64_t) -1) return -1; /* Set to wanted position. */ - if (__lseek64 (fd, offset, SEEK_SET) == (off64_t) -1) + if (__libc_lseek64 (fd, offset, SEEK_SET) == (off64_t) -1) return -1; /* Write out the data. */ - result = __write (fd, buf, nbyte); + result = __libc_write (fd, buf, nbyte); /* Now we have to restore the position. If this fails we have to return this as an error. But if the writing also failed we return this error. */ save_errno = errno; - if (__lseek64 (fd, old_offset, SEEK_SET) == (off64_t) -1) + if (__libc_lseek64 (fd, old_offset, SEEK_SET) == (off64_t) -1) { if (result == -1) __set_errno (save_errno); @@ -54,6 +54,7 @@ __pwrite64 (int fd, const void *buf, size_t nbyte, off64_t offset) return result; } -#ifndef __pwrite64 -weak_alias (__pwrite64, pwrite64) +#ifndef __libc_pwrite64 +strong_alias (__libc_pwrite64, __pwrite64) +weak_alias (__libc_pwrite64, pwrite64) #endif |