瀏覽代碼

pread/pwrite: drop fallback funcs

Linux has provided these functions since the 2.1.x era, so no need to
keep these around.  We'd rather find out when things are missing (and
fix that) than fall back to the unsafe hacks.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Mike Frysinger 12 年之前
父節點
當前提交
80c9bfc466
共有 3 個文件被更改,包括 0 次插入341 次删除
  1. 0 112
      libc/sysdeps/linux/common/pread_write.c
  2. 0 117
      libc/sysdeps/linux/powerpc/pread_write.c
  3. 0 112
      libc/sysdeps/linux/xtensa/pread_write.c

+ 0 - 112
libc/sysdeps/linux/common/pread_write.c

@@ -83,115 +83,3 @@ ssize_t __libc_pwrite64(int fd, const void *buf, size_t count, off64_t offset)
 weak_alias(__libc_pwrite64,pwrite64)
 # endif /* __UCLIBC_HAS_LFS__  */
 #endif /* __NR_pwrite */
-
-#if ! defined __NR_pread || ! defined __NR_pwrite
-
-static ssize_t __fake_pread_write(int fd, void *buf,
-		size_t count, off_t offset, int do_pwrite)
-{
-	int save_errno;
-	ssize_t result;
-	off_t old_offset;
-
-	/* Since we must not change the file pointer preserve the
-	 * value so that we can restore it later.  */
-	if ((old_offset=lseek(fd, 0, SEEK_CUR)) == (off_t) -1)
-		return -1;
-
-	/* Set to wanted position.  */
-	if (lseek(fd, offset, SEEK_SET) == (off_t) -1)
-		return -1;
-
-	if (do_pwrite == 1) {
-		/* Write the data.  */
-		result = write(fd, buf, count);
-	} else {
-		/* Read the data.  */
-		result = read(fd, buf, count);
-	}
-
-	/* Now we have to restore the position.  If this fails we
-	 * have to return this as an error.  */
-	save_errno = errno;
-	if (lseek(fd, old_offset, SEEK_SET) == (off_t) -1)
-	{
-		if (result == -1)
-			__set_errno(save_errno);
-		return -1;
-	}
-	__set_errno(save_errno);
-	return(result);
-}
-
-# ifdef __UCLIBC_HAS_LFS__
-
-static ssize_t __fake_pread_write64(int fd, void *buf,
-		size_t count, off64_t offset, int do_pwrite)
-{
-	int save_errno;
-	ssize_t result;
-	off64_t old_offset;
-
-	/* Since we must not change the file pointer preserve the
-	 * value so that we can restore it later.  */
-	if ((old_offset=lseek64(fd, 0, SEEK_CUR)) == (off64_t) -1)
-		return -1;
-
-	/* Set to wanted position.  */
-	if (lseek64(fd, offset, SEEK_SET) == (off64_t) -1)
-		return -1;
-
-	if (do_pwrite == 1) {
-		/* Write the data.  */
-		result = write(fd, buf, count);
-	} else {
-		/* Read the data.  */
-		result = read(fd, buf, count);
-	}
-
-	/* Now we have to restore the position. */
-	save_errno = errno;
-	if (lseek64(fd, old_offset, SEEK_SET) == (off64_t) -1) {
-		if (result == -1)
-			__set_errno (save_errno);
-		return -1;
-	}
-	__set_errno (save_errno);
-	return result;
-}
-# endif /* __UCLIBC_HAS_LFS__  */
-#endif /*  ! defined __NR_pread || ! defined __NR_pwrite */
-
-#ifndef __NR_pread
-ssize_t __libc_pread(int fd, void *buf, size_t count, off_t offset)
-{
-	return __fake_pread_write(fd, buf, count, offset, 0);
-}
-weak_alias(__libc_pread,pread)
-
-# ifdef __UCLIBC_HAS_LFS__
-ssize_t __libc_pread64(int fd, void *buf, size_t count, off64_t offset)
-{
-	return __fake_pread_write64(fd, buf, count, offset, 0);
-}
-weak_alias(__libc_pread64,pread64)
-# endif /* __UCLIBC_HAS_LFS__  */
-#endif /* ! __NR_pread */
-
-#ifndef __NR_pwrite
-ssize_t __libc_pwrite(int fd, const void *buf, size_t count, off_t offset)
-{
-	/* we won't actually be modifying the buffer,
-	 *just cast it to get rid of warnings */
-	return __fake_pread_write(fd, (void*)buf, count, offset, 1);
-}
-weak_alias(__libc_pwrite,pwrite)
-
-# ifdef __UCLIBC_HAS_LFS__
-ssize_t __libc_pwrite64(int fd, const void *buf, size_t count, off64_t offset)
-{
-	return __fake_pread_write64(fd, (void*)buf, count, offset, 1);
-}
-weak_alias(__libc_pwrite64,pwrite64)
-# endif /* __UCLIBC_HAS_LFS__  */
-#endif /* ! __NR_pwrite */

+ 0 - 117
libc/sysdeps/linux/powerpc/pread_write.c

@@ -77,120 +77,3 @@ ssize_t __libc_pwrite64(int fd, const void *buf, size_t count, off64_t offset)
 weak_alias(__libc_pwrite64,pwrite64)
 # endif /* __UCLIBC_HAS_LFS__  */
 #endif /* __NR_pwrite */
-
-
-
-#if ! defined __NR_pread || ! defined __NR_pwrite
-
-static ssize_t __fake_pread_write(int fd, void *buf,
-		size_t count, off_t offset, int do_pwrite)
-{
-	int save_errno;
-	ssize_t result;
-	off_t old_offset;
-
-	/* Since we must not change the file pointer preserve the
-	 * value so that we can restore it later.  */
-	if ((old_offset=lseek(fd, 0, SEEK_CUR)) == (off_t) -1)
-		return -1;
-
-	/* Set to wanted position.  */
-	if (lseek (fd, offset, SEEK_SET) == (off_t) -1)
-		return -1;
-
-	if (do_pwrite == 1) {
-		/* Write the data.  */
-		result = write(fd, buf, count);
-	} else {
-		/* Read the data.  */
-		result = read(fd, buf, count);
-	}
-
-	/* Now we have to restore the position.  If this fails we
-	 * have to return this as an error.  */
-	save_errno = errno;
-	if (lseek(fd, old_offset, SEEK_SET) == (off_t) -1)
-	{
-		if (result == -1)
-			__set_errno(save_errno);
-		return -1;
-	}
-	__set_errno(save_errno);
-	return(result);
-}
-
-# ifdef __UCLIBC_HAS_LFS__
-
-static ssize_t __fake_pread_write64(int fd, void *buf,
-		size_t count, off64_t offset, int do_pwrite)
-{
-	int save_errno;
-	ssize_t result;
-	off64_t old_offset;
-
-	/* Since we must not change the file pointer preserve the
-	 * value so that we can restore it later.  */
-	if ((old_offset=lseek64(fd, 0, SEEK_CUR)) == (off64_t) -1)
-		return -1;
-
-	/* Set to wanted position.  */
-	if (lseek64(fd, offset, SEEK_SET) == (off64_t) -1)
-		return -1;
-
-	if (do_pwrite == 1) {
-		/* Write the data.  */
-		result = write(fd, buf, count);
-	} else {
-		/* Read the data.  */
-		result = read(fd, buf, count);
-	}
-
-	/* Now we have to restore the position. */
-	save_errno = errno;
-	if (lseek64 (fd, old_offset, SEEK_SET) == (off64_t) -1) {
-		if (result == -1)
-			__set_errno (save_errno);
-		return -1;
-	}
-	__set_errno (save_errno);
-	return result;
-}
-# endif /* __UCLIBC_HAS_LFS__  */
-#endif /*  ! defined __NR_pread || ! defined __NR_pwrite */
-
-#ifndef __NR_pread
-ssize_t __libc_pread(int fd, void *buf, size_t count, off_t offset);
-ssize_t __libc_pread(int fd, void *buf, size_t count, off_t offset)
-{
-	return(__fake_pread_write(fd, buf, count, offset, 0));
-}
-weak_alias(__libc_pread,pread)
-
-# ifdef __UCLIBC_HAS_LFS__
-ssize_t __libc_pread64(int fd, void *buf, size_t count, off64_t offset);
-ssize_t __libc_pread64(int fd, void *buf, size_t count, off64_t offset)
-{
-	return(__fake_pread_write64(fd, buf, count, offset, 0));
-}
-weak_alias(__libc_pread64,pread64)
-# endif /* __UCLIBC_HAS_LFS__  */
-#endif /* ! __NR_pread */
-
-
-#ifndef __NR_pwrite
-ssize_t __libc_pwrite(int fd, const void *buf, size_t count, off_t offset);
-ssize_t __libc_pwrite(int fd, const void *buf, size_t count, off_t offset)
-{
-	return(__fake_pread_write(fd, (void*)buf, count, offset, 1));
-}
-weak_alias(__libc_pwrite,pwrite)
-
-# ifdef __UCLIBC_HAS_LFS__
-ssize_t __libc_pwrite64(int fd, const void *buf, size_t count, off64_t offset);
-ssize_t __libc_pwrite64(int fd, const void *buf, size_t count, off64_t offset)
-{
-	return(__fake_pread_write64(fd, (void*)buf, count, offset, 1));
-}
-weak_alias(__libc_pwrite64,pwrite64)
-# endif /* __UCLIBC_HAS_LFS__  */
-#endif /* ! __NR_pwrite */

+ 0 - 112
libc/sysdeps/linux/xtensa/pread_write.c

@@ -89,115 +89,3 @@ ssize_t __libc_pwrite64(int fd, const void *buf, size_t count, off64_t offset)
 weak_alias(__libc_pwrite64,pwrite64)
 # endif /* __UCLIBC_HAS_LFS__  */
 #endif /* __NR_pwrite */
-
-#if ! defined __NR_pread || ! defined __NR_pwrite
-
-static ssize_t __fake_pread_write(int fd, void *buf,
-		size_t count, off_t offset, int do_pwrite)
-{
-	int save_errno;
-	ssize_t result;
-	off_t old_offset;
-
-	/* Since we must not change the file pointer preserve the
-	 * value so that we can restore it later.  */
-	if ((old_offset=lseek(fd, 0, SEEK_CUR)) == (off_t) -1)
-		return -1;
-
-	/* Set to wanted position.  */
-	if (lseek(fd, offset, SEEK_SET) == (off_t) -1)
-		return -1;
-
-	if (do_pwrite == 1) {
-		/* Write the data.  */
-		result = write(fd, buf, count);
-	} else {
-		/* Read the data.  */
-		result = read(fd, buf, count);
-	}
-
-	/* Now we have to restore the position.  If this fails we
-	 * have to return this as an error.  */
-	save_errno = errno;
-	if (lseek(fd, old_offset, SEEK_SET) == (off_t) -1)
-	{
-		if (result == -1)
-			__set_errno(save_errno);
-		return -1;
-	}
-	__set_errno(save_errno);
-	return(result);
-}
-
-# ifdef __UCLIBC_HAS_LFS__
-
-static ssize_t __fake_pread_write64(int fd, void *buf,
-		size_t count, off64_t offset, int do_pwrite)
-{
-	int save_errno;
-	ssize_t result;
-	off64_t old_offset;
-
-	/* Since we must not change the file pointer preserve the
-	 * value so that we can restore it later.  */
-	if ((old_offset=lseek64(fd, 0, SEEK_CUR)) == (off64_t) -1)
-		return -1;
-
-	/* Set to wanted position.  */
-	if (lseek64(fd, offset, SEEK_SET) == (off64_t) -1)
-		return -1;
-
-	if (do_pwrite == 1) {
-		/* Write the data.  */
-		result = write(fd, buf, count);
-	} else {
-		/* Read the data.  */
-		result = read(fd, buf, count);
-	}
-
-	/* Now we have to restore the position. */
-	save_errno = errno;
-	if (lseek64(fd, old_offset, SEEK_SET) == (off64_t) -1) {
-		if (result == -1)
-			__set_errno (save_errno);
-		return -1;
-	}
-	__set_errno (save_errno);
-	return result;
-}
-# endif /* __UCLIBC_HAS_LFS__  */
-#endif /*  ! defined __NR_pread || ! defined __NR_pwrite */
-
-#ifndef __NR_pread
-ssize_t __libc_pread(int fd, void *buf, size_t count, off_t offset)
-{
-	return __fake_pread_write(fd, buf, count, offset, 0);
-}
-weak_alias(__libc_pread,pread)
-
-# ifdef __UCLIBC_HAS_LFS__
-ssize_t __libc_pread64(int fd, void *buf, size_t count, off64_t offset)
-{
-	return __fake_pread_write64(fd, buf, count, offset, 0);
-}
-weak_alias(__libc_pread64,pread64)
-# endif /* __UCLIBC_HAS_LFS__  */
-#endif /* ! __NR_pread */
-
-#ifndef __NR_pwrite
-ssize_t __libc_pwrite(int fd, const void *buf, size_t count, off_t offset)
-{
-	/* we won't actually be modifying the buffer,
-	 *just cast it to get rid of warnings */
-	return __fake_pread_write(fd, (void*)buf, count, offset, 1);
-}
-weak_alias(__libc_pwrite,pwrite)
-
-# ifdef __UCLIBC_HAS_LFS__
-ssize_t __libc_pwrite64(int fd, const void *buf, size_t count, off64_t offset)
-{
-	return __fake_pread_write64(fd, (void*)buf, count, offset, 1);
-}
-weak_alias(__libc_pwrite64,pwrite64)
-# endif /* __UCLIBC_HAS_LFS__  */
-#endif /* ! __NR_pwrite */