summaryrefslogtreecommitdiff
path: root/sysdeps/mach/hurd/dl-sysdep.c
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/mach/hurd/dl-sysdep.c')
-rw-r--r--sysdeps/mach/hurd/dl-sysdep.c14
1 files changed, 11 insertions, 3 deletions
diff --git a/sysdeps/mach/hurd/dl-sysdep.c b/sysdeps/mach/hurd/dl-sysdep.c
index 219475aa7d..719d603f44 100644
--- a/sysdeps/mach/hurd/dl-sysdep.c
+++ b/sysdeps/mach/hurd/dl-sysdep.c
@@ -357,9 +357,9 @@ __close (int fd)
return 0;
}
-check_no_hidden(__read);
+check_no_hidden(__pread64);
__ssize_t weak_function
-__read (int fd, void *buf, size_t nbytes)
+__pread64 (int fd, void *buf, size_t nbytes, off64_t offset)
{
error_t err;
char *data;
@@ -367,7 +367,7 @@ __read (int fd, void *buf, size_t nbytes)
data = buf;
nread = nbytes;
- err = __io_read ((mach_port_t) fd, &data, &nread, -1, nbytes);
+ err = __io_read ((mach_port_t) fd, &data, &nread, offset, nbytes);
if (err)
return __hurd_fail (err);
@@ -379,6 +379,14 @@ __read (int fd, void *buf, size_t nbytes)
return nread;
}
+libc_hidden_weak (__pread64)
+
+check_no_hidden(__read);
+__ssize_t weak_function
+__read (int fd, void *buf, size_t nbytes)
+{
+ return __pread64 (fd, buf, nbytes, -1);
+}
libc_hidden_weak (__read)
check_no_hidden(__write);